One of the things I enjoy doing most every morning is nursing a warm hot chocolate while checking my e-mail to see if anything exciting has arrived overnight. This daily ritual is possible thanks to the tireless effort of software developers (and my barista). Software is how we interact with computers, and programmers are the magic makers who write the software. While we mostly think of software in relation to computers, software developers write the code that runs our video games, cars, airplanes, cell phones, televisions, and nearly every moderately advanced piece of electronics that we interact with.
Software Development Career Guide Overview
- What a Software Developer Does
- A Typical Day for a Software Developer
- Salary and Career Progression for a Software Developer
- Best Locations for Software Development
- Pro/Con: Being a Software Developer
- What You Need to Know for a Career in Software Development
- Software Development Resources
- Careers Related to Software Development
- Companies with Jobs and Internships in Software Development
What a Software Developer Does
A programmer develops code (software instructions) for hardware. In doing so, they solve problems, or create new ideas by writing, testing, debugging, and maintaining the detailed instructions that computers need to work. Commonly coders also design the graphical user interface, which helps users navigate through the software. For the background on how this amazingly complex group of jobs evolved, check out this geeky infographic of its history.
Popular Languages
Here are some of the software languages that are worth knowing. If you master any one of these, you will open yourself up to numerous entry level job or internship opportunities.
- C
- C++
- Objective-C
- Java
- PHP
- Ruby
- Ruby on Rails
- Javascript
- Python
- SQL
- Perl
- Visual Basic
A Typical Day for a Programmer
While the work for an individual software developer may look pretty similar from day to day, daily activities vary widely from developer to developer. Some work from home, others work in cubes. Some have a stand up desk, and others work in an open office setting. The common theme is that most programmers spend a large part of their days in front of a glowing screen (usually a big one). Hours can range from 9 to 5 to total time flexibility. The work can vary widely too. Some developer spend most of their days building new code to create new functionality, while others may spend their days identifying and fixing bugs. Programmers also obviously spend time communicating with project managers, product developers, and others in the company who help determine the direction the software takes.
Salary and Career Progression for a Coder
How comfortable is this comfortable living you’ve heard about? What does the programmer gig pay? A lot. Software engineers are in extremely high demand, and the market just keeps getting hotter. While many salary sites report pay ranges from $29,000-$83,000 with a median expected salary of $54,000 per year for an entry level hacker, it’s not unheard for top grads to get offers in the low to mid six figures.
There’s plenty of room for growth in Software Development, as many engineers eventually move into management at some point. Even a non-manager software developer can see a salary well into low six-figures. Additionally, many developers end up starting their own companies or becoming early employees at startups, and because the demand for them is so high, bigger companies often end up acqi-hiring the companies at a going rate of $1 million per engineer (in cash and stock). That usually requires some sort of vesting schedule, but it can pay off big for a developer who takes a little risk.
Other Names for Software Developers
- Programmer
- Developer
- Hacker
- Coder
- Software Architect
- Computer Scientist
- Software Engineer (Front-end or Back-end)
- Ninja/Rockstar (kind of hate these)
Best Locations for Software Developers
I believe Homer Simpson once said, “The Internet? Is that thing still around?” My guess is, you know the answer- YES! and because of that, job opportunities for developers are widespread. Being in the right place makes a difference too. Hot spots for software developers are currently:
- San Francisco, CA
- New York, NY (check out Adopt a Hacker if you want to explore NYC)
- Austin, TX
- Los Angeles, CA
- Chicago, IL
- Boston, MA
- Raleigh, NC
Pro/Con: Being a Hacker
Pros
- There’s an endless demand for programming work.
- You can work in nearly any industry you want and work on problems that are interesting to you. Fashion, food, technology, and finance are just a few areas where programmers are in high demand
- You can teach yourself with only online resources.
- It’s exciting and ever-changing! There’s recently been a move toward open knowledge sharing, meaning you may not have to build each piece of your product from scratch, check out all of the APIs you can pull from.
- You’ll get PAID.
Cons
- There’s a lot of sitting and working on computers.
- There’s a lot of communication and teamwork, which may not be a con for you.
- You’ll need to be open to change as there will be a iteration is essential on nearly any software development project.
- Staying up to date on new technology is essential to career success. Skills that are in high demand may be outdated tomorrow.
What You Need to Know for a Career in Software Development
One of the cool things about programming is that while you need an education, it can be one that you develop on your own. If you prove you know a language, you’ll be hard pressed to find a company that will turn you away. So the most important thing is to have a working knowledge of a group of programming languages that matches up with what the market is looking for. Check out this infographic on the evolution of programming languages, to get better versed. In addition you’ll probably need to be able to work with database systems like Orcale and Sybase. Many programmers are able to develop these skills by toying around with things at a young age, so you have no excuse. Codecademy and W3Schools are great places to start, but the best resources really depend on what language you’re trying to learn. If you’d rather a traditional educational program, typically companies will look for B.S. degree in Computer Science, Information Systems, or Mathematics. So suit up with one of those!
Software Development Resources
If software development still sounds like your cup of tea, here are a few things you should do to get started.
Required Reading
Top books for hackers.
Key Folks to Follow on Twitter
Blogs and Websites
Networking Opportunities
Careers Related to Software Development
Companies with Entry Level Jobs and Internships in Software Development
Check out the latest job and internship postings in software development.
jobs by