You may have heard many people say or claim the phrase “I’m a lifelong learner” or “let’s keep a growth mindset” during meetings or even in random social media posts and advice. It may also come across as superficial when the person saying it is trying to blend in without really meaning it.
And you can easily tell; because what they say vs what they do are different things and their actions reveal their preferences. These are not labels on a box or a badge you can claim that make you sound smarter or to chase some sort of humble social statusing, these are essential skills and mindset changes on how you approach your work with more intentionality and many effective senior engineers I’ve come across exhibit both of these.
What does this mean in practice?
Don’t chase comfort
Software Engineering can be incredibly complex; no matter what someone tells you, take any system and go 1 or 2 layers deeper in the stack and you’ll know. There are beautiful concepts to know, design patterns and abstractions to solve a particular problem.
Software is also an evolving organism. It goes through multiple iterations and keeps on changing. The tech stack you use today may give you certain outcomes, but tomorrow a new paradigm, framework, stack or tool may emerge which may give you step change improvements. At that point, sticking to older paradigms may be ill advised.
Seeking comfort is a trap. Developing comfort with one language, stack, tool set or way of thinking is natural. It may even be working well for you today, but if there is one thing I’ve realised over my 15+ years of software engineering career, it is that things change in organizations all the time. Sometimes you will have the agency and authority to make the change yourself, other times it may land on you due to varying other factors outside your control, for e.g., a VP made a decision, business priorities changed, so on and so forth.
If you like to stay in the comfort zone of your own knowledge boundaries, you may find yourself thinking a particular way and not thinking broadly.
Constant pressure and change may even scare you, cause anxiety or overwhelm. You may feel a lot of churn and given the scale and complexity of engineering systems these days, you can even assume a pessimistic attitude of “ohh, now I have to learn X when I already knew Y”, “This new stack or way of working is confusing or not well designed”.
Developing deep expertise in a topic matters, you get recognized and even celebrated for it and people come to you as the “expert” on that topic. The feeling is quite good and powerful. That said, if you try to keep holding on to it, you’ll not grow and evolve in your career. Others more enterprising in nature would move forward and eventually you’ll be either left behind or become obsolete in the face of sweeping change. I know, it sucks and this thought is both humbling and a challenge.
But, such are software careers.
Embracing change and learn
How are effective Senior engineers different?
They are constant learners and they thrive and revel in the experience in the face of change. To them, it feels like a new challenge, and not something that is exhausting but rather invigorating.
When thrown in a new environment or stack, they take the time and break it down into manageable blocks. Learn and solidify the fundamentals and then build it back up with clear first principles thinking bringing in patterns from their existing experience and reshaping it to fit well in the new situation. They are flexible and adapt quickly to reasoning about complex systems by understanding how the nuts and bolts fit, while being grounded to do the right thing to meet customers’ needs.
They also have a “Growth mindset”, the idea that we are not fixed in our capabilities or cognition, but we can always learn, grow and evolve.
They don’t compare themselves to others or their success and achievements to what others have. That is a self fulfilling prophecy and a losing battle anyways as there is always someone better at X than you, but they rather enjoy the journey of learning about something new, rephrase any failures as opportunities to learn and make it easier for people around them to learn it too.
They openly share knowledge and collaborate well with others because they know that the more they do so, others around them become better engineers and the overall team becomes stronger leading to compounding effects.
How to learn and cultivate a growth mindset?
There is a lot of advice on this space; I can share what works for me.
Embrace the power of “yet” and practice self compassion:
Instead of negative talk like:
I don’t know X
I feel like an imposter and others around me know much more than me
My opinion is not valuable
Add “yet” whenever you face a challenge and talk to yourself with compassion like you would a dear friend.
I don’t know X yet, but I have the capacity to learn.
Focus on impact and share regular progress towards goals even if incremental.
Let me share my idea and collect feedback from others on why it does not make sense
Speak up and be vocal in meetings. When receiving critical feedback, receive it with an open mind and try to identify scope of improvement and opportunities rather than taking it personally.
Do regular self reflection.
Also, carve out intentional learning time aside from your day job or work and go deep into a topic that interests you. Bring back the learnings into your own work.
Is there an end?
I don’t think so, when I talk to people outside my own discipline, I feel incredibly humbled to know that there are a lot of different technologies and spaces that I know nothing about and that is perfectly fine. Developing the skill to learn relevant skills needed to do a current task or project and continuing while staying curious is probably the best way I know to develop more rounded intuitions.
You will never be an expert in everything, but having curiosity, ability to ask good questions and follow through, learn a new topic and share with others and falling in love with the learning process would mean that your work would in general be more fun.
If you are going to share a good 8-9 hours a day and roughly 15K hours a year in your job. You better make it fun and fulfilling rather than a drag isn’t it? So go out there and challenge yourself and maybe pick up something that you have been procrastinating on learning for a long time.


