Joining the developer world and don’t know how to start?
I will make this part of a series, and on each story, I will show you a bit of this big world, so later you can decide.
Over the years many future developers don’t know where to start but they know they want to join the IT world, and they ask me what path to choose or how to do it. I’m here to guide you, just a bit, so you can later decide.
To make things easier, we can think that we have 3 worlds, each has its own path, technologies, and learning curve.
Those are Mobile, Web, and Back-end.
Note: There are more, Desktop, Games, etc. but I will talk just the techs I work with, maybe a bit of game :)
Mobile: here you will develop for Phones, Tablets.
Web: here you will develop for Browsers. (doesn’t mean you have to forget mobile and tablets)
Back-end: here you will develop the “cloud” for the specific need.
If you ask me which one is easier, all of them, and if you ask me which one is harder, all of them. The main thing here is, you have to like what you are going to do, which one “feels” easy, and you can get some fun doing it. Each of them has its awesome things and things you will hate.
Chatting about each of them
Mobile
Use your OS of preference (for iOS apps you will need a macOS). In the beginning, you can run and test your apps on emulators but it is always good to do a final test on a real device.
We have 2 main targets, Android and iOS. For Android, you can use Java or Kotlin (I will go with Kotlin) and for iOS, you can develop with Object-C or Swift (I will go with Swift).
Then, you will need an environment where to write code (IDEs — Integrated Development Environment). For Android, the best choice is Android Studio and for iOS Xcode. Those are for coding at the “native” level and specific to each platform.
On the other hand, you have some cross-platform options, like React-Native and Flutter (there are more but those 2 are what I will focus on), for this one you can use VisualStudio Code.
Finally, you can do games, using Unity (I use C#).
Web
The same as mobile, use your OS of preference. You can use any Browser but in the end, it is better to give support to most of them, Chrome, Safari, Firefox, Opera, etc.
Then, for your IDE you can use VisualStudio Code, WebStorm, Atom.
You can develop with ReactJs, VueJs, Angular, etc. I will probably show you a bit of ReactJs.
Back-End
Same as the others, use your OS of preference. You will need some no day-to-day tools, like Databases, but don’t worry, you will learn. Same as Web you can use VisualStudio Code, Atom, or any of the IntelliJ family.
There are many languages to develop with on the Back-End, the one I used is NodeJs, but you can use Python, Ruby, Go, etc
For Mobile and Web, the “good” thing is, that will you get quick visual feedback. You can get inspired by Dribble. However, for Back-End, you won’t have to build visual elements to interact with. You will use other tools to test and “see” that everything works, like PostMan.
One last thing…
There are some terminology and concepts you can learn and will work for any development language you choose. Like conditionals (if-else), numbers, text, ways to repeat something (for, while), structures, List, Set, Array, and more. Learning and understanding are half of the trip, then you have to learn the specifics of each language. So if you choose Mobile, but later you want to move to Back-end, you can do it, because the things you learnt will stick with you. So, don’t think you will need to learn all from scratch if you want to switch. Yay!
In the next post, I will show you a bit of everything, code, User Interface (UI), etc. Meanwhile, you can search for topics I mentioned, download the IDEs, getting familiar with them.
You are not alone, this journey, I will do it with you.