What shapes an experienced developer
Hi everyone.
I am an experienced developer. A normal person that can tackle development problems in my experienced area just like you.
And just like you, a lot of people misunderstood our experience in a very common way, they just think we can do all the things those junior people (maybe) cannot.
But the truth is, we are not like that. You should admit, pretty much what you can do, is not from your 'experience', which also means, a junior may just be better than you. But no need to feel bad, here's some fact to cheer you up. (Let's skip about some meaningless complaints such we still need to eat and sleep)
You plan solutions along with time and resources
Experienced people, you give them time and resources, they come up with solution.
Superman, they just did it no matter what.
Right? I think this is an experienced people usually do better than the others. You know how to estimate the effort to do a thing right, how does it cost, and what's the bad side if the plan changed. Those are from your experience (the knowledge growth time by time through your career). You are not smarter, neither know the most, you just know a better way to break down a problem and sort those things out. All those physical facts are still there, you just know the most efficient way to deal with them.
You know what is good and what is bad
You are not tech hippies anymore, all those trendy fancy stuff to you, are just some decoration of some simple fact.
You won't chase for a unique, fancy solution anymore. It doesn't mean you won't appreciate them anymore. But when you look at the bright side, you also look into the dark side.
Nor the bad is bad, sometimes good can also be bad. And sometimes those bad from other people, maybe is they were doing it wrongly. To you, the fact is more important than what people said.
And that's what makes you so different. You ask why
more than the others, you learn more about the reason
than a solution
. You can only learn them when you facing just enough awesomeness
or maybe just way too much of them. This process takes time, and those time, luckily you've already been through.
You think about the problem, and scope it
A microscope awesome
can't help you to ensure a macro scope success (vise versa).
You understand all thing has its scope, and that scope is usually changing time by time. You know how to think the most ideal way just within that scope. More importantly, you realize that even those ideal solutions can and will definitely be broken when time pass and the scope changed.
You understand changing is always necessary, and by the scope, this is the best you can do. Though at the same time you also take scope changes in mind and think about how you can adopt that changes in a relatively easy way.
You realize what Software Engineering dealing is an engineering problem
Although you still think building software is somewhat like painting on a wall, you admire it, the wildness and art sense really help you to build a zero to one thing. But if you are not doing zero to one, there is a lot of daily routines waiting for you. You need to continue your success through 1 to 1.423
You are not going to allow breaking a building by just a personal preference of window choices, though you still agree on some beautiful wall painting that will delight the world.
You know what it will be built and will end up with ten of the others. And what was there affects what will/can be there.
You also know the right tool is the key to bringing success to the development team. You value the right tools as well as the right person. There is nothing called personal preference, personal preference is only resisted on the personal preference setting page. You don't want the overall failure to come from a single im-professional tool choice.
You care about people
It sounds like HR, but in fact, an experienced person in a team somehow acts really like an HR. You should but don't just share the frustration with your teammate, find a better way to work together. Motivate your peers. Because your experience is not only about programming, it is also about your life, your career, and your company (or project maybe).
Those experiences all together make you a unique, undefeatable force in the world. Smart young people are good, but what you have, can always make them better.
The end
Don't be afraid when you grow older, don't be afraid of being a developer with ages and experience. If some company doesn't value your experience, or they do but in a wrong way, don't feel bad. You should still revaluate yourself, but if you are really that experienced, it only proves that those companies are not valuable for you to stay.
BTW ping me, I always enjoy working with a person like you.