5 Tips for Math Graduates to Become Software Engineers
Graduates in math, physics, engineering, or other subjects with a strong quantitative focus might not immediately think about software engineering as a potential career path. However, software engineers are in demand and, with the right preparation and mindset, these grads can be well-positioned to enter this fast-growing field. There are many paths you can take after graduation to get into the tech industry and become a software engineer. You may find that you prefer working with computers over anything else; or you may just view it as a necessary first step toward your ideal career. Either way, here are 5 tips to help math grads become software engineers.
Build your technical skills
Graduates with strong technical skills will always be in demand. If you are unsure what technical skills you should be developing in your new job, you can start by talking to people who are currently working in software engineering roles. Ask them what they wish they had worked on in their undergraduate or graduate studies. You can also review current job listings to see the most common technical skills employers are looking for. Some of the top technical skills employers are seeking in software engineers include data analysis, data visualization, programming languages like Java or Python, software architecture, and machine learning.
Gain some coding experience
Even if you don't major in computer science or engineering, you can still get some coding experience. You can look for opportunities to get involved with hackathons or other programming-related activities. There are also organizations like CodePath that offer online coding boot camps. If you don't have the funds to do this, you can also find local organizations that offer free or very low-cost coding classes. Another option is to find a company that is willing to bring you on as a contractor or a part-time employee to do some coding work on the side. This can be a great way to build up some experience without having to quit your full-time job. However you do it, you'll want to show potential employers that you have a strong grasp of the fundamentals of coding. Be sure to brush up on concepts like data structures, algorithms, computer architecture, and cybersecurity. You can also try to build something on your own as a way to practice coding in a real-world context.
Develop a growth mindset
No matter what your undergraduate or graduate degree was in, you may have heard about the importance of having a growth mindset. However, if you don't know what this is, it's important to know that you are equipped to succeed in a field like software engineering. Having a growth mindset means you understand that while you have inherent strengths and skills, you can always improve and learn new things. You don't give yourself a hard time when you don't know something or don't have the ability to do something right away. Having a growth mindset will help you avoid the imposter syndrome that many new grads experience when they first start working in their desired field. Having a growth mindset will also help you to be more open to feedback and willing to change course if your current job or company isn't a good fit.
Don't be afraid to change course
If you're pursuing a career in software engineering and you find that it's not a good fit for you, don't be afraid to change course. In fact, it's a common thing for new grads to do. It's important to be realistic about what it will take to succeed in your new job and not be afraid to admit that it's too much at once. If you find yourself struggling in your new job, you don't have to be ashamed to ask for help or change paths. Don't let the fear of failing or messing up hold you back from pursuing a potential career path. Remember that there are people in every field who fail at times or make mistakes. The key is to learn from it and keep moving forward.
One of the most important pieces of advice for anyone entering the tech industry is to make sure you are Coachable. You may find that a manager or mentor assigns you to work on projects that you know nothing about. Don't be afraid to ask questions and admit that you don't know how to do something. Being Coachable means you are open to feedback and eager to learn new things. You don't have an ego that prevents you from admitting you don't know something or aren't capable of doing something. If you can show that you are Coachable, it will help you build relationships with your manager, co-workers, and potential employers as you progress along your career path as a software engineer.
Darek Johnson, Coachable CEO, answers some common questions:
What does math mean?
"There’s a large range of math degrees in the US. Many are very rigorous covering lots of courses with proof based topics. Topics that signal super strong problem solving skills are
Topology (not topography I’ve had someone mix this up before)
Discrete Math / Combinatorics
If someone has been able to succeed in any of these courses, I think that they have good potential to be successful in Coachable from a pure problem-solving perspective. The rationale is that these courses are REALLY HARD and are very rigorous from a problem-solving perspective.
The reason I said the math range is so large is that while these are usually core classes in many math degrees, they are so challenging I’ve seen students try to dodge the hard classes but still try to get a math degree.
Someone once said “If I can do real analysis, I can do anything” - I kind of agree with that haha"
What does it take for a math grad to land a job in FAANG+ software engineering?
"It’s actually the same thing as any CS major. They need to be able to get interviews and pass them. Adding 1-2 projects for their resume and pitching themselves well will get the interview and studying data structures/algorithms on websites like Leetcode or working with Coachable will train them to pass the interview."
If someone is currently getting a degree in math what classes should they take to open up their career potential?
"All they need to take is:
Intro to computer science (can they write basic code with for loops). Ideally this would be in Python but any language is fine so long as they eventually learn Python. Princeton 126 or equivalent
Algorithms and Data Structures Princeton 226 or equivalent.
The other classes don’t really matter as much because the core of interviews is data structures and algorithms."
Can math grads land the same high paying jobs as computer science grads?
"Yes, and I think in many ways they are more equipped. The coding interview is more focused on abstract problem solving rather than writing code - writing code is just the language used to communicate the ideas. However understanding the ideas and problems are usually the bigger challenge.
Once hired at Google, there’s no distinction between math majors or CS majors - everyone is an engineer at the same level when hired.
What technical skills should math grads develop?
Learn how to code basic interview questions from websites like LC
Study data structures and algorithms"
Being a math graduate doesn't mean you have to be stuck in a job that isn't fulfilling. Instead, you can use the skills and experience you have to move into the tech industry. With the right outlook and technical skills, you can easily become a software engineer and have a rewarding career in one of the fastest-growing industries. If you've always been interested in software engineering, this is an ideal time to make a career change. The tech industry is in high demand, meaning that there are plenty of jobs available and lots of room for growth and promotion. With these five tips, you can become a software engineer and thrive in this growing field.