Walk along a busy street, a supermarket aisle or an airport terminal and you're likely to see a lot of people looking at their mobiles devices. Some 77 percent of American adults own smart phones, and nearly as many own laptops and tablets. It's clear: we love our devices and we're using them more and more. Computer programmers write the software that powers these devices and gets them to do what we want. Interested in programming? You may not even need a degree.
What Does a Computer Programmer Do?
Computer programmers analyze the needs of consumers to figure out what the technology needs to do. Working with designers and software engineers, programmers plan each part of a software program or application ("app") to figure out how the parts will work together. They write code, which is specialized language that a computer can read. Here are some of the ways that code is used:
Developing Mobile Apps
There are currently over 3 million apps, and the market continues to grow. It's anticipated that apps for iOS, Android and other platforms could generate $101 billion annually by 2020. Although you can work for a company, it's possible to earn a very good living as a freelancer, working for yourself from a home office. Online tools are available for app developers; some don't even require coding skills. Some of the best recommended by TechWorld magazine include AppMakr, AppYourself, AppyPie, BuildBox and ShoutEm.
Games are developed for video, mobile devices and the internet. Games typically require millions of lines of codes to create the complex storylines, well-developed characters and and detailed settings. Developers are not only programming experts, they're also artists, storytellers and musicians. Some colleges and universities offer degree programs in interactive media and game design, but if you're interested in exploring the world of gaming, there are plenty of free tutorials and courses that you can take online to get you started.
Web Site Development
Do You Have to Have a Degree to be a Computer Programmer?
Most employers prefer a bachelor's degree, or at least an associate's degree, but a lot depends on your skills and who's doing the hiring. When you have a degree, you have a credential that attests to a certain level of education and experience. However, say you've run a successful side business building web sites. You may be able to get a job with a web design company based on the work you've done. It's possible to teach yourself one or more programming languages. Here are the top languages currently in use:
C Language is considered a mid-level programming language, used for applications that have limited functions. Don't let this description fool you into thinking it's not very useful. Software engineers and developers at organizations including Apple, Microsoft, Cisco and Raytheon all use the C Language. C is used in artificial intelligence, space research, systems programming and industrial automation.
C# (pronounced C-sharp) is used by web developers to create applications for the internet and Windows operating systems. Its uses range from information technology, engineering and design to management and quality control. Besides Microsoft, Hewlitt Packard is a major user of C#.
C++ is an extension of C Language and in some cases can be used with C interchangeably. Software engineers and programmer analysts, among others, use C++ for client-server applications and system/application software. Amazon, Google and Lockheed Martin are all users of C++.
Objective-C is the most commonly used language for writing Apple software and applications. Used by IT and Web content administrators, software engineers and iOS and Android developers, Objective-C helps to power Twitter, Facebook, Mint and Wells Fargo. It's simplicity makes it a good first language for aspiring programmers to learn.
CSS is the acronym for Cascading Style Sheets and controls how HTML elements are displayed on a web page. Whereas HTML (described below) is used to create content, CSS can be used to format the content in any number of ways. Web designers in virtually every industry use CSS to enhance the look of web pages and attract users.
HTML stands for HyperText Markup Language. It's used in web development and email programming in a variety of industries, including marketing, sales and customer services. Apple and CareerBuilder are just two of the major companies that regularly use HTML. Look at any web page and you'll see HTML in action. It allows the developer to enhance the readability of text with an endless choice of fonts, colors and visuals.
Java is used by software engineers and Java developers in industries including communications, education, finance, health sciences, hospitality, retail and utilities. The language is used for games and mobile apps. On websites, Java facilitates the downloading of applets for use through a browser, enabling users to perform functions not normally available to them on their devices. Eclipse Information Technologies and eBay are two well-known Java users. Java is used for Android apps.
Linux is an open-source software used as an operating system. It provides a foundation for all other software on a computer, taking the messages from that software and communicating to the computer's hardware. Linux is highly customizable, so it is used by engineers and developers everywhere.
PHP (Hypertext Preprocessor) is an open-source scripting language, used for general purpose programming as well as for web pages designed to work with databases. For example, many websites ask users to register. PHP is used to collect and compile that information. PHP is used across a wide range of industries. Facebook and Yahoo use it, along with companies in healthcare, finance, design, engineering and professional services.
Python is used by software engineers, back-end developers and Python programmers in information technology, engineering, professional services and design. Easy to learn and to read, Python is used for web and internet development, scientific and numeric computing and desktop graphical user interfaces (GUIs). If you use Python, you're in the company of tech giants Google and NASA and social media leaders Pinterest, YouTube and Instagram.
Ruby/Ruby on Rails is open-sourced software, meaning it is not proprietary software and can be used by anyone. Developers, software engineers and data science engineers use it in industries ranging from technology to engineering, design and quality control. Ruby is used for web app development, simulations, 3D modeling, networking, robotics and system administration and security. Groupon, Motorola and Scribd are three of the best-known Ruby users.
SQL stands for Structured Query Language. While not a development language, it allows users to manipulate data in a database. Programmers use the acronym CRUD to describe SQL's function: create, read, update, delete.
Swift is a new language, developed by Apple and open-source, for use in the development of iOS apps. Swift integrates components from Objective-C with an advanced compiler, debugger and framework infrastructure. Getty Images, Dow Jones and Playlist Media use Swift.
What Are the Education Requirements for a Computer Programmer?
Education requirements are set by individual employers, so there is no one-size-fits-all. Because many employers prefer candidates with a degree, or at least some academic training, it makes sense to invest in a formal education. Associate's, bachelor's and master's degrees in programming and computer science are offered by colleges and universities throughout the country, both in residence and online. The average cost to attend community college, where you can earn an associate's degree (typically two years of full-time study), is $4,847 a year. Total costs for a four-year degree, including tuition, fees, books and housing, averaged $25,290 per year for students attending a public institution at in-state rates. Out of state public schools and private schools cost much more and, in the case of private schools, can exceed $60,000 annually.
Tuition for online programs is not necessarily less than tuition for schools you attend in residence. However, you will save costs for transportation and room and board (presuming you already have some place to live). Online classes give you scheduling flexibility, which is a bonus for people who have a job to go to every day.
When choosing a degree program, whether on campus or online, be sure to do your research before making a commitment. Find out total costs for the degree, what financial aid is available if you need it and whether career advising and placement services are available. It's smart to enroll in a program that offers opportunities for internships, which will enable you to get real world experience that will be an asset in the job market.
How Many Years of College Do You Need to be a Computer Programmer?
Microsoft founder Bill Gates and Apple's Steve Jobs achieved enormous success without the benefit of college degrees, but the tech industry has evolved rapidly in the 40+ years since they launched their careers. Working for yourself is the only way to guarantee a position without benefit of a diploma. Employers generally prefer candidates with a minimum of an associate's degree. A bachelor's or master's degree is typically required for high level programming jobs and positions in management.
What Do Computer Programmers Earn?
The average salary for an entry-level programmer is $54,177 per year. Programmers proficient with Java and Linux can expect to earn a little more. With an associate's degree in computer science, you can expect to earn an average $58,000 a year. Pay with a bachelor's degree in programming jumps to an average of $100,000 annually. With a master's degree in computer science, you're likely to land a position as a senior software engineer or developer, where salaries range from $100,000 to $150,000 or more.
The U.S. Bureau of Labor Statistics tracks data and makes projections for all civilian occupations. According to the Bureau, the job outlook for computer programmers will decline by about 7 percent through 2026. Computer programming is a job that can be done anywhere in the world, so some companies outsource work to programmers in countries where wages are lower. Don't let these numbers discourage you, however, if you're planning to work as a computer programmer. There are still plenty of jobs available, and they can serve as a jumping off point to related careers in the growing computer industry.