DEV Community

Cover image for Bad engineers learn new skills - great engineers improve their mindset
Juraj Malenica
Juraj Malenica

Posted on

Bad engineers learn new skills - great engineers improve their mindset

In my career, I’ve gone through many challenges:

  • Starting off, I struggled with writing functional and stable code,
  • Later, I had problems following more complex conversations about architecture styles, scaling, automation, etc.,
  • After that, I had a hard time communicating with some team members that weren’t like me, and whom I didn’t quite understand,
  • And now, I find it hard to be a continuous source of inspiration to my team, to help them tackle new challenges in the right mindset.

Through my personal career growth and that of my peers and mentees, I learned that growing professionally is always a hard challenge to face. Time and again, we go through a similar skill acquisition cycle, and understanding this process can help make the journey more enjoyable and less chaotic.

I would separate the process of learning new skills into 3 phases:

  1. Adjustment phase — when starting in a new position, we obviously lack the experience and familiarity with best practices. That’s why we begin by learning rules that guide us,
  2. Intuition-building phase — as we learn by doing, acting on rules is replaced with acting on intuition. Be careful not to confuse intuition with overconfidence, though,
  3. Stagnation phase — once we’ve mastered our new responsibilities, do we push onward or move on to something new?

3 phases of learning

In what follows, we’ll go through each phase, why it happens, and how to get the best out of it.

Adopting the Growth Mindset

We can describe the neurological process of learning like carving a new path in our brains. Neural pathways in the brain become more efficient with use, making them easier to access. But it takes a lot of effort to carve those new paths: in order to grow, we need to push ourselves outside our comfort zone, beyond our capabilities.

When faced with such efforts, it is very helpful to adopt a growth mindset. This mindset helps us see our capabilities as expandable, and our failures as learning opportunities that empower growth. By doing so, we can look positively at all the hard work that is required in order to master something new.

No matter which phase of life we’re in, growing is always painful. But if we fuel it with the right mindset and keep pushing forward, things are bound to get easier over time.

#1 Adjustment phase

Adjustment phase

One of the hardest challenges I’ve faced so far — transitioning to engineering management — shook my perception of software engineering.

I always loved solving hard engineering challenges, and have tied much of my sense of professional self-worth to it. Transitioning to engineering management meant I would focus big chunks of my time on new types of problems. Although I had led teams before and mentored other engineers, making that my full-time job together with project and resource management, meant I would have less (if any) time for my original passion.

My key performance indicators (KPIs) needed to change. I used to evaluate myself based on my own contributions, but now I had to do it through my team. Is the team functional? Are the engineers happy? It was difficult to make that shift, and I struggled for months. I became frustrated and started to doubt myself — I suffered from a severe case of impostor syndrome.

It took multiple cycles in my career progression to finally recognize how this is just a phase, that the struggle is normal, and I was going to get through it.

Understand that impostor syndrome is a natural occurrence when taking on new responsibilities, whether we’re just starting at our first job, or shifting to a new position. All we need to do is keep pushing, let the new neural pathways start to form, and things will start going our way.

#2 Intuition-building phase

At some point, we stop feeling as stuck, and things aren’t as hard. There will be challenges and some failures, but for many, this is the sweet spot — the dynamic that feels most empowering. But this is also a phase in which we might fall prey to overconfidence — where we overestimate our skills due to lack of expertise, as shown in the image below.

Source: Dunning-Kruger Effect

To raise our level of expertise, we must build an intuition about the best ways to solve our new challenges. We start off by learning rules given to us by mentors, colleagues, and other people with relevant experience. But things are rarely straight-forward, and those rules can’t cover all situations. Only by experimenting and collecting timely feedback can we train our brains to intuit solutions beyond given rules.

When I started mentoring engineers and holding one-on-one meetings, I did a deep dive into the best practices: what questions to ask, how often to have them, for how long, etc. It was a great start that gave me solid foundations on which I could continue building my intuition.

After many sessions, I learned to adapt to each individual’s needs. For example, some engineers would be very open about sharing what’s on their mind, while others were more reluctant to do so, and needed more encouragement from my side. But it took me a while to build up intuition on recognizing if an engineer was not sharing something they struggled with, why they might be doing so, and how to approach it best.

I’ve been wrong plenty of times. But by proactively looking for ways to improve, I kept the confidence of my mentees because they could see I was taking their feedback seriously.

Don’t fall into the trap of overconfidence, keep pushing and looking for feedback. At times it feels like we’re on top of the world, and at times everything is hard. Forming your intuition on what works best takes time and some hustling, so don’t skip any steps.

#3 Stagnation phase

How do we know we’re past the overconfidence phase and are actual experts? This usually happens when things aren’t as difficult anymore. They can be challenging because of the amount of work, but the work itself becomes relatively straight-forward. We’ve now seen things enough times that nothing can really surprise us, and we can rely on our intuition. We’ve reached our peak!

At this point, a hard decision is in front of every engineer — do we stay in this position, where things aren’t as challenging, bringing the benefit of reduced mental load and lower stress, while providing a high-quality output — or, do we take a fresh challenge by taking on new responsibilities, inside the current company or somewhere else, being bad at something once again?

One of the bigger questions for me as a senior engineer was — do I go into engineering management career track, or into individual contributor track. They are fundamentally different, and it’s a really difficult choice to make. I was a solid senior engineer and I loved it. But by looking at what I truly want for myself and with the support of my team, I went down the engineering management route.

Talk with your mentors and peers about possible next steps, and stay true to what’s important to you. Ideally, we can align our career progression with our professional goals, and learning about all the possibilities helps make a more informed decision.

Good news: learning has a compound effect

Throughout our careers we learn and grow — it is an emotional journey that brings both joy and pain. By understanding what challenges lie ahead, and that it’s all a natural part of the process, we can learn to appreciate them.

Compound learning

And the awesome thing is — as we continue growing, new challenges become easier to tackle, like the snowball effect of layering skills. Learning how to communicate with engineers will make learning how to communicate with business people somewhat easier to do. Which will make learning presentation skills easier. And the chain goes on.

This blog is part of my challenge — to share my thoughts and ideas, connect with the engineering community, learn from them and find new opportunities. And while at times it feels hard as hell, exposing my thoughts and giving a chance to the world to prove me wrong, I learned to appreciate how it makes me grow.

So, next time you take on a new responsibility, keep the big picture in mind and try to enjoy the challenges ahead: the impostor syndrome as you start out, followed by occasional lapses into overconfidence as you learn and experiment, and just as you reach the peak, stagnation and thinking about next steps. They are helping us grow!


By the way…

Call to action

Hi, Juraj here — I’m building a newsletter that covers deep topics in the space of engineering. If that sounds interesting, subscribe and don’t miss anything. If you have have some thoughts you’d like to share or a topic suggestion, reach out to me via LinkedIn or X.

References

And if you’re interested in diving deeper into these concepts, here are some great starting points:

Top comments (2)

Collapse
 
dsaga profile image
Dusan Petkovic

Saved this post to read it later, as I found it very interesting on my first read.

I think the breakdown that you made is going to stick in my brain, its a good explanation why we feel this impostor syndrome and that it is a natural occurrence when taking on new responsibilities, and also the key thing is it is going to pass as we gain more experience..

Thanks!!

Collapse
 
jpr65 profile image
jpr65 • Edited

Did anyone of you use IODA architecture?
I use it since I heared about it in 2014. It is the first approach to build really reusable and testable programs, libraries and classes.
It is orthogonal to many other strategies like KISS, DRY and so on.

infoq.com/news/2015/05/ioda-archit...

I have a reference project on github for it on

github.com/jpr65/VersandEtiketten

Currently only described in german, but the code speaks for itself.

Yes, it is a little overengineered, but the goal is to show the benefits of IODA in a very small project and not to implement a real solution for daily use.