The one big step to becoming a senior developer, is attaining an attitude that aims for quality and reliability (that code works isn't good enough), as well as an understanding of not just the technical aspects of the job, but also the business value that is being delivered (the purpose of code isn't the code itself).
And of course you need plenty of technical knowledge and experience. But the attitude you take on will have a substantial impact on how quickly that knowledge and experience is gained.
Here's the thing. A Senior Developer might not even write code anymore. At least not the way they did when they were Programmers. Here's the key difference between a Developer and a Programmer: a Developer is a really good programmer who now owns a product specification. They know every corner of their products. That, as per @vijay
's comment. might come along w/ both a ton of stakeholder relationships as well as a team of technical folks to lead for product development.
I might have some hints for you, though:
First, automation and execution are kings.
"Complexity * Scaling will eventually exceed your skillset" -The phoenix project.
Creativity works best when productivity mode is on.
Don't fear the CLI. Don't fear the Cloud.
Don't try to master everything, no one does.
Let yourself into curiosity. There are new things coming out every single day.
You must be willing to face complexity. Embrace it.
Engage with developer communities.
Explore those CS fields you would most like to work in and get certified.
If you are writing code, follow high coding standards and practices.
Remember you are (or will be) to working with real people on the same codebase. There's this quote I like a lot: "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
Then, seniority comes along with deep technical knowledge, experience, and discipline.
I think it's important to be initiative, take more responsibilities. There are several directions to grow. You could own a service, so the focus will be switched from day-to-day tasks for more of a general approach yo development: delivering/maintaining a piece of product. The other way is to explore more opportunities, by being a mentor for someone else which makes a good starting point for growth as a team lead.
I see a senior developer as someone who goes beyond technical knowledge and quality code, but makes complexities easy to understand thereby helping his team achieve more at the long run.
The one big step to becoming a senior developer, is attaining an attitude that aims for quality and reliability (that code works isn't good enough), as well as an understanding of not just the technical aspects of the job, but also the business value that is being delivered (the purpose of code isn't the code itself).
And of course you need plenty of technical knowledge and experience. But the attitude you take on will have a substantial impact on how quickly that knowledge and experience is gained.
Thank you for sharing :)
You introduced 3 beautiful keys :
1.Quality and reliability
2.Business value
3.Attitude
Here's the thing. A Senior Developer might not even write code anymore. At least not the way they did when they were Programmers. Here's the key difference between a Developer and a Programmer: a Developer is a really good programmer who now owns a product specification. They know every corner of their products. That, as per @vijay 's comment. might come along w/ both a ton of stakeholder relationships as well as a team of technical folks to lead for product development.
I might have some hints for you, though:
Then, seniority comes along with deep technical knowledge, experience, and discipline.
That's really nice, you summed everything in one post.
thanks, I will proceed and start practising your suggestions immediately.
Practice and practice and practice. 😄👍
on a regular basis
simple but significant
Some common traits of senior devs :
beautiful
I think it's important to be initiative, take more responsibilities. There are several directions to grow. You could own a service, so the focus will be switched from day-to-day tasks for more of a general approach yo development: delivering/maintaining a piece of product. The other way is to explore more opportunities, by being a mentor for someone else which makes a good starting point for growth as a team lead.
The more responsibilities I take the more useful I become, thank you.
As a senior dev you may be owning a lot of stakeholder relationships. Learn to communicate your thoughts and ideas to non-technical folks.
Soft skills are significant, Thank you
I see a senior developer as someone who goes beyond technical knowledge and quality code, but makes complexities easy to understand thereby helping his team achieve more at the long run.
Do it so well, others think it is easy. Wonderful
i think its all about having discipline, a beginner mind and the ability to reconcile both business and software
well said