How to get started in tech
If you’re looking to get started in tech, you may feel overwhelmed by all of the different career options and programming languages out there. And you’re not alone — it can be tough to figure out where to start. There’re so many options!
1. Getting started
First things first, whatever field you decide to pursue, you should get your basic computer science concepts straight. Because if you have a basic understanding of what’s happening underneath the hood, it’ll fast-track your learning process you’ll learn everything much faster. And you will write better and more efficient code because you’ll know about the limitations of the machine and more. Getting your computer science concepts straight means understanding how computers work, what binary is, and how data is stored and processed in the computer’s memory. This might seem daunting, but it’s not as complicated as it sounds. There are plenty of resources online that can help you, for starters check out this video by freecodecamp on computer technology. It should give you a basic understanding of how computers work and so- forth. I found this analogy online that perfectly explains learning coding without learning about how a computer works beforehand.
2. Learning a programming language
Learning a programming language is an exciting journey, but it could also prove challenging for some which is why I suggest that before diving into a real programming language, you should learn basic concepts using a platform like Scratch — At least that’s what I did, spend a day or two exploring the available building blocks, get a basic understanding of what conditionals, loops and functions are, what they do and so forth.
Now that we’ve got that out of the way, it’s time to move on to an actual programming language, you know the ones where you have to write actual code. There are multiple options, and we’ll discuss a few of them and their use cases and you can decide which one is best for you.
JavaScript: Probably the most used language in the world. It is primarily used on the web alongside HTML and CSS to create dynamic and responsive web pages. Although, with the use of frameworks you can do so much more with it for instance, React Native allows you to develop apps for Android and iOS. And the Electron framework enables you to create desktop applications using web technologies. This is a great option for you to start off with because it is relatively easy to learn and there are many resources and courses (linked at the bottom) online for you to start off with.
Python: Much like JavaScript, Python is extremely popular among beginners, because of its minimal English like syntax it is an extremely easy-to-learn language. It is most commonly used in scientific computing for data visualization, data analysis (more on these later). It is also used in back-end web development making use of frameworks like Django, flask and FastAPI for developing RESTful APIs.
Java: Unlike the previous two, Java can prove to be challenging for beginners If you don’t have a technical background, but if you followed my advice on getting your concepts straight before learning an actual programming language, then it should be lightwork for you. It is widely used for Application development for Desktop, Android and IOS. Much like Python, Java can also be used for back-end web app development. If you do learn Java, you could then go on to learn Kotlin or Scala, they are essentially like Java but better. Kotlin is most commonly used for android app development.
Rust: Rust is a programming language that has gained a lot of attention in recent years and many programmers and big tech corporations are making big bets on it, it has blown up in recent years and is considered the most loved programming language — I’ve only ever heard good things about it. Rust unlike other system programming languages like C and C++ makes it impossible for the programmer to introduce memory-safety bugs to their code, which account for 70% of security vulnerabilities. It is an extremely fast language and can be used to build high performing game engines and other cool stuff, only downside is that there’s not a lot of job opportunities and documentation or resources available right now as it’s still relatively new compared to the other three languages in the list, so if your goal is to get a job then I would suggest learning something more in-demand. But if you want to do your own thing and build cool projects, I would definitely recommend using Rust.
Well, to be honest It doesn’t matter what programming language you use, whether you’re using Java, Python or any other programming language. You can essentially do anything you want with these languages making use of frameworks. The key is to choose the right language for the career path you may decide to pursue. And now, in the final section of this blog, we’ll discuss all the different career options in tech, and you can decide what suits you best!
3. Choosing a career path
Choosing a career path in tech is hard. With so many options available, it can be difficult to decide what field is best for you. In this section we’ll discuss exactly that.
Data science: Data science is a rapidly growing field and a great career option. A data scientist is responsible for analyzing, interpreting, and predicting trends from data. Data scientists most commonly use Python and SQL (a data query language). You need to have decent skills in mathematics and statistics. Resources to get started in Data science are linked at the bottom.
Web Development: This one is pretty self-explanatory; a web developer’s job is to essentially create websites and maintain them and make sure they are performing up to standard. There are two paths within Web Development that you could take Front-end and back-end.
Whichever you may decide to go for, you should first learn some basic HTML and CSS. A front-end Developer is responsible for creating the visual aspect of the website, it’s functionality that is visible to the user, for this you will need to learn JavaScript and at least one of its frameworks for front-end development. My suggestion would be to learn React, since it’s one of the most in-demand front-end framework.
Meanwhile, a back-end developer is responsible for the underlying structure of the website and working with databases, processing data and so forth. You have multiple options to do this, you could learn Python Django, Ruby on Rails, PHP Laravel or maybe even Java with the spring framework, I would recommend researching which of these languages are most commonly used by major companies in your country. You could do this by checking job listings on LinkedIn and go from there. Resources to get started linked below.
An analogy to explain the difference between the front-end and back-end of a website.
Think of a restaurant — the front-end is like the menu and the way the food is presented to customers, while the back end is like the kitchen where the food is cooked, prepared, and served. The menu and presentation are important for customers to enjoy their dining experience (like the front-end is important for users to interact with a website), but without the kitchen and the cooks, there would be no food to serve (like the back end is necessary for the functionality and data processing of a website).
Cybersecurity: Cybersecurity much like Data science is a rapidly growing field and an excellent career option. A cybersecurity expert is responsible for protecting computer systems, networks and sensitive information from unauthorized access, they keep the system secure. In simple wording they’re responsible for protecting systems against unethical hackers. For Cybersecurity you would first need to learn Linux just like for web development, you needed to learn HTML, CSS. It is also recommended to learn a system language like C++. You would also need to be familiar with various tools used for cybersecurity like malware analysis, penetration testing and network forensic tools. Resources to get started linked at the bottom.
Mobile app development: Mobile app development is another great career option. To get started in app development you should focus on learning a programming language like Java, Kotlin most commonly used for developing android app development, although it can be used for cross platform. Swift, developed by apple is used to develop apps for iOS. You could even learn React-native, a JavaScript framework used for cross platform app development.
All this and there’s so many other career options, you could become a DevOps Engineer. You could maybe even learn UX/UI Design which requires absolutely no coding // programming whatsoever you would just be in charge of designing. You would only need to learn a few design tools like Adobe XD, Figma and knowing a bit of CSS is a plus.
Resources
As promised, resources for each field to help you get started!
Data Science:
- Math skills for Data science
- Data Science by freecodecamp.org
- Data Analysis with Python: Zero to Pandas
- Data Analysis with Python: Zero to Pandas
- Mathematics for Machine Learning and Data Science
- Data Science: R programming basics by Harvard
- Introduction to Data Science with Python by Harvard
Web Development:
- Introduction to Web Development with HTML5, CSS3, and JavaScript
- Introduction to Frontend Web Development
- Modern Web Development by full stack open
- Learn Ruby on Rails by Codecademy
- Python Django Backend Web Development by freecodecamp
- Spring Boot Java
Cyber Security:
- Cybersecurity for Everyone
- Ethical Hacking playlist by freecodecamp.org
- Beginners Guide to Cybersecurity
- Cyber Security Basics: A Hands-on Approach
- Cybersecurity for Critical Urban Infrastructure
- Cybersecurity Fundamentals
- Building a Cybersecurity Toolkit
- Basic Network and Database Security | edX
Programming basics:
Closing remarks
Getting started in tech can be extremely overwhelming. I recall when I wanted to start in January of last year, I was quite lost because there were so many options. Should I go with JavaScript, Python, or perhaps become an Android developer or a Cybersecurity expert? My advice to anyone who wants to build a career in tech is to do your fair share of research on the internet and explore what field is best for you before fully committing to it and devoting all your time and effort to it.