How to Get a Software Development Internship When You Cannot Afford to Leave Your Job
For many Information Technology degree-related programs, having an internship is a requirement to graduate. Internships show employers that you have a taste of an enterprise environment, meaning that they can trust you can integrate with their team and learn their standards and practices. Unfortunately, some of us already work full-time so we can support ourselves and our families, so leaving our jobs to for an internship (that may not even be paid) is a risk we cannot afford to take. I know how much of a struggle this can be, because I once was in this position myself. Fortunately, I was able secure an internship with the organization I was already working for (and still am at the time of this writing), so I can help provide you with insight on how to make this happen. Please note, I am only speaking from personal experience, so I cannot promise you that my method will get you an internship. However, you should not let that stop you from trying to play the system to your favor.
Step 1: Build a Good Reputation for Yourself at Your Organization
I cannot stress how important this step is, as I believe it is what ultimately got me the development internship (and later job) at my company. Having a good reputation not only reflects on how your current boss sees you, but also what IT management will hear about you once you reach out to them. I am not saying you should kiss up to everyone, in fact, an artificial attitude might hurt you in the long run. What I am saying is that you should give you best effort with everything you do, and treat others how you would want to be treated.
Step 2: Find Out What Tools Your Organization Uses to Develop Programs
Before you shoot an email to the development manager expressing interest to join their team, you need to figure out what your organization uses to develop their applications. Why? Well for one, it gives you the opportunity to research and use these tools for yourself. In my case, I found out that my organization was planning to move our Business-Critical application (which was written in a procedural language, called Natural) from an OpenVMS platform to one that ran on Red Hat Linux. I also learned that they were working on Python scripts that would be used to send out reports to end-users, sort files, and clean out our directories. I took time out of each evening to aggressively study these technologies, and even wrote a few programs to help prepare me for the next step…
Step 3: Once You Have Learned the Basics, Express Interest to Management
Congratulations! You have written a few programs that show you know the basics, and hopefully uploaded them to your GitHub profile (you do have a GitHub profile, right). Now it is time to find out who you need to get in contact with. Remember how I told you earlier to build a good reputation for yourself? Hopefully you have impressed your supervisor enough that they will not only find out who you need to speak with, but VOUCH for you as well. When I expressed interest to my boss about switching from desktop support to application development, he set up a meeting with himself, the application development manager, and I that same day. Not only did he speak on my behalf in the meeting, he sang praises about me, stating how I would be a great fit for the team.
If your boss is unsure of who to contact (or is unwilling) you may need to go above their head and speak to someone who does. My advice is to seek out an HR representative and express your interest to them. At the very least they should be able to look up the appropriate contact information, and perhaps share it with you.
Step 4: Tell Management Why They WANT to Hire You
After all, you spent time learning what technologies your development team uses, right? Plus, as a current employee of that organization, you should have a good idea of how to use their applications and what their business goals are. This gives you a tremendous advantage over internship applicants from outside your company, some of which may have never had a job in their life! As a desktop support tech, I was able to build the case that I understood the needs of our end-users, and I had a firm understanding of how our business-critical application worked (I did have to support it after all). Sure, they are somewhat interested in why you want the internship, but they really want to know what they can get out of you. Remember, talk about what you learned before you reach out to them!
Step 5: If Asked, Explain Why You Want This Job (PROFESSIONALLY!)
Do not give some lazy answer like, “Because my university requires it” (though you should bring this up at some point in the same discussion). You do not want the manager thinking that you are only interested in satisfying an academic requirement, and do not care about helping the company achieve their goals. If you enjoy working for the company, tell the manager what about the organization you like, and how you would love to use your technical skills to help them.
Step 6: Ask Questions!
This is the best way you can show interest for the position. Try and see if there are any additional technologies they use that you were not aware of, and inquire about any ongoing projects they are working on. People like talking about topics that interest them, and a development manager is sure to have a few topics they would love to talk about with you, provided you give them the opportunity to do so. Also, see if they would be willing to introduce you to the team. You will also want to ask if they do paid internships. If they do, share your current wage/salary figures with them, and ask if they would be willing to continue paying you that rate if you were to intern.
Step 7: Express Gratitude For the Time They Took to Speak With You
Your meeting is wrapping up and the manager is saying that they will consider your offer and get back to you. GREAT! Remember, they did not have to take time out of their busy schedule to ask about your qualifications. Let them know that you appreciate them setting aside time to chat with you.
Step 8: Wait for a Response and Continue Studying the Technologies They Use
Management is a hectic career, so it is not wise to burden the development manager with questions regarding if they made a decision. If you annoy them enough, they are bound to say no. Instead, keep studying the technologies they use. If you get called in for an interview, this will help you make an even better impression than you did before.
Step 9: Schedule and Prep for the Interview
Praise the heavens! Management has reached out, stating they would like to interview you for a position. Make sure to schedule for a for a date that allows you to have a couple days to prepare (if you have that option). Also, lookup common developer interview questions and ask a friend to give you a mock interview. Review Steps 4 and 5 as well, and polish your response to them. Be sure to set aside something nice to wear as well (you want to look as professional as possible).
Step 10: Break a Leg!
It is very likely that there will be more than just the development manager sitting in on this interview. If you are asked questions that you did not review, be sure to take some time to think about your response before giving it (I have winged answers without thinking about what I was going to say first at other interviews; it did not go well). Make eye contact with everyone in the room, and do not talk too fast, as this can make your words hard to understand and increase the likelihood of you stuttering. Share reasons why YOU are the best person for the job and ask questions about the department. Most importantly…RELAX!!!!!
NOTE: This may be the first of multiple interviews. In my personal experience, a first interview usually assesses your personality and experience in the industry, while the second tests the knowledge of what you know. Either way, be prepared to answer questions that will test your technical and soft skills!
Conclusion
Hopefully, management will inform you whether or not you got the job within a few weeks of interviewing. If you succeeded, then congratulations! You have taken your first step into entering one of the most profitable industries in the world. But what if you were turned down or never heard back? I am genuinely sorry to hear that, but not all is lost. Throughout this process, you have gained personal experience in developing programs and interviewing, both of which will help you further down the road. My recommendation at this point is to contact your academic program’s student advisor to see what other options you can explore. Some schools are willing to let you off the hook in exchange for another academic project. Finally, do not forget to upload your code to GitHub, that way future employers can see your work when you apply for future jobs after graduation.