It's a vast world
The tech world is an exciting space with so many resources that it makes it a bit frustrating or overwhelming to navigate, especially for beginners and hobbyists trying to understand the domain and what it entails. There are so many guidelines in the tech space and numerous free and easily accessible resources online. Unfortunately, this blog does not cover all that is out there but gives a specific yet straightforward guide to navigating the tech world and its resources.
To group or not to group
The tech world has a couple of terminologies: front end, back end, fullstack, Ops, SysOps, DevOps, SRE, Product Manager, etc. These terms apply to specific focus areas, and a couple of base knowledge is needed to see through it. I will share a couple of links to start with and talk briefly about them. Hopefully, by the end of this blog, you will probably be able to make a well-informed decision about tech and what you are looking to make out of it.
Front end
The term frontend developer/engineer usually refers to techies who are more concerned with how users interact with a website or app; think of the visual elements here, from the colours to designs, to how texts are arranged and how users feel when they interact with the application a term that is now commonly known as User Interaction/Experience(UI/UX)
Here are a couple of suggested links for starting your path in front end as a techie:
Web Basics
UI/UX Compiled courses on Google drive
Twitter resources:
Some Projects that you should built after learning Html , CSS and JavaScript>
Youtube Link
Back end
A techie who is concerned with the part of the application that a user can't see (The server-side) is usually called a back end engineer, and it gets grey from here, especially if the engineer also gets involved with infrastructure and deployment ( a bit of DevOps)
To excel in this part of tech, you need knowledge of server-side scripting languages like Python, Golang, NodeJS, Ruby, Rust, Scala etc.
To get started with Backend, you need to learn the basics of these languages and build mini-projects. And as you build, you'll get to pick up some basic concepts like how to design APIs, what webhooks are, and how to create a simple CRUD app like a Todo list or come up with something cool. Be sure to ask Google if you are unsure what to build or learn.
Here are some useful links including Github links to reference for learning and improving your backend skills
- Python School Github
- Python blog topics
- Learn Go by example - As simple Github project to apply concept
- Learn NodeJS
- Learn Ruby the hardway
Basic Web Agnostic Concepts
- What are APIs - Create an API in python
- Webhooks Explained
- SOLID principles
- Model View Controller Pattern
- Publish-Subscribe Pattern vs Message Queues vs Request Response
If you are a fan of reading and collecting books about tech, then this next link will be more than useful to you
Programming Notes for Professionals books - All free and will help you in your journey to becoming a world class engineer.
Every Other thing - Fullstack, DevOps, Machine Learning, Data Science....
If you are interested in Blockchain technology - Storing data in blocks that are linked to form a chain. You can reference this link as a quick primer and then go to this course
blockchain basics to get the hang of it.
Other resources for base knowledge of blockchain or web3.js are:
Microsoft also has a very interesting collection of learning resources for beginners in Web Development, Machine Learning, IOT and Data Science
One more thing, if you are interested in architectural designs and patterns here are two interesting links that you may find useful
Now that we have gone through a non exhaustive list of resources, I believe you can take a leap from here and explore further on what best suits you in the world of tech.