Stretching yourself as a new engineer
So, I don’t mean this to sound cringey, because it sounds cringey in my head, but I think stretching yourself and setting stretch goals in your tech career is so important. When I first started out as a software engineer my aim was to say yes to everything.
- “Tara you’ll need to learn Angular” — cool
- “Tara can you fix this bug?” — I’ll give it a go
- “Build a pattern library” — erm sure?
- “Tara can you present the project to our stakeholders” — wait, what?!
I’d like to say I stretched myself within reason, but I didn’t, I had no social life (not that I could afford one) and regularly took work home with me so I could learn more and get more done (that wasn’t healthy and I do not recommend giving your employers your free labour 👀).
When you stretch yourself and work outside of your comfort zone, you lay the groundwork for future returns. That’s essentially how things have worked for me so far. In this industry that is constantly evolving, it is impossible to get to the point where you know everything. I feel uncomfortable when I come across things I don’t know, and when I feel uncomfortable I stop talking.
My biggest challenge in my career has been my ability to communicate well. If you know me you know that I speak quietly and rarely. I naturally speak when I feel like I have something “correct” or important to say. At school I didn’t speak at all 🙈. Every parents evening, my teacher would tell my parents how shy and quiet I was and that I needed to “speak up”. I still haven’t been able to get rid of that feedback 🙃.
I’ve personally worked on it by stretching myself in a bunch of different ways which has helped me immensely. Looking back, there were some key things I did along the way.
Figure out your limits
There is such a thing as stretching too far. Sure, you want to develop your skills, but not at the expense of feeling stressed, exhausted and burned out.
This diagram visualises it well, the smallest zone is the comfort zone. When you’re in the comfort zone you feel relaxed and safe, sometimes even a bit bored. When you come out into the stretch zone though, you start to feel challenged in a way that helps you develop. It’s exciting, but can also have you feeling vulnerable and nervous! This is the sweet spot for learning new things or taking new approaches. To people smarter than I am, this is also known as the zone of proximal development.
Outside of the stretch zone is the panic zone. If you find yourself in the panic zone, you’ve gone a step too far. Work here is too difficult and you get stressed out. This is where learning stops happening. Sometimes, all you need to do is imagine yourself doing the activity, and it’s enough to trigger a response in your body which freaks you out. Listen to your body, it knows what’s best.
Things don’t stay in the same zone forever. As you grow and develop, your comfort zone grows and things that were in your panic zone move into your stretch zone.
Set your goals
Now you know where the sweet spot is for the level of goal you should set, it’s time to start setting them. If you’ve already got goals in mind or things you want to achieve, then there isn’t much work to do here, I already knew I wanted to improve my communication. I also wanted to practice speaking and get better at inputting into conversations. On top of this, I also had a whole heap of other things I wanted to work on but there is only so much I can focus on at once!
If you’re not so sure though take a look at some career development frameworks. Ideally one from the company you work in, but if they don’t have one, there are other companies that share theirs publicly. I did a simple search and found ones by Spotify, Medium and GitLab. Scan through the kind of things they want from their employees and see if there are things you want to get better at or things that will make you more valuable at your company. Remember to set them within your stretch zone!
Share your goals!
This is the most important step if you ask me. There is something about being accountable to someone that makes me get stuff done. I tend to share my goals with my line manager, in the hope that they’ll be able to help me find useful opportunities to achieve them. If you don’t think your line manager is the best person to share them with you could share them with anyone else — friends, family or even Twitter 👀.
When I was on my graduate scheme I worked with my line manager to set objectives for my goals around communication, he suggested I present something I had recently learned at an all-hands meeting. In this case I’d just learned about ES2015 updates, so I gave a very reluctant and awkward talk about the updates that I liked the sound of vs. the ones I couldn’t get my head around. It was reeeally out of my comfort zone, but a good first step into improving my speaking skills.
He also encouraged me to consider giving an external talk, but I really didn’t think I had anything worth sharing. He taught me that we really don’t hear much from junior engineers, but they have a very unique perspective that people should be reminded of. After a year or so of thinking about it and hyping myself up I eventually did it 🙈 and my Junior.next() talk was born which went down well at a bunch of events 💃🏾
Whether your goal is around getting better at coding, teaching or communication. Set your stretch goals, share them with as many people as possible and achieve them! 🎉
I gave a talk called Junior.next() at a few different events. This is a written version of a section in that talk. Over the upcoming weeks I also plan to write about all the other parts too :)