In reality, if you’re just getting out of college and you are looking for your first development job I would suggest that you take the first opportunity. When you are a newbie you are valuable because you’re cheap and expendable. When you get years and experience under your belt then you command more respect.
If you were lucky enough to get internships in college this may increase your chances of landing a permanent job. However, do not be afraid of temp or temp to hire work. Remember, if you are just starting out you need experience (nothing else). The business of software development can be complex and it is different for each industry and company. Some companies live on the cutting edge while others lag 10 or more years behind! The more time you invest in learning the better you will end up.
I spent some time taking a look at the software development landscape to try and come up with great industries to get started. I, myself, got my first jobs doing either contract or temporary work (all temp jobs promise you that you have a great chance of being permanent but they all lie). I even did a lot of work for free knowing that I would walk out more valuable from the experience! My first job interviews out of college shocked my interviewers because I was able to articulate very advanced programming concepts with very little professional experience to back it up.
If you are on the lookout for a place to get your development career started I would suggest the following industries:
Consulting Services
These companies are usually very profitable or they tank horribly. Look for a consulting firm that has been around for a little while. This type of employment is a great place to get started because you have an opportunity to see how industry gurus behave and learn what they believe are best practices. Don’t expect to get the programming experience you crave, but expect to get a lesson on how the industry functions.
Government Contracting
Many of these types of jobs are temporary to permanent positions (a lot of them are just temporary). Again, if you are new do not let this freak you out. You are not looking for a permanent job yet! You are trying to pad your resume. A lot of these types of jobs pay very very well (although they often lack benefits… but you’re still young… ha ha). Another great benefit to this type of work is that a good chunk of these companies require a security clearance. If they will sponsor you for this then you should take it. This will pay dividends down the road. From my experience there are three types of these companies: (1) Works on exciting cutting edge stuff, (2) Puts you in a trailer of 1,000 other programmers doing tedious busy work, and (3) Milks the contract for all it is worth and works at a snail’s pace. Pick you poison! Ha ha ha!
Employee Recruitment and Benefits
As the economy swells and contracts there are a plethora of available candidates as well as newly recruited employees. All that equates to is a demand for this type of work. These types of organizations are not always on the cutting edge but they offer you a great entry point into the field. You can usually get experience working with CRM components and learn a lot about how to integrate different software together. Since these companies compete with each other pretty fiercely there are often some great web and mobile development opportunities. These companies like their websites to look cooler than the competition and it seems like everyone wants an iPhone and Android app now-a-days!
Robotics (AI)
I don’t see many newbies looking into these jobs! You should definitely not ignore them. I know they don’t look very sexy but there is a lot of amazing opportunities in the robotics industries. Most notably, you can get exposure to languages and programming structures that are not mainstream. This will help you expand your horizon and give you new perspective on software development. Once you gather years of experience and you get into a position where you are interviewing new candidates for your company you will understand how important open-mindedness is.
Financial
If ‘Power is everything’ in the political world then ‘Money is everything’ in the entire world! There are some great IT jobs that focus on finance, and they have many different focuses such as banking, investing, retirement, credit, collections, etc. Since their focus is on money, and time is money, these companies are on a constant lookout for talented programmers that will give them the edge.
Security
As the world grows more and more dependent on software to control business and social interactions the focus on security is more and more evident. Many companies that I have had experience with considered security an afterthought. But, that is just me! I hear from my peers that this attitude is changing drastically. As companies see how breaches are damaging other companies they are definitely trying to get a handle on security. There are also a lot of variants you can get into such as software, networking, and consulting. Each type of computer security industry is like its own island but the skills translate well. These companies offer great chances to learn about the dangers that are out there. It will also give you better perspective on how to best design your software to more effectively handle attackers. You may also have the added benefit of a security clearance as well!
Healthcare
There are a few things leading the charge in healthcare software development at the moment (at least the US). On top of this is the cost of healthcare (at least in the US). As the government continues putting more pressure on hospitals to be less expensive (ironically while increasing their taxes) healthcare systems are in dire need to cut costs. Even though historically some of these organizations thought of IT as a perpetual expense, the attitude is changing. Why? Because they need to lean on technology to cut costs. I will admit that this is not a great industry for newbies but if you get an opportunity for work in healthcare IT, TAKE IT! There are so many different aspects of this industry that you can explore. And in many cases there are little organizations within the organization (such as financial, development, support, implementation specialists, hardware technicians, system administrators, mainframe experts, etc).
If you are having difficulty deciding where to start or maintain your development career I hope this article puts some fears to rest. The most important thing is to keeping doing and keep learning. As Bryan and I mentioned in the ‘Introduction to Computer Programming’ course, if you do not take the time to learn continuously you will quickly outdate yourself and make you irrelevant. Don’t let this happen!
The best places for long term employment are organizations that appreciate their developers and award talent. The best places to start your career are anywhere that will pad your resume! All of us at WiBit.Net hope you to have a long, prosperous, fun, and productive software development career!