I asked developers the above question, and I was really impressed with their answers. Here is what they said:
When I was working my way into this industry, I cast a really wide net and just wanted employment anywhere doing anything. This may not be the most efficient or suggested strategy. Now, 1 year in at my current as I think through 5 and 10 year "where I want to be", I am narrowing down what my interests are, the type of environments I enjoy working in, and the amount of work life balance I require. Oh, and geography is kinda important as well.
I generally plan for "the next thing". If my current role is software developer, and the next is senior software developer, I try to find what steps I need to take to hit that next goal. I also like to look at the traits of highly successful people. The majority start their day early, they accomplish things before others have had coffee, and they think differently than others.
You have to understand how your brain works that sets you apart from everyone else. Then you have to work to focus on that strength. Your brand shouldn't distract from your coding ability, but it should sharpen you as a better resource to work within your team. If you realize that you don't fit well with your team then you should find somewhere that you can bring value with your particular brand.
It used to be about money. I was that guy for sure for a minute. Then it became about the work. Find something your passionate about and never stop chasing it.
This is my focus right now. I've stayed too far within my comfort zone for too long, but I want to push myself towards the role I really want (front end). It has been overwhelming and frustrating (see ) but I'm still hopeful.
I had to stop discounting myself so I can get the career that I want. Nothing changes because I think I can do it. I just have to do the work! No more excuses
This is the career path I envision: front end role, full stack role, team lead, department manager, startup founder, and end with teacher at a local school.
The above comments remind me of two of my favorite quotes:
Preparation + Opportunity = Success
To have a successful career you must prepare yourself by considering what is the next position or area of interest. Then you must work toward gaining the skills, experiences, or knowledge to make that career change into a reality.
You don't know what you don't know
I learned that humbly asking people questions about their career is the best way to learn what is possible. The best place to ask questions is on LinkedIn or a tech focus community (examples is a slack or discord community).
When you are an aspiring developer, any job seems like a dream. But as you work in tech, you realize that there is a thousand different career tracks available. You now have to figure out what type of environment is best for you, type of team, tech stack, company size, what is your passion, etc. All of these can be determined by planning your career.