My Biggest Fear In My Software Engineering Career – Dev Leader Weekly 59

My Biggest Fear In My Software Engineering Career – Dev Leader Weekly 59

TL; DR:


Course Announcement: Reflection in .NET

Click here to get this course!

I am very happy to announce my latest Dometrain course: From Zero to Hero – Reflection in .NET! This is one of the language features I use heavily in C#, especially when building plugin-based applications. I’ve spent many years using reflection — and yes, I’ve even had situations in REAL professional code where I’ve had to do some scary reflection stuff.

Reflection is incredibly powerful — but we all know that with great power comes great responsibility. My goal with this course is to help you navigate all of the awesome things reflection can do and provide an understanding of the drawbacks as well.

BUT IT DOESN’T STOP THERE!

Until the end of September, you can use code?BTS30?at checkout to get 30% off any?course, code?BTS20?to get 20% off annual?Dometrain Pro, and code?BTS15?to get 15% off any of the already discounted?bundles! If you wanted to dive into learning C#, this would be a great opportunity to pick up my course bundle at a discount! NOTE Double-check that the promo code is applied in your cart (manually add it otherwise).


Exclusive Article: My Biggest Fear In My Software Engineering Career

No, It’s Not Spiders

I’ll be honest: I absolutely hate spiders. I’m terrified of them. But fortunately for me, there aren’t many spiders that show up in software engineering.

No, my biggest fear is around complacency.

I don’t say this because I’m pretending to be some uber-over-achiever-elite-productivity person — It’s my biggest fear for two reasons:

  • It’s one of the biggest barriers to rapid growth
  • It can sneak up on you slowly over time

I don’t like things sneaking up on me — remember? Spiders. No thanks.

In this article I’ll share how being forced out of my comfort zone has led to the most growth in my career. And yes, that meant losing the “expert” title and accepting that it’s time to be a newbie all over again.

Forced To Be A Newbie

In the vlog that I posted this morning, I discussed a very recent example of this OUTSIDE of software engineering. I’ve been going to the gym consistently working towards training for powerlifting and competitive bodybuilding for 21 years now — just as long as I’ve been writing code. But recently I forced myself back into complete newbie territory by joining my wife’s Crossfit gym:

The first workout was only 30 minutes long. I nearly blacked out after 3 minutes. THREE MINUTES.

But I’m not worried — I know I have some huge areas for improvement, but I’ve seen these all before in my lifting:

  • My cardio is absolutely terrible, but I’ve worked towards great cardio before
  • My flexibility is horrible, but I’ve had periods of great mobility before
  • My technique is lacking, but I’ve worked towards mastering other movements before

But this isn’t a CrossFit post, this is about software engineering and career growth — and the point that I want to make is that I have had TONS of experiences where I’ve found myself right back at square one as a newbie.

They’ve been some of the best growth opportunities that I’ve ever had:

  • I joined a digital forensics company after graduating. This was a domain I knew NOTHING about. I would start my journey there as a complete newbie in the field of forensics.
  • After working for a few months, my role changed to include management. I was comfortable writing code, but I was completely new to the concept of managing people.
  • I built experience in computer forensics for a few years, but there was an opportunity to do mobile forensics that I jumped/fell into — and this was yet another start-from-zero situation. I ended up leading a very successful team in this space later.
  • When I joined Microsoft, I managed a portion of the M365 Deployment team — but I had zero experience working in deployment and with data centers. A complete newbie all over again.
  • Most recently, I switched to the routing plane team in M365, and guess what? Back to being a total beginner.

There have been many other situations where this has happened, but every single time it turns into something incredible for me in my career.

Starting As A Beginner

With story time out of the way, I want to talk about what this all means more practically. We all know that as we’re trying to gain experience, work towards promotions, and become more successful in our careers that we’re expected to build expertise. This remains true with all of this “be a newbie” talk.

When you have one of these experiences where you’re positioned to be a novice all over again, you don’t lose any of your expertise. Your expertise and experiences are things that you can lean on to help accelerate some of your learning. If you tap into them, they should also help remind you that you HAVE been successful, because things like imposter syndrome will start to show their face again.

ACTION: Remind yourself that you don’t LOSE your experience and technical skills. You can leverage them in different ways.

It’s important that when we go through phases like this that we remain open to new ideas. So yes, it’s great that you can still lean on past experiences, but we want to take advantage of being a novice in a new space. This will help us with:

  • Adopting new perspectives
  • Asking questions to gain a deeper understanding
  • Build a level of comfort accepting that you don’t need to be the expert

ACTION: Lean into the fact that you’re SUPPOSED to be a novice in this new domain. Be curious.

If this all sounds kind of scary still, there’s a paradigm that many people have taken on called Growth Mindset. Having a Growth Mindset is the belief that we can improve our abilities through learning, effort, and persisting. That lines up pretty well with what’s being discussed here, right? You’re tossed into something new and challenging that is outside of your comfort zone but if you:

  • Try learning more about it
  • Put in the effort to go deeper and understand
  • Persist through the discomfort as you go through the process

… then you’ll come out on the other side of it feeling like you’re an expert eventually.

ACTION: Take on a Growth Mindset. Put the effort into learn and persist through the discomfort.

Take Action!

So this all sounds great — aside from the total discomfort — right?

I get it. To this day, I have a hard time convincing myself about this stuff. A lot of the opportunities I’ve had almost felt like a forcing function and I just stuck it out.

But we can be proactive here. We can try to seek out opportunities! This can start off as simple and as small as work within your team. For example, if your team builds fullstack but you keep finding that you gravitate towards the frontend, or maybe it’s the database because you love writing SQL queries (who doesn’t, amirite?!) — let’s switch it up.

Speak up to your manager, product owner, or whoever is helping prioritize work to see if you can try taking on some of the areas you’re NOT comfortable with. I can tell you confidently as an engineering manager that I am always trying to keep my eyes open for opportunities like this. I need to make sure people feel like they are learning and challenged — so it’s NOT always about just siloing people into the thing they’re 100% amazing at. It falls on me to balance these things properly with priorities and the criticality of deliverables.

ACTION: Start as small as taking on work items outside of your comfort zone

Now these things don’t have to be directly inside your team with work items. If you’re more comfortable, perhaps a more senior software engineer, you could start to look for opportunities like this outside of your immediate team. Maybe there’s an opportunity to improve systems or processes between your teams and some others — but that hasn’t been your job. You’re not the expert there but you know it could be better.

Maybe it’s time you make it your job. Come up with a proposal to your manager about why you think this is a valuable problem to solve — a worthwhile investment for your time. Let them know you’re going outside of your comfort zone to set the expectations and see if they have any additional support they can offer to you. They might not feel it’s a good time or a priority — which should be respected if there are other business priorities that deserve more attention — but this can be a great way to show initiative, be proactive, AND get uncomfortable.

ACTION: Take initiative to start a cross-team / functional-area proposal to drive improvements.

For those of you who feel like you’ve been stuck in one spot for a long time without growth — maybe it’s time to put the newbie hat on again. Maybe it’s time to explore a different project, product/service, or team altogether. It can be a scary thought, without a doubt, but I always try to remind myself:

What’s scarier? Taking the chance at something new and it’s challenging? Or staying put without growth for more years to come?


Weekly Recap

Core Values and Dealing With Clients – Interview With Emily Jowers

It’s all about delivering value to the customer. But do they even know what they want?!

I was fortunate to sit down and chat with Emily Jowers where we talked about her career journey up to staff software engineer.

We chatted through her core values that she aims to embody and promote in software engineering teams — and life in general. We also got a glimpse of how to navigate user requirements between groups of users that are hands-on and hands-off!

Thanks for the great discussion, Emily!

4 Years In Big Tech After Startups – Principal Software Engineering Manager AMA

I had 6 internships — nearly every single one of them at startups.

After that, I spent 8 years at a company as one of the first engineers.

I helped it:

  • Grow to hundreds of employees
  • Offer multiple products and services
  • Eventually (after my departure) go public
  • Eventually (also after my departure) be acquired for $2 billion

Moving to work at Microsoft was one of the biggest shifts of my life.

It turns out, things are different in Big Tech — so let’s see how!

In this stream, I focused on:

  • My newsletter focused on building a web API in ASP NET Core
  • Jumping into articles/posts from LinkedIn & Reddit
  • Answering YOUR questions

Performance Battle – LINQ Chunk vs MoreLINQ Batch!

You asked for it — I delivered.

What’s the big difference between MoreLINQ’s Batch method and LINQ’s Chunk method?

On the surface: Absolutely nothing.

But can we go… deeper? What will we find when we compare benchmarks for both of these things?

You might be surprised! Now I am not suggesting you use one or the other necessarily, but I’d like to show you the tools for you to be able to decide for yourself.

AI Will Replace Developers… Or Will It? – Interview With Amichai Mantinband

You know it’s right when it fits like a glove.

At least that’s the case for Amichai Mantinband when he stumbled upon computer science! He knew right away that he had found the right career path.

I had a great discussion with Amichai, and we even went into the weeds on AI taking all of our software engineering jobs!

… Well, not quite.

But you’ll enjoy our discussion about the impact of AI on software engineering. That’s for sure!

Huge thanks to Amichai for the interview — Looking forward to further discussions in the future!


As always, thanks so much for your support! I hope you enjoyed this issue, and I’ll see you next week.

Nick “Dev Leader” Cosentino

[email protected]

Socials:

Blog

Dev Leader YouTube

Follow on LinkedIn

Dev Leader Instagram



Nick Cosentino

Principal Software Engineering Manager at Microsoft

3 周

My new course has just launched! Huge discounts on this one and more inside today's issue ??

  • 该图片无替代文字

要查看或添加评论,请登录

社区洞察

其他会员也浏览了