- TL;DR
- Seniority levels and problem solving
- How do you become a senior engineer?
- Who is 10x Engineer?
- What’s next?
- SWE Growing
- Engineering Blogs
- If you don't know what to learn
TL;DR
Tackle the hard problems you think you can’t solve.
Seniority levels and problem solving
I spoke with my manager about growth from L3 (Junior) to L4 (Middle) and beyond at Google.
Here's the summary:
- Solving complex, technically challenging, and ambiguous problems, then developing solutions.
- Improving team processes. Suggesting design and test strategies. Doing the right things, doing them the right way.
- Influence: Guiding others, assigning tasks to other engineers, increasing productivity.
- Collaboration: Contributing to cross-team collaborations, identifying opportunities for collaboration, and making an impact to different teams.
How do you become a senior engineer?
Have something to show, to proof your expertise as a Senior.
Build open source, write posts, and share knowledge, and have own principles of software development, and management. Do something that you are really interested in, do things you enjoy doing/building/working on.
Bring benefit and initiatives: to the team, project, do real work, make an environment where juniors work productively and grow.
Have advanced technical proficiency. Learn continuously. To improve your problem solving & critical thinking.
Care about quality of code, product, processes.
Think about future, scalability, dependencies, and possible project problems. It is like more about critical thinking (asking yourself - what, why, how questions).
Who is 10x Engineer?
- Good code can't fix a bad product
- "What if we do nothing?" is a powerful question
- Be the most helpful person in the team
- Act like a leader before you are one
- Look for simple solutions to complex problems
- Titles don't mean as much as you think they do
- Success is probability. Show up more often = more luck
- Ask "Why?" more often. Questions create clarity
- There is no "best" X. It's all tradeoffs
- You are rewarded for creating value and getting things done
- Writing is how to clarify your thinking
- Be someone you'd want to work with
- Everything is a negotiation (deadlines, scope, what you work on)
- Fear kills trust. Lack of trust kills culture
- Side projects are a great way to learn new things quickly
- Understand the business, not just the tech
- Estimates are guesses not promises
- Find a mentor or a coach (don't struggle alone)
- When you can't win, ask yourself: "Can I change the rules?"
- Imposter syndrome never goes away. Keep learning and growing
- Be the go-to expert in something
- Learn to sell products, ideas, and yourself - understand what they (people) need. Give the right information with the necessary abstraction level to the right people.
- Done is better than perfect. Take small, show it off, and keep moving. You cannot do it all: prioritize.
- It is better to ask forgiveness than permission.
- 20% code → 80% value
- Don’t perfect the code. Simplicity is king.
- Don’t waste time and effort on unimportant decisions.
What’s next?
SWE Growing
Engineering Blogs
If you don't know what to learn
How to learn?
- Read about it
- See how others do it
- Do it by yourself
- Teach others
What to learn?
- Check open job positions, check job requirements. Research EPAM, Exadel requirements for vacancies in Uzbekistan, check the requirements of the global market (US, Germany, UK, Netherlands), check MAANG companies reqs.
Where and how?
- YouTube videos & online courses, conferences, blogs & articles, books.
- Medium.com
- betterprogramming.pub
- daily.dev
- dev.tohabr.comrealpython.org
- acloudguru, linkedin learning, udemy, PyCon conference
- Build a project, or implement new stuff in your current project.
- Share your knowledge/findings. Ask questions from Experts (write down your questions and ask them to several people at conferences, meetings, at least with some new person you meet with).
To catch up with trends
- YouTube (fireship)
- X
- Reddit (tech, technology, AI)
- Yahoo finance