What are your chances of acceptance?

Your chance of acceptance
Duke University
Duke University
Your chancing factors
Unweighted GPA: 3.7
SAT: 720 math
| 800 verbal


Low accuracy (4 of 18 factors)

How to Become a Software Engineer: Steps to Take From High School

Do you know how to improve your profile for college applications?

See how your profile ranks among thousands of other students using CollegeVine. Calculate your chances at your dream schools and learn what areas you need to improve right now — it only takes 3 minutes and it's 100% free.

Show me what areas I need to improve

What’s Covered:


Every website, application, computer, or smartphone that you’ve used was likely worked on by a software engineer. Essentially, the role of a software engineer is invaluable in this current climate. In this post, we’ll go through what a job in software engineering entails, and the steps you’ll need to take to get there.


What Does a Software Engineer do?


Many people confuse software engineers with software developers, and though there is an overlap, their day-to-day duties and tasks vary. In short, software engineers handle the engineering side of things. This is obvious from the titles, but what it means specifically is that whereas software engineers build the software and are responsible for the system as a whole, software developers focus more on working with the client and designing it to meet their needs.


Essentially, software engineers employ coding and technical knowledge to develop software to meet a client’s needs. However, they usually take a more back-end role, often spending minimal time meeting with the client face-to-face.


Common tasks include:


  • Building networks and operating systems for applications
  • Designing and enforcing IT (Information Technology) standards
  • Managing the needs of both the hardware and software
  • Tweaking software as needed and regularly releasing updates
  • Integrating different software platforms into one product
  • Using mathematical models/scientific analysis to predict outcomes and design systems


For this job, you’ll need a strong skill set. Here are some of the most important things you should know how to do.


Hard skills:


  • Strong computer science skills
  • Mathematical modeling and analytic skills
  • Aptitude for multiple coding languages (including Java, Python, C++, HTML, etc.)
  • Ability to design and implement new software


Soft skills:


  • Organization
  • Creativity
  • Problem-solving


How Much Do Software Engineers Make?


According to ZipRecruiter, salaries for software engineers in the US average around $99,729 per year. This is almost $60,000 higher than $39,810, the average salary for all workers. However, this varies significantly by region. For example, in San Jose, California there is high demand for software engineers, and the average salary $123,178 per year. However, states with lower demands have lower salaries, like North Carolina, which has an average salary for software engineers of $75,104.

Discover your chances at hundreds of schools

Our free chancing engine takes into account your history, background, test scores, and extracurricular activities to show you your real chances of admission—and how to improve them.

How to Become a Software Engineer: Steps to Take from High School


Here is an overview of the steps you’ll need to take:


  • Graduate high school
  • Earn a Bachelor’s degree
  • Get your Master’s (Optional)


High School


In high school, you should build your profile to show colleges your commitment to software engineering. This could involve taking relevant courses, like AP CompSci or AP Calculus. High school is the time to start building foundational knowledge in math and computer science. If your high school doesn’t offer these types of courses, consider taking some at local community colleges.


Some schools have coding or robotics clubs, which might involve things like hackathons, video game designs, or programming robots. These activities will not only look good on a college application, but also give you insight into the field of software engineering so that you can determine if it’s right for you. If your particular school doesn’t have a relevant club, try starting your own!


If you feel like the school year is already too busy, other things you should look into are summer engineering programs or internships. Many top universities hold programs for high school students in their local areas, like CalTech’s Da Vinci Camp and MIT’s Research Science Institute. You can find opportunities for high school computer science internships. Or, consider entering a coding competition for more hands-on experience. For example, Cornell University hosts its annual High School Programming Contest.




Some schools have a specific software engineering major, but for those that don’t, you can major in computer science, computer engineering, or another related field. Courses that you’ll take include Computer programming, Program design, Computer Systems analysis, and more. You’ll also probably be required to take several math courses as well.


In college, you should continue to build your portfolio by engaging with software engineering outside of classes. Join related clubs, participate in competitions, or do other activities to build up your resume and gain experience in the field. Try to find extracurriculars more tailored to your future job interests. For example, if you’re more interested in video game design, Harvard has a Game Development club, where students have worked together on a variety of projects, from puzzle games to action-adventure ones.


Also, network with professors and attend professional development events to prepare you for when you’ll be job-hunting in the near future. Focus on companies or organizations that reflect your areas of interest (i.e. game design, security engineer, mobile developer, 3D graphics engineer, etc.).


If you’re considering getting your Master’s, you should definitely try to maintain a high GPA, especially in STEM classes. Though a Master’s is not necessary for most entry level positions, getting this degree correlates to a higher pay and increases your chances of eventually landing a managerial role.


It’s important to find colleges that are good fits and to create a balanced school list. Generally, your list should be around 8–12 schools long and include 25% safety schools, 40% target schools, and 35% reach schools. If you’re not sure which schools are safeties, targets, or reaches, you can find out your chances via CollegeVine’s free Admissions Chances Calculator. This tool will not only tell you your chances of admission at your preferred schools, but also how best to improve aspects of your profile, like GPA, test scores, extracurriculars, etc.



Hopefully this post has given you some insight into the field of software engineering, and what you can do to be successful in this career. 


For more information, check out some of these related posts:


Short Bio
Nisha Desai is a second year student at the University of California, Riverside. She recently started working at CollegeVine, but has done application guidance and tutoring in a private capacity for a couple of years. She is in school to eventually get her Masters in Education and enjoys reading and running in her free time.