Leveling up as an early-career engineer
Tags: career, beginners, webdev, learning
Published: 2023-12-02 22:14:24

Over a year ago, I started my current position as a security engineer. The transition was a rough one: while I did have experience, this is my first engineering position and I felt out of my depth most of the time. Even though I've been working on my technical skills, I still had to learn something completely new every single day. I also realized that understanding security vulnerabilities and churning out code are the easiest parts of the job.

Recently during a talk about becoming a better engineer, I was referred to a book called "The Staff Engineer's Path". Although the book focuses on the skills one needs to become a technical leader, as an early career engineer, I found it quite helpful in pointing me to the soft skills that I should develop, and what I should learn from other engineers on my team. 

## Key idea 1: Seeing the bigger picture

As an engineer - it's easy to get excited about the technical parts of a project and neglect the bigger picture goals. Especially for security projects, where success metrics are harder to define, and correctly framing and aligning a project to make a positive impact is rather difficult. 

Now that I am gaining more experience, I regret how I approached some of my previous projects. Had I understood how different parts of an organization fit together, I probably would have made different tradeoffs and different technical decisions. Hindsight's 20–20 though, and I hope that I will be able to contribute better to planning and architectural discussions. So gaining the perspective needed to accurately assess business and organizational needs is a big focus for me at the moment. 

## Key idea 2: Mentoring

Mentoring in a technical position is quite a different skill set from being a good engineer alone. But technical depth is still a prerequisite to model consistent high-quality technical standards - writing clean, efficient code and designing scalable solutions, ensuring proper testing, and keeping good documentation.

Having been on the receiving end of high-quality mentorship, I know being a mentor is very hard. There are more bad ways than good ones to communicate a critique or ideas for improvement, and the tricky balance can mean the difference between a collaborative team and a toxic one. 

It's also tricky to determine the best way to lead someone through the right learning process and strategically grow someone's skills. That's why I always feel extremely underqualified when someone asks me to be their mentor - I barely know anything myself! But mentoring seems like a fun and rewarding skill to learn. 

## Key idea 3: Project management + Communication

Finally, I think the most difficult part of leading a project is project management. Choosing the right project to pursue at the right time for the organization, and showcasing the impact of that project to influence further investment might be the most important yet difficult task an engineer does. 

Smaller responsibilities that support a project, like creating documentation and negotiating reasonable milestones are no small feats. Finally, taking ownership of projects, identifying and resolving problems and issues, and changing the direction of the project to suit changing needs also takes experience and social capital.

I am at a stage of my career where I feel like soft skills are becoming much more important than technical ones. They are also much more difficult to learn and improve on. To all the mentors and technical leaders out there, you're amazing! 

---

Want to connect? What other security concepts do you want to learn about? I'd love to know. Feel free to connect on Twitter @vickieli7.