As an incoming college freshman planning to work in tech industry, what should I do over the next few years to prepare?
Ex: types of skills to learn, types of internships to get, people to reach out and connect
Explore different areas of interest to narrow down your tech focus.
Explore more within that specific area.
Develop common technical skills such as using GitHub, programming languages common to the area you are interested in.
For software engineering - practice coding interviews and technical interviews to make sure you are well prepared for future interviews so you can showcase technical knowledge and skills.
Developing general professional skills (scheduling, networking, reaching out to recruiters).
Go to career fairs to network.
Enjoy your college experience, make friends (networking) - you never know how those friends can help later.
Participate in technical groups at universities.
Try out different types of internships to learn more about different areas of tech/areas of interest, and network in those internships.
Freelance/do personal projects to get experience on resume/portfolio.
Here's the thing that we think you can do to jump into the tech industry:
Talk to people and reach out to your alumni, trying to figure out what roles you want to work in in the tech industry. There're many different roles in a tech company -- such as software developers, product managers, QA engineers, and UI designers, etc. Maybe there are one or two roles that you're interested in, and then you can take courses related to that area.
For instance, if you want to work as a software developer, you can register some coding courses or take a computer science major/minor. If you're interested in product management, take courses related to business, HCI, and people management.
For instance, if you want a software engineer job. Get knowledge about basic programming skills like variables, loops, functions, etc
- Learn about Object-Oriented Paradigm
After learning various skills and doing courses, pick a good project to get hands-on with all the skills you have learned. Try to participate in any related hackathons, and collaborate with other people having similar interests.
For example, software developers can build any mobile application or website.
You can try to expand your network by getting in touch with your college seniors or your college alumni. For this, you can try to make up a group of people with similar interests and try to make an alumni association that can work on the behalf of the college and it can have sessions for the students so that the students can get an idea of how they can move further in any specific field.
Beyond that, another thing I would highlight that is becoming increasingly common is a need for core business acumen, which is generally transferrable from company to company in certain ways. All the technical knowledge you could possibly have does very little if the foundation of how/where/when to apply it is unstable. Sometimes developing that business/domain specific acumen has to be done within and it's simply better acquired on the job at an organization vs. something you can train/learn. There are also times where you can get hired off the street directly into something you really want to do, but I see that as generally less common in the tech industry these days. Sometimes a good option is to start at a more entry-level position and work your way into a side of the business you're more interested in.(that could be where your internship idea could kick in) It's a simple example, but getting a basic role at a business can allow you to understand the business and allow you to bring additional value to the table if you applied to another area at that same company for a more technical role.
Lastly, I would give some thought to your core expectations of a job/career, and what you want to get out of it. For example, do you want to work at an office or do you want to work at your home? What level of compensation do you want to work towards? Where do you physically want to be located? All of those things will help you narrow down options and what types of things might be a good thing to focus on.
3. Data science
4. Artificial Intelligence
5. Internet of things
6. Learn at least one programming language very well
In addition to this, work on projects of your interest. Create a portfolio on Github to showcase to prospective employers.
Use professional networking sites like LinkedIn to reach out to industry veterans and experts.
I'm not actually in the tech industry, but I do have some knowledge as I attended a nationally ranked (25 at the time) magnet program school, completed 4 years of computer science/engineering curriculum, and have many friends who are working in Big Tech companies. I was originally planning to do CS, however, I wanted to differentiate from my siblings' and keep the family diverse in professional industries. It's good that you're already inquiring about the best methods to prepare and learn.
In short, I'd say to keep advancing your technical skills in various programming languages. To do this, you should focus on a few programming languages (that are popular but still challenging) to master, while dabbling around in others that may not be very popular but still used in industry. Popular languages would be Java, C++, Python, etc. Three popular way to develop: utilize platforms like HackerRank, browse Youtube for creator videos, and search Google for articles that provide technical education.
Also knowing how to operate on Github and VS studio code are pluses. To build upon this, you should have goals to create side projects that can showcase your skills and knowledge, or basically apply what you've learned. Your projects should increase in difficulty, but don't worry if it's not super advanced. You're learning; and as long as you get better, that's all that matters.
Do your best to get internships, but if you aren't successful, side projects are a great way to show you're still learning and making the most of your downtime. For internship advice, you can visit my page for my other suggestions to another student. But the best method, in my opinion, is networking when possible, and directly contacting companies and professionals for potential internships. For internship preparation, do the above and become more knowledgeable regarding the application processes for the companies you're interested in. Hope this helps!