In this post i dont want to get into each area in detail because then i would need to write a book. A book with more sites than a Stephen King novel.
I want you to show you a direction how to start to enter the development world and give you some resources and tips that hopefully might help you if you are really interested to enter this beautiful world!
A short introduction about my way into development to show you how i entered this world and work as a developer nowadays.
Hey, im Dany and i work currently as a Full-Stack Web Developer (currently more focused on Frontend). Back in 2012 i did an apprenticeship as a IT specialist specializing in application development. Or in short: Software Developer.
This is my story in short. How your story could go?
Self-taught vs. Apprenticeship/CS Degree
You have multiple ways to get into development. I will split them in two main categories. You can do an apprenticeship and/or even get a CS (Computer Science) degree in a university. Or you can be self-taught and learn it all by yourself. For that you just need an internet connection and fun at learning new things.
As we are positive and enjoy life we will concentrate only on the pro arguments for each.
If you do an apprenticeship and/or you go to a university you will learn a lot of important concepts. You will learn things like the history of computers and programming, the evolution of computers and programming over the years. And you also learn concepts like was i OOP (Object Oriented Programming), Data Structures, Loops, Pointers, Memory Management and a lot more.
And all of this can be very helpful of course but is it necessary? Nope, not necessarily.
Today we have the internet and much more content than we could ever consume. We have thousands of possibilities to learn all of the concepts i named above online by ourself. What a beautiful time to be alive!
I will share some of my top resources to get into development and learn it later on but let me say this:
You can be from 0% (non-tech) background to a top software engineer in companies like Amazon, Netflix or Google. If you have a laptop, internet, the willpower to learn every single day and then be consistent - yes you can do it! It will be hard sometimes but its also a lot of fun and as you learn more and more you will have this one moment where everything makes sense to you. The important "click" moment. And then the world is wide open for you!
Lets see what you can do for cool stuff as a developer.
As i said in the beginning development is a very wide area and you can specialize in many different areas. Lets explore some (there are to many to list all of them) right here.
This is also a loft of fun. For about 2 months now i tipped my toe into mobile app development with flutter and its a pleasure! You can build your own App and let it run on your phone. In a world where apps are our mainly companion throughout the day this brings you so much power and enjoyment.
AI / Machine Learning
First thought from most of the people when they hear Machine Learning or Artificial Intelligence: Cool!
And what can i say: Jeah its super cool! I can not say to much about it as i just did very basic things in this area but it was very cool and fun and this area is one of the fastest growing areas right now. And Python is also a very powerful and yet easy to learn programming language for beginners.
Never did that but im sure i will try it out one day! As a gamer till day 1 im just too curious how it must be to develop your own game.
many, many more
As i said you can specialize in 1000 directions and i would give you the tip to explore as much as you can before you really pick one and stick to that. The beauty of programming is you dont have to stick to one area. You can learn new things and explore other areas whenever you want.
- CS50 - Very good for learning fundamentals
- FreeCodeCamp - Nice articles, nice hands-on courses to learn every type of programming
- List of Online Courses - Like this list but a loooot bigger!
- Traversy Media - Very good teacher of a wide area of concepts and languages especially web development
- Flutter Community - Flutter is the new big thing for mobile cross-app development!
- Fireship - teaches all kinds of concepts very good and on-point
- Andreis Web Developer Course - For me this is a goldie! Best teacher i known, learning here is hella fun!
- Angelas Flutter Course - very nice course when you start with Flutter and app development
- Daily Dev - my no. 1 browser extension! Stay updated with the fast changing tech world!
- Hashnode - One of my favorite blog platforms
- Dev.to - One of my favorite blog platforms
These are only some resources. There are plenty more very good resources, Udemy courses, youtube channels etc. I just wanted to give you a direction and some resources i used. For the guys/girls that want to get into web development i really can recommend the course from Andrei. All of his courses are great because he is a very good teacher where learning is fun.
Every developer had this at least once. Imposter Syndrom describes the feeling that you think you know nothing and every other developer you know seems to be perfect and knows everything.
This will happen to you. It will feel very bad. But its a process! It wont hold for long. Be persistent, code as much as you can, be open for new ideas and improvements and you will get better and better and this feeling will turn into fun and excitement. Always remember you the other programmers where you think they are perfect also struggled or still do like you are. Nobody is perfect but everybody is perfectly fine!
Learn fundamentals and practice
If i would give you any advice it would be this:
Start learning the fundamentals of programming.
Frameworks comes and goes but fundamentals are forever! Once you learned and understand it its pretty easy for you to learn new things like a new programming language or a new framework.
Fundamentals in programming are things like:
Practice, Practice, Practice - Code, Code, Code
Hands-on is also a keyword. Try to do as much practically as possible. Dont just copy paste code. Type it. Feel it. Taste it! You will learn much more when you type out code instead of just copying it.
And my last advice is as soon as you get the fundamentals and pick a specific area build projects. Always. You will learn so much along the way and you are avoiding the tutorial hell. Tutorial Hell is when you are only doing tutorials, follow along and you arent able to do something on your own. I was there. I think most of the programmers where there. Trust me its not fun. Look for a cool side project that interest you and just start building it. Your code might be shitty but you will improve so much faster when you just start building things. Hit this keyboard!
Lets conclude it. If you are someone who wants to start to code and get into this beautiful world i hope that this post will help and support you in your journey! The developer community are full of nice guys/girls who will help you throughout the way and welcome you with a warm hug.
Lets code and change the world to the better!
Stay connected to me and my content on Twitter.
I love to improve myself every single day even if its just a tiny bit!
Stay save and healthy guys!
And as always: develop yourself!