How to Become a Software Developer

The students who come to the University of Chicago love programming, and often ask how to become a software developer and be as successful and employable as possible immediately after graduation.

School is an investment, and when entering an industry with high demand like software engineering, it makes sense that you want to be as ready as possible to succeed once you graduate. Many have the goal of being the software developer that is recruited regularly. This is a great way to build a career path you will find rewarding, but it takes more than just showing up to class to become that kind of software developer. If you want to get unsolicited invitations from companies to tour the offices of top companies like Google, Apple and Amazon as a few examples, you’ve got to stand out.

In this article, we are going to discuss extra steps you can take to learn how to become a software developer that is in demand. The earlier in your graduate career you start applying these techniques, the better off you will be when it comes time to graduate.

Learn Outside the Classroom

The most basic piece of advice, so basic that it’s more of a prerequisite to the rest, is to learn the entire time you are in school.

Whether you are going full or part-time through your program - this time is yours to get an education through and through. You simply cannot learn too much while you are pursuing your degree. Of course you must learn the coursework and get good grades, but an applicable education to real career success does not end when class does.

Use extra time to read more on computer science concepts or specializations that interest you. Get together with friends from class and work on a special project - a game, app, or website for example. Get to know your professors - especially those who have expertise in the field you’re interested in. Ask them what they did to excel in their careers and what you could do to set yourself up similarly.

You cannot fake an excellent education when it comes time to interview and show your chops. Companies like Google and Apple spend many resources recruiting top students because they know the value of a highly skilled software developer. The folks recruited have a history of curiosity and experimentation as demonstrated in their technical resumes and portfolios. Begin creating this for yourself, too.

Be Present Online

While you are learning everything you can, keep in mind that top recruiters are not going to know about you if you have no presence online.

But don’t worry, you don’t have to spend hours upon hours on a personal brand and website. A few simple efforts can go a long way, the most important is to make it as easy as possible for recruiters to find your polished resume and portfolio.

An easy first step is to have a GitHub account, or some other means of making your code available for other people to see. Post projects you have done, though if it’s schoolwork you’ll want your instructor’s permission first. You should take steps towards independent development projects and that should be public. Don’t let perfectionism stop you from making your work available. An active depot of student/novice code is better than having nothing at all. As you get better skills, you can replace weaker projects with better, more complicated ones.

In addition to your GitHub account, participate in conversations that involve your computer science passions on places like StackOverflow, Reddit and Quora. Whether it is data science, high performance computing, or game programming, you can find an active online community of fellow developers that are discussing the ins and outs of the industry.

There are many examples, where companies have noticed programmers who created their own mods, or were active in online forums, and happily shared with others. This not only shows your skills acumen but demonstrates your personality and what you’d be like as an employee on a team of developers.

The programming community across the world has a wonderful sense of helping one another accomplish great things. Consider Eric Raymond’s classic article How To Be a Hacker. Keep in mind that the term hacker is not a negative one, but rather refers to a programmer’s desire to take things apart to figure out how they work, and then help other people understand how they work too. It is a selfless mindset to take when you’re learning how to become a software developer.

But be sure that when you are online participating in communities, that you conduct yourself positively and graciously. Savvy recruiters are watching and behaving badly online can mean the difference between an invitation to a phone interview and getting on a “do not hire” list.

You are now learning everything that you can, doing your own side projects, making them public online, and talking in forums like StackOverflow to help others. If you are new to programming it may feel like you are only taking baby steps in becoming a software developer, but that’s not a problem.

The fact is, you will be taking these steps your whole career. The earlier you get started, the sooner you’ll gain the experience you need and excel as a Software Developer.

Network - Even If You Don’t Want To!

Networking is often perceived as a bad word that makes would-be software developers groan.

This may sound like something you dread, but chances are, you are probably already doing some networking!

If you are talking to your instructors on a regular basis (and you should be) you are doing a form of networking. You will probably find at least one or two instructors that you are particularly fond of - maybe you like their philosophy of programming, their career, or you just connect with them. Ask their advice on how to become a software developer in their chosen specialty. They will have great insights and perhaps contacts and may able able to provide an introduction. One thing is for sure - you will be in a more prepared situation once you begin having these conversations.

Make an effort to become friends, or at least acquaintances, with your fellow students. The ties that you make in school can easily last your entire career. You never know where your classmates may end up. Perhaps they wind up at your dream company and can recommend you for a position. Or maybe they will start up their own company and need some fellow engineers to help it grow. People work better when they work together, and if you graduate with a group of smart and eager friends, it’s quite possible you will all help each other for your careers.

Beat The Competition With Formal Education

According to The Bureau of Labor Statistics, demand for software engineers will grow by 30% from 2010 to 2020. Employment of app developers is projected to grow 28 %, and employment of systems developers will grow by 32%. As demand for development talent is increasing, so is demand for depth and breath of knowledge. 

A bachelor's degree in software engineering or computer science is the standard minimum qualification for a career as a software developer. However, having a master’s degree is becoming more of a demand due to industry standards of higher education and programming knowledge.

Math is also an area of concentration while studying to be a Software Developer.  Most software development jobs require bachelor's or Master’s degrees in computer science or software engineering. These programs have significant math requirements that include a sequence in calculus, differential equations, linear algebra and discrete math.  Math is the basis for computer theory – Algorithms – which is essential for advanced programming.

If you want to switch careers or go above entry-level, you’ll get a boost from a broader base of knowledge, which for many can only be accomplished through formal and ongoing education.   

Here is what our Alumni say about the impact getting a Master’s degree had on their careers:

University of Chicago Student Jake Hergott 2015 Graduate Masters Program in Computer Science

Currently an IOS Developer for Rocketmiles

“MPCS provided me with a strong foundation to continue learning and growing. There will always be new technologies and new programming languages, and to be a good Software Engineer I believe you must be able to adapt quickly. Specifically, I have been able to apply both of the iOS courses I took to achieve my professional goals. I have two apps of my own in the App Store and have worked on a handful of other apps in the App Store since MPCS. I’m currently an iOS Developer at Rocketmiles working on our app where users can book hotels and earn thousands of loyalty miles and points per night.”

University of Chicago Student Laura Rokita 2015 Graduate Masters Program in Computer Science

Currently a Software Engineer at Google

“MPCS was an amazing stepping stone for me to go from a career in business to one as a software engineer. It allowed me to get interviews that I wouldn’t have gotten without a Master’s in CS and it set me up well for my current job as a software engineer. I really wouldn’t be close to where I am today without the program.”

Stay Focused

Anytime you start wondering how to become a software developer, consider these techniques. They form the foundation of virtually all software developer’s careers, even novice developers or those who are building new technical skills to change careers.

The University of Chicago is an excellent place to pursue all these strategies, and we have many successful graduates. To read just some of our students’ success stories, check out our alum profiles