1. Keep on Learning
I assume that you would not even read this blog without having some elementary education and you would not want to know how to become a successful developer without higher education. So while you are right now a developer, why stop learning?
There is no way to do that. One important thing here: Staying in one place doesn't mean you are staying there - it means you are moving backward. Walking forward doesn't mean you are moving forward - it means at least that you are not lost with the losers in the end. To keep going forward, you need to learn continuously - not to walk, but RUN!
Here is my short list:
- Read books
- Subscribe to RSS Feeds and read magazines
- Try out different features you hear about
- Go to seminars and do your own presentations
- Learn everything that can help you move
- Teach others since this teaches you
2. Establish What Your Goal Is and Keep the Right Way
Ok, it could be hard to run without knowing where to run. The key point here is that you need to clearly imagine your goal. This goal should be a long term target, and after you have a vision of your goal, go ahead and break it down into smaller tasks - build your roadmap. You may create a list of tasks you MUST accomplish per month or per year. Then just follow it.
3. Every Challenge is an Opportunity
In every day work, you always encounter different troubles. You get issues and bug reports from your QA. You get new tasks from your Project Manager. Your co-worker is asking for help. You need help. These are all challenges. And the real question is: how do you meet them? I have an answer: you need to take them all with passion, because every challenge is the opportunity. You would say "Hey, but this way I will never get off stupid nasty work." You are 100% not right here. Remember your bosses will be glad to give you more complicated work once they see you do the best to get your current job done.
4. Be Positively Charged
You should look at everything in a very positive manner. If it is found that you made a mistake, just take it easy - everyone makes them. Do you like people who start to whine once they have troubles? How do you think you will be looking in others' eyes if you will just say "Ok, guys, I did it - I will solve this, give me a minute." and turn around and start fixing your mistake with a smile on your face. After you solve the problem, you will be so happy that you could not even imagine.
Your method is good and you are moving fast forward. Don't ever, ever think that you will not be able to reach your goal.
5. Find a Mentor
This does not mean that you need a person who will help you in doing your job - it is a coach or a more senior staff than you are. This means that you need a person who stays where you want to be and you need to take a leaf from his/her book. And if he will not be high enough - you will need to find another. But all the time you need to have that person. Also have people, friends if you will, who will help you keep on track. It could be your wife or girlfriend (in my case :) ), or best friend who always supports you (in my case he is a developer, but this doesn't matter).
6. Be More Public
If you will not show others that you are cool and you deserve more, how will they know? There is simple way to do that - start blogging, ask and answer questions, ensure Google knows something about you. Share your knowledge in your team and project. If you learned something new, why not share it. You will forget it if will not be trying it.
7. Track Your Activities; Be Sure That You Are On Track
Time to time, you need to check if you are doing all the right methods. Verify if you are accomplishing stated goals. If no, quickly find reasons and work on that. Find your weak areas and fight them. This sounds funny, but I know a very good developer with strength knowledge, but his coding/typing speed is ugly. Why? Because he has a bad keyboard and don't want to spend 10-20 hours with a keyboard trainer. Isn't it stupidity? Men, if you will read this, please promise yourself that you will fight that thing.
8. Do Your Gym :)
I did a bit of "brainstorming" when writing this article. And "Do your gym" fell there. I'm quite a young man and spend too much time with my laptop and with another machine at work and I cannot coerce myself for doing gym. But this is just like sharpening the blade. There is a story about two woodcutters who made a bet based on count of cut trees. One was Strong man and another was Thin (like me). The Strong one was sure that he will win since he was cutting trees 8 hours without a single break and since Thin one had rest each hour for 15 minutes. But Thin won the battle - he cut 150 per contra 100 of the Strong man. His secret is that he was sharpening the blade. Your health is your axe; if you will keep it blunt, you will not be able to cut down your way.
So, let any of your axes be #.
I'm very pragmatic and self-improving person. My goal is to become successful community developer.
I'm young and love learning, these are precondition to my success.
Currently I'm working in dedicated Ukrainian outsourcing company SoftServe as .NET developer on enterprise project. In everyday work I'm interacting with lot of technologies which are close to .NET (NHibernate, UnitTesting, StructureMap, WCF, Win/WebServices, and so on...)
Feel free to contact me.