Hot Job How To: Software Developer
Based on your feedback, we're launching weekly articles to provide more detailed information on securing some of best jobs out there for veterans, along with a list of four things you need to secure these jobs. This week's hot job: Software Developer.
If you're going to be a software developer, you have to love coding. You can't love the idea of coding, nor can you simply tolerate the process: programmers spend hours in front of a screen staring at innumerable lines of code, so if you don't have a passion for it, or an addiction, then this isn't the job for you. You don't have to be a mad genius to learn how to code, but you do have to be able to put your nose to the grind and code, debug, and repeat until a project is done. It's not all a robotic slog, though – programmers do need a great deal of creativity. Whether it's thinking up of more efficient ways of coding something or solving a bug, the ability to think outside the box is a plus.
Unless you have multiple completed projects that are top quality and use modern programming techniques, then a bachelor's in computer science is a must. This means slogging through a lot of math, physics, and other basic scientific courses to build a strong foundation. Many intelligent and computer-savvy folks might think that they have the skills and abilities to bypass the need for a degree, but this is a trap. Businesses are impressed by results so again, unless you have completed a few impressive projects, you're going to be at a serious disadvantage if you don't have a degree.
Your education should be supplemented by internships and personal research. Internships are the best way to get experience in an office, working with a team of professionals, and learning industry standards. Finding them can be difficult, but that should never stop you. Ask professors if they know about any opportunities, search job boards, and check out the employment section of company websites. Staying abreast of current events in code will keep you up to date on industry standards, supply you with new ideas, and guide you towards which programming languages you should learn or at least know about.
Programming is a job that requires you to create which means that showing off your work on past projects is a necessity. Although part of getting a computer science degree means working on a team to complete something, it's always a good idea to branch out and challenge yourself at home. Being able to show an employer a few home-brewed creations demonstrates passion, ability, and work ethic. Extracurricular work will keep you up to speed on new industry trends and help you complete assignments from school.
One important aspect about the programming industry is that technology is always changing, and there will always be different opinions on how to obtain the necessary skills. This can be exciting or frustrating for job seekers, but the most important thing to do is research industry specifics: what companies are more likely to use which programming languages, what do you need to learn new techniques, and what are the current industry standards?
One of the great things about programming is that there are many active communities online and in-person outside of school. Most programming languages have dedicated forums or community websites dedicated to learning more about them. A quick search online for the language that you're learning will almost always give you a list of different websites to check out. There may also be local groups that either meet up a certain time throughout the week, or you may be lucky enough to have a center near you that provides space for you to work on digital projects and work with other programmers.
Embedding yourself in multiple groups, whether online or in person, will always increase the chance that you'll meet someone who can help you find a job. It could be a professional programmer who can put your name in at his company, or it might be someone who teaches you a new skill, but regardless, reaching out to other people in the community enormously increases the likelihood that you'll meet someone who can help you with a job opportunity.
If you're ready to dig into the job search, check out software developer listings on Monster.com.
Community for learning C++: http://www.cplusplus.com/
Java learning tips: http://howtoprogramwithjava.com/
Beginners help for learning Perl: http://www.perl.org/books/beginning-perl/
Ruby on Rails tutorial: http://ruby.railstutorial.org/chapters/a-demo-app
Python tutorial: http://docs.python.org/2/tutorial/