How To Succeed As a Junior Developer
10. Don't Feel Discouraged
It's easy to feel discouraged when you first start at something... anything, not just programming. Lance Armstrong most likely started out with training wheels on his bike and fell quite a bit at the beginning. Things improve, you improve, and if you stick with it you'll go as far as the amount of effort you put into it. Remember that every senior developer was once a junior developer.
9. Ask Questions
I remember my first job as a developer... I asked a ton of questions and thought I was driving the senior developers mad. Don't worry about that, go ahead and ask the questions, because this is how you will learn. They were once in your shoes so they know where you are coming from.
8. Aim For Growth
When you're training for a marathon, you don't aim for running the full 42km the first day of training. It's something that takes time and, by gradually getting better little by little, over the course of a year you'll be amazed at how far you've come. CodeNewbie is a great website which is all about helping new programmers.
7. Don't Give Up Easily
Now, I don't want to contradict myself, since another one of these points is to ask a lot of questions, but, it can be very rewarding and a great learning experience to attempt to solve the problem on your own. The trick is knowing how long to spend working it out on your own before asking for help. I would say that if it is something small, don't spend more than 60 minutes hitting your head against the wall... but if it is a larger problem, don't be afraid to spend a few hours or more working through it. One great thing to do would be to ask if you're on the right track, rather than asking for the answer.
6. Become Well Rounded
I'm not just talking about being well rounded as a developer, but well rounded as a human being. While the odd job you'll do allows you to be a lone wolf, working away on code by yourself, the reality is that working as a developer usually involves working with a team. Being able to communicate well, being comfortable speaking in front of a group, and presenting yourself professionally will take you a long way.
5. Follow Your Interests
It [what you choose to do] has got to be something that you’re passionate about because otherwise you won’t have the perseverance to see it through. - Steve Jobs
I'd follow that quote up by saying that you will do a better job and have a greater chance of succeeding when doing something you are interested in or passionate about. While it is good to have a broad knowledge in programming, why spend all your time learning about DB tuning when what you really enjoy doing is designing the front-end of a website.
4. Take Control Of Your Career
Your workplace will most likely train you in what is most beneficial for them, not necessarily what is most beneficial for you. Don't expect them to always have your best interests in mind, and don't expect them to train you in everything you want to learn. It's good to start to view yourself as something marketable, where you spend time developing yourself for the sake of improving not just in the job you're doing now, but as a developer who will have a long career that will most likely span across numerous different employers. Websites like Code School and Codecademy are great ways to be introduced to new technologies.
There's nothing better than a good Shaq quote to close this section off.
Kobe is a scientific dawg. He works out every day, practices every day. Most of the other stars are just dawgs, not scientific dawgs. - Shaq
3. Find A Mentor
It's important to find someone who is willing to mentor you. It's easier said than done, but if you can at least find someone to look up to and emulate, you can see what it takes to succeed. There are a couple online options for this, the first is a site called codementor which can help you find a mentor, and another great way to do this is through pair programming. This website has a lot of great resources on the topic.
2. Get Involved With Open Source
This is something that I am just recently trying to get more involved with, and I wish I had done it a long time ago. Not only is it a great way to give back to the programming community, but it is a great way to get your name out there and also a great way to learn. Find some of your favourite projects on github, see what pull requests and issues are open, and ask the contributors where they most need help. Even if you can do something small like updating a README file, or adding some comments to the code, it's a great way to start seeing how these projects were created.
1. Join Local Users Group
Meetup.com has tons of different programming groups in most areas. In Toronto where I am currently based, there are groups for Ruby, PHP, Angular, Node, MongoDB, etc... you'll be able to meet others from the local community, you'll hear about job opportunities, you'll learn lots, and you might even make some new friends!