A lot of people ask me, how to get started with tech. If you have been asking this to someone, this might be the answer.
Let me try to answer it by taking some relevant programming fields in context.
According to me, there are four major programming fields that a beginner can start with,
- Data Structures & Algorithms
- Competitive Programming
- Web / App Development
- Machine Learning / Computer Vision
Let’s talk about them descriptively one by one.
Data Structures & Algorithms?
An essential & general starting point of everyone's programming journey is Data Structures & Algorithms.
In Data Structures you learn about the syntax and possible ways of structuring your data in different forms while in Algorithms you get to know the hustle part of mental work where you write procedural steps to solve a specific problem.
There are plenty of resources available online for learning DSA, I would recommend to pick up a dedicated regular class or a course. There are various benefits of joining a program, and the most important ones are regularity & mentor support.
One of the branches of DSA comes out to be Competitive Programming where you have time & space restrictions and need to solve a theoretical problem by writing optimized codes while using minimum resources and competing against 100s and 1000s of coders.
You can start with Competitive Coding right after you have gained knowledge of basic Data Structures. There are various platforms available online. I would recommend going with Codeforces and CodeChef.
Web / App Development?
If you are interested in making applications, I would recommend starting with Web or App Development as it's the web and mobile apps with which you interact on a daily basis. More specifically start with Apps as they are in popular demand these days and I personally unlock my phone 100 times a day to dive into those.
You can choose any of the frameworks available online, there are tons of them. I use Flutter for App Development and ReactJS for Web Development. These are the prettiest framework I have worked with till now.
Machine Learning / Computer Vision?
Machine Learning is an intriguing field and really interesting to pursue as a career. But there are nearly no jobs available for freshers.
If you are in college, Machine Learning or Computer Vision might give you an upper hand in placements but might not get you placed all alone. I would recommend limiting Machine Learning to the extent you feel it's gonna add up to your career.
Mantra to success?
Set your long term goals early in your career and short term goals as you go. Define them in such a way that your short-term goals adds up to a long-term goal. Similarly, your long-term goals add up to your life-goal.
Here's how goals could look like:
A Long Term Goal
Get a Software Engineer job at Google.
A Short Term Goal
To acquire a skill that would help you get an internship in the upcoming summer.
ProTip: Having prior experience in form of internships adds a bit of weight to your resume when applying for full-time roles.
Success is no accident. It is hard work, perseverance, learning, studying, sacrifice, and most of all, love of what you are doing or learning to do. ~ Pelé