In this document, when we talk about the tech field, we mean applying science and engineering to make cool digitized stuff like machines, devices, or apps, all to make life better for us humans. Think iPads, cellphones, graphics cards, and robots – basically, anything you can build with your tech skills. Tech is crazy fast and always changing, so every day brings something new and exciting!
For muslims, every piece of technology that you build that eventually betters the lives of people will be a sadaqah jariyah for you. Going into the field with this intention will ultimately lead to success, insh’Allah.
Software Development, Data science/engineering, Mobile/Web development, Cybersecurity, Robotics/AI/ML, Product Management, Technical Program/Project Management, Hardware Engineering, Network Engineer, Quantum Computing, Systems engineer, UI/UX Design
A lot of people in tech started out loving to build stuff and solve problems when they were kids, like making cool Lego creations or building epic sandcastles. But here's the thing about getting into tech – you don't have to be some engineering whiz who's been building gadgets since they were toddlers. The key to rocking it in the tech world is having a passion for creating things that make people's lives better. If you've got that drive but don't see yourself as an engineer, no worries! There are cool tech careers for you, like being a UX designer (making things look and work awesome), a program manager (keeping projects on track), or a product manager (coming up with ideas that people can't live without). It's all about making a difference with what you create.
Below we’ve shared a table on how much a software engineer will make throughout their career. Since the distribution of earning potential is quite wide, we’ve sampled some across a wide variety of sectors to highlight achievable salaries. It goes without saying, but the higher salaried jobs are far more competitive and will certainly require a higher time investment to pass their technical interviews. That being said, just because you don’t land your first job at Google, does not mean you cannot transition to it or another big tech job later in your career.
To dive into the world of tech before heading to college, there are several things you, as a high schooler, can explore. If your high school offers great programming classes or has tech clubs like a robotics club, I'd strongly suggest getting involved. But if not, no worries – some of the best tech minds, like George Hotz, taught themselves. If you're leaning towards the engineering side of tech, just start coding. A cool and beginner-friendly project is creating your own personal website, and ChatGPT can guide you through it. Even if you're not eyeing an engineering role, having some knowledge of code and engineering basics can make you stand out as a UX designer or program manager.
To explore the hands-on side of tech, consider delving into hardware projects—coding and tinkering with physical devices. If your high school has a hardware-oriented club or classes, such as electronics or robotics, it's a fantastic opportunity to get hands-on experience. For those intrigued by the intersection of software and hardware, experimenting with coding for microcontrollers or building simple electronic circuits can be both fun and educational. Platforms like Arduino or Raspberry Pi offer accessible entry points into hardware tinkering, allowing you to bring your code to life in the physical realm.
Something that is underrated and underappreciated for technologists is creativity. Having dedicated time in highschool to hone these skills is amazing - definitely don’t skip out on art.
In the end, start building a portfolio. You can even showcase this on your college applications, giving you a unique edge. But, in summary:
The most common path to break into tech is an engineering (typically computer or electrical engineering) or computer science major. Less common but also popular majors to get into tech are mechanical (robotics / thermal component design), biomedical (for medical devices) or really any other engineering field. Finally, outside of engineering, UX and product design majors provide the foundation to enter tech.
Declaring your major really depends on what you find personally interesting. Here is a list broken down by common engineering majors on why you might pick one or the other:
To break into technology, especially in your first two years, its key to demonstrate experience and passion. The best way to do that is to build things. That being said, here a few ways to get involved with your campus community
This section is specifically dedicated to those with a specific technical interest. If you just want to be a front-end or back-end developer, then the classes you choose in your upper-levels matter less. It makes the most sense to take classes that you find specifically interesting to further explore the idea of attending graduate school in the future. Otherwise, as an aspiring back-end/ front-end developer with no interest in graduate school, its recommended to not overload yourself with difficult coursework to allocate more time to interview preparation (e.g leetcode, bolstering your personal portfolio, etc).
For those with a specific technical interest, especially with going to graduate school, it's worth doing independent research on graduate school requirements for your major. These specific technical interests are typically very mathematics-intensive; for example, a robotics program requires linear algebra, multivariable calculus, and, depending on the sub-field, differential equations are quite important, so making sure that you have these requirements fulfilled is critical. Furthermore, oftentimes, schools will provide foundational classes on these technical subjects (e.g artificial intelligence 101, intro to robotics, basics of machine learning etc) so gaining first-hand exposure to these topics will provide context into if you’d like to make the time and money investment. Notably, a lot of these specific technical specializations do not pay a significant amount more than a top tier software engineering job so it is really about what you personally find fulfilling.
As an aside, for those interested in things like product management, it makes a lot of sense to broaden your horizons beyond super technical subjects. Product management interviews often have a large emphasis on building empathy and communication skills so taking classes in the humanities will certainly help. Furthermore, product managers also need to make sure that their product is profitable, so an understanding of economics is also quite important.
Finally, it is never too-late to pivot, so do not feel that you're pigeonholing yourselves. I’ve seen history majors study chemical engineering in graduate school. That being said, knowing what you want to do earlier in your career will certainly make things less painful.
We’re going to lay out specific things you can do outside of the classroom and how to get these opportunities but the best things you do is become passionate about your subject. Find your passion and fall in love with what your doing. This will take you farther then following laid out steps just so you can land a job. If you already know your passion then you’re one of the lucky ones but for the rest of us, how do you find your passion or do a project that you would really enjoy? By trying as many things as possible, this is the time to play with ideas and learn about your skill sets.
This is one the best things you could do to get yourself ready for the real world. Typically most people land internships for their summer before senior year, but it’s not rare to land one sooner if you have enough experience from other extra curricular activities.
How to get it
Getting a TA role is great, it shows a professor can trust you, you have leadership skills, you are well versed in the class, and you are able to be well versed in your subject. If it’s a paid TA position it’s a great way to make some side money while going to school. You can get these roles by doing well in your courses to show you know the subject well, speak to current TAs on how they got the opportunity, and speak to the course professor about it.
Do something that you find fun and challenging. It doesn’t have to be a brand new idea and can be something that already exist. It could also be a subject you find interesting and want to learn more about.Get a good group of friends to build with, turn them into fun hangouts where you build.
This is a great place to do projects with other passionate students and make new connections. There are multiple day events where you compete to build the coolest project and are sponsored by multiple companies to attract talent. They have free food, snacks, and swag. Companies will also have stands where you can talk to current employees about their experiences working there and learn about opportunities. It's not a bad idea to bring some resumes with you. Hackathons are typically held in many colleges around the county and can be found with a simple google search!
Online courses are a great means of building specific subject matter expertise. Some examples of these online courses are sites like Udemy and Coursera. Furthermore, universities like Harvard and MIT also publish free course materails.
If you have specific technical interest (e.g robotics, machine learning, computer vision), then research is a great foundation to explore said technical area. Furthermore, research labs are also more conducive to hiring career undergraduates (e.g freshmen, sophomores) and will give you enough context to understand whether or not you would like to take your career in a more technically-intensive direction. Finally, getting your name on publications or abstracts is always impressive to recruiters and graduate school admissions committees alike. The best way to land a research position is either ask a professor after class or cold email one (research email template coming soon)