Advice to New Developers
I like to use the term developer when talking about someone who writes code. Other people prefer to be called programmers, craftsmen, artists, etc.. Please do not get hung up on this term I am using. If you really don’t like it – please copy this post into Word and do a find and replace and insert your favorite term, then read it.
The past 5 years of my life have been dedicated heavily to learning the art of software development. There are many aspects to this process and it WILL be different for each person. I listed below some of the keep points that worked for me and I believe can be helpful for others too.
Feel free to use any these points, agree with them, hate them, or anywhere in between. This is what I have learned based my career path on and it has worked well for me so I hope at least something below can help you. These are in order of importance (to me).
1. You are responsible for your own growth!!!! Nobody is going to help you boost your career more than your self. YOU and YOU alone are ultimately responsible for increasing your knowledge and self worth. The more value YOU can provide to a business – the better chance you have at being successful, getting promotions, etc. Never let ANYONE tell you that you are not capable of doing something. Only you know what you are capable of achieving.
2. Work / Life Balance – it is a real thing especially if you are married or have kids. Do NOT under any circumstances sacrifice your family for your career. Family time is something you can never get back – your career will always be there waiting.
3. Listen! Listen! Listen! and then Listen some more You must listen to many different ideas, opinions, and view points in order to make an informed decision for anything in life – including software development. There are many many people in this field who have a higher aptitude and so much more experience than myself. I make it a point to learn as much as possible from these people. With that being said – the next point is critical to this one being successful.
4. Think for Yourself. Decide what is right for you in your current situation. Everyone is going to have an opinion on why something is right or wrong. You will see these opinions in every aspect of your programming career from coding styles, patterns, technology stacks, methodologies to use, etc. Every situation is different, every project team has different dynamics, and every project you work on will have it’s own unique challenges that must be solved sometimes with unorthodox methods. If you can’t think for yourself and are always relying on others to tell you what is best way – then the code you write and the project you are working on will never be the best it could have been.
5. Set Goals!! You must set goals for yourself. What do you want to achieve? Where do you want to be in a year? 3 years? 5 years? What can you do to help achieve those goals? One unique idea I have seen recently was by Iris Classon. She is an up and coming developer / rock star that has decided to create one new blog post per day about a new topic she has learned. It is called her “Stupid Question” series. This is a great way to force her to remain on a track that will continuously grow her skills.
6. Read. You must read a lot to be successful. There are so many good books that give great advice – you must read as many as you can to help form your own set of core beliefs and standards with regards to software development. I would also recommend going back and reading them again in a couple of years as you will be surprised how much more you get from them the 2nd, 3rd, and 4th time around.
Some of the books I suggest reading are listed below. These are language neutral and focus more on the process and ideas that are critical to growing as a developer.
- Effective Programming <—This is one of my favorites
- The Pragmatic Programmer
- Code Complete
- The Clean Coder
- The Inmates are Running the Asylum
- Don’t Make Me Think
- 100 Things Every Designer Needs to Know About People
- While there are many more great books out there these are the ones that I think are the best to start with.
7. Participate in the community. Join the Stack Overflow community and start participating. At first you will do more reading than anything – but over time you will be able to provide assistance to up and coming developers or even the more seasoned developers who need help with something you have already conquered. Give back!!!!!!!
8. I put this one at the end – but it is just as important as any / all of the others combined. You must enjoy what you do. If you are not in love with programming – you can be an okay programmer – but you will never be the best as this field takes passion and drive to be able to put the time and energy required into becoming a great developer.
Again these are things that helped me. I hope they can help you along the way as well.