I decided to share a bit about my engineering experience so far, touching on both sides of the coin — the good and the bad! Many have asked about this, so thought I would share a bit here!
In two days, I’ll hit the two-month mark as a Software Engineer at Stable, so I wanted to reflect on this time and share some thoughts.
Summarizing: It's been hard but super rewarding and energizing!
And the reason for the hard part is that it's totally a new thing for me — imagine you were accomplishing tasks from minutes in support, by answering customers, to now, accomplishing tasks in days. This is a mindset change that takes time and can be frustrating at the beginning.
On top of the mindset change above, here are a few things that I'm still struggling with:
- Not being able to understand everything in the codebase — not just the business logic, but the technical details.
- Not being able to break down complex problems into smaller tasks.
- Not always knowing the best strategy to do something — like how to write the most performant code.
- Not writing as clean code as I’d like.
There are more, but those are the main ones. Yes, it’s a lot, but I can say I’m doing better if we compare with myself from a month ago, thanks to my mentors and team!
Ok, but what am I doing to overcome these challenges?
- Asking questions to my mentors
- Pair programming (I need to do more of this)
- Taking courses and working on side projects
- Picking up tasks that challenge me
- Planning before doing (need to do more of this!)
- Staying curious and understanding why things are done a certain way
- Leaving the code better than I found it (or at least trying to)
- Asking all the engineers how I can improve and applying their advice to my day-to-day
And many more!
I wish I could improve faster, but as my colleague always says: things take time! If anyone reading this has advice, send it my way... always happy to chat!
Some of you might be asking: "Hey, don't you have any structure in place for junior engineers to make this process easier and less stressfull?" The answer is no — we don’t have any formal structure for junior engineers currently, but that's definitely something on our list of to-dos!
Going forward, what excites me?
- Learning from incredibly talented people
- Contributing to different projects, whether technical, non-technical, infra, front-end, back-end, etc.
- Breaking complex ideas into smaller subproblems more easily
- Teaching and helping other junior engineers
- Bringing my support experience into the engineering world
- Using this knowledge for something even greater in the future