Welcome to the fifth installment of College Transitions’ “So you want to be a…” series. Designed to help career-minded high school students think intelligently about their postsecondary journeys, these blogs will look at the financial, academic, and personal factors one should consider when exploring various professions.
What’s the difference between a software developer, engineer, and programmer?
These terms are sometimes used rather interchangeably which can lead to confusion. While there is a degree of overlap in terms of job duties and educational requirements, software developers, engineers, and programmers all have unique job duties and educational requirements.
Programmers’ primary duties are creating and inputting code. Most programmers have computer science degrees; others are self-taught. In a Venn diagram, the ability to code would overlap for both programmers and those termed software developers. Typically, the job title of software developer goes to someone who is a generalist, well-versed in a number of systems and languages but not necessarily an expert in any one (like a programmer). Developers lead teams of programmers, possess strong communication skills, and help connect employees with expertise in different areas to work toward a bigger-picture goal.
Here’s where things get unnecessarily confusing…some software engineers hold the title of software developer. However, the designation of engineer carries some weight and your average engineer would not enjoy being grouped as a “developer” with individuals lacking a degree in engineering. By definition, engineers explore the practical applications of scientific and mathematical principles as related to the creation of software. They, like developers are looking and the big picture of a project, but with a lens more focused on science than art.
Do I need to attend a prestigious undergraduate school?
One might assume that the colleges recruited at most heavily by a premier tech companies such as Microsoft or Apple would be the usual suspects: Stanford, MIT, Berkley, Harvard, etc. Yet in reality, a school’s proximity is also of great importance.
Redmond, Washington-based Microsoft plucks the majority of their employees from places such as nearby University of Washington, Washington State, and Western Washington University. Apple, located in the heart of Silicon Valley, draws a large portion of its workforce from nearby San Jose State and the University of Texas-Austin. Click here for more info.
As with the engineering profession at large, entering the field of software development is more about what you can do than the name on your diploma. That being said, a computer science major from an elite school who also possesses an exceptional skill-set will be at a premium on the job market.
What courses should I take in high school?
It should come as little surprise that math is going to be of paramount importance. Taking a rigorous algebra, trigonometry, geometry, and Pre-Calc/Calc class is a must, but none of these branches of mathematics translates directly to computer science.
If possible, find a way to take a discrete mathematics class. Discrete math is the foundation of modern day computer science and includes topics such as combinatorics, probability, number theory, logic, and graph theory. While discrete math is a staple of most high school math competitions, it is not always offered by schools due to the facts that its content is not the primary focus of high-stakes state standardized tests or the SAT. You may have to take a summer course at a local college or study the subject on your own, but the rewards will be ample.
Of equal “duh” status is to partake in any and every computer course offered by your school. AP Computer Science is immensely beneficial but is only available at fewer than 10% of American public high schools. Roughly 3,000 high school students in the U.S. take the AP Computer Science exam each year compared to over 300,000 who take AP Calculus. As with discrete math, ambitious students should seek dual enrollment opportunities or even opportunities to take a college course online or at a local institution.
What should I major in?
Appropriate fields of study for entry into this profession include computer science, computer information systems, software engineering, or mathematics. For computer programming, you’ll need to be well versed in programs such as C++, Java, html, Visual Basic, and CSS. Opportunities to complete independent research projects and obtain internships during your four years of study will be key in showing employers that you have the practical experience and knowledge needed to land your first job.
Software engineering is a well-compensated field, with the national average salary right around 90 grand. This is a rare career where the starting salary for a bachelor degree holding individual reaches almost $70,000 per year. Experienced engineers working for major multinational corporations such as Amazon, Yahoo, Hewlett-Packard, Oracle, and eBay will achieve average salaries in the low-six figures.
Computer programmers, without the “engineer” title attached to their name will typically earn close to 50K out of college and will average out at around 70K. Those who go on to become IT Managers or take on other administrative duties can bring home salaries in excess of 100K.
Jobs in software development are projected to grow at 22%, faster than the average occupation, through 2022. In addition to the continually-growing world of mobile applications, this field will also benefit from the expansion of information technology in the healthcare field as well as increased investment in electronic security for government and private networks.
CT’s bottom line
Jobs in the software development field, whether you are an engineer or a programmer are stable, well-compensated, a projected to grow significantly moving into the future. Those who are knowledgeable, experienced, and efficient will see a tremendous return on their educational investment whether they attend a selective tech powerhouse or a state school.
To read previous installments of the “So you want to be a…” series, click the links below:
So you want to be a lawyer…
So you want to be a doctor…
So you want to be a teacher…
So you want to be an engineer…