Introduction β¨
Over the years in my journey as a developer, I've helped a couple of people get started in Tech. Some are not particularly new to the Tech thing, and others have no ideas.
One common question I get is "How do I start?". Hearing this for the first time got me thinking and nervous π . I thought "how did I get started?" (I'm self-taught). I made a lot of mistakes which would make me modify my answer to the questions after every person. Of course, I'd always try to tell them not to make the same mistakes as I did.
With more people asking me these questions, I've been able to get a good/decent roadmap to get anyone started in Tech (there are tech jobs that require coding and some that don't). And I'll be sharing that here as well, and yes for free π, as always. All that matters is that you start π
Why do you want to learn to code? π€
So you want to learn to code. Awesome! Everyone is talking about how coding is the future, you've read or heard how much coders make, you've seen tech firms valued at a billion dollars, and now you're considering giving it a go for yourselfβor even thinking about changing careers.
You could be interested in learning how to code for different reasons.
You probably love the idea of coding or building software at least I did π€·ββοΈ
You have an idea for a startup π₯
You want to build software (website, app, games, desktop apps, AI e.t.c.), and you don't have the money to pay a developer. Or you want to take on the challenge to build it yourself.
Maybe, tech money is even the motivation π. And it's okay.
Perhaps, someone advised you to learn it. Yes, someone once told me that. Cool!
Before you continue, it's noteworthy that you know that coding is not easy, and it's also not difficult to learn. It requires you to put time and effort into it, research, and maybe have sleepless nights.
Note, Coding is not a get-rich-quick scheme.
Careers in Coding π©βπ»
Before I get into the different careers and tell you what they mean. Let me highlight some of the possible or common things you can do with coding.
Websites β> A site with just information like a landing page, brochure site e.t.c
Complex websites or web apps β> websites with more functionality where things are dynamic. Websites like Facebook, Twitter, Instagram, Gmail e.t.c
Mobile apps β> Apps for mobile phones like iPhone or Android apps
Desktop applications β> Applications for Laptops and Desktops
Make Games
Create Blockchain apps
Data processing & data science
AI & machine learning
Internet of Things (IoT)
Okay, you have an idea of what to expect.
What is coding? It's simply translating your solution or ideas into a format a computer can understand, Period. There's much more to coding than just writing code. It's part of different disciplines like Software Engineering and Data Science.
Now, let's jump into careers.
Web Development
Web developers use computer programming to create and maintain websites. It can be subdivided into Front-end development and Back-end development. Web developers may specialize in Front-end and Back-end development or work on both as full-stack developers.
Front-end developers are in charge of everything a user sees and interacts with. Images, layouts, buttons, menus, content, and the overall look and feel of the site are all part of this.
Back-end web developers work on the part of a website that operates behind the scenes. Back-end developers write code to implement the logic and site functionality. They are in charge of database management, writing server-side code, system architecture, and server configuration (this is usually now managed by DevOps Engineers, a career path as well).
Mobile App Development
A mobile app developer is responsible for creating apps that run on smartphones and tablets.
Data Scientist
Data science is one of the most popular fields in tech.
Organizations collect massive amounts of consumer data and require data scientists to organize and analyze this data. A data scientist's primary responsibility is to look for patterns and draw practical conclusions. These findings can be used to make informed business decisions to improve products and gain a competitive advantage.
Game development
Game developers turn ideas, drawings, and mechanics into engaging video games. It may already sound too good to be true, but you can add a comfortable salary to the mix. This is a competitive field, but it's a dream job for gamers.
Generally, what programmers are expected to do includes:
Writing and testing code for new programs
Updating existing programs
Identifying and correcting coding errors
Rewriting programs for different operating systems
Secure programs against cybersecurity threats
You'd also be required or it's useful to have some soft skills. Check these out:
Do your research
It doesn't end here. You still need to pull google up and search thoroughly on what you've read so far and what you'll read.
Do your research before choosing a career and running along its path. Search for the languages you need to learn for the career path you've chosen.
Do you notice how there's a lot of "you" here?π Yes, you still have work to do. Reading this doesn't automatically make you a developer or make you know everything about each career listed or all the jobs in technology. Do your research
How to learn how to code - Useful resources π
There are various resources out there that provides a means to learn how to code. As much as there are good resources, there are also resources that are not well-structured for you to use as a beginner. It's also necessary to learn with a roadmap so as not to feel lost or like you're not progressing after you learn the fundamentals. I'll also advise that you go through a roadmap with the help of someone ahead of you in the industry. This is crucial so as not to waste your time learning all time. So I'm going to list a couple of the resources I know would be very helpful, and maybe indicate what field they are most useful for. You can also drop the ones I might have missed out on in the comment below
FreeCodeCamp: contains an abundance of resources all for free. They have a good amount of resources for the different tech fields. They also have a YouTube Channel with many videos.
Books β PDFs or hard copies.
Coursera courses
Udemy courses: Note, I don't recommend them unless you know what you're looking for.
Bootcamps are also an option
AltSchool Africa: They are a well-structured way for you to get into tech, and get a degree and a job in a year.
There are YouTube channels where you can find good videos like
Dennis Ivy (More Django Backend Framework stuffs)
Tech Emmy (it's growing but has good videos already)
Make that decision π€
You're probably now at the point of deciding or have decided on what you want to do. If you're still deciding, you don't need to overthink it. Know that you can always transition from one field to the other later on. Make that choice now and just start.
Just Start π
At this point, you've made that decision, and you're ready to kick off π.
Once you've decided, with the help of a mentor or someone ahead of you (You can always DM me on Twitter for help @iTechEmmy) β Start learning the fundamentals. It would be best if you mastered the fundamentals as they are the building blocks to every other thing you'll be developing from now on. After you've mastered them, learn some advanced concepts. The reason for 'some' is that from my experience, you can't understand all those advanced concepts now, and it's okay.
Building Projects π©βπ»
Now that you've mastered the fundamentals, don't waste time learning the same thing repeatedly. Take on some projects. That's how you'll solidify your knowledge.
You can start with a tutorial video on building a project on YouTube and follow along to see how you assemble things.
Try adding more features yourself. If you get stuck, search on google or ask on Stack Overflow.
Search Google for project ideas if you can't think of any now and take them on. You can search for project ideas for 'beginners' or your level of expertise for a start.
Choose a project and start working on it
If you get stuck and the project is similar to the tutorial video you just watched, don't refer to it for help immediately. Try other means like google and stack overflow. Learn how to use documentation. Learning how to search for solutions on google is an invaluable skill.
Build more projects and you'll be confident in your skills
Try building more projects on your own now and see how far you've come.
Important values for you
Before I end this, I'll leave you with two things I believe are vital in this journey which are
Consistency
Discipline
They can be challenging to work with, but they always pay off.
Note: This is not a one-off read. It's an article you can always refer to as you journey on. I also plan to improve it periodically.
I hope this is helpful. Enjoy yourself as you start this journey. Peace β€οΈβοΈ