This article will help those who have been thinking or have already decided to become a developer. It is based on my way from a totally different career to a developer.
I was thinking of becoming a developer for a few years. I even finished a few courses in Udemy and Coursera thinking that it will be the trigger to get a developer’s job. But it was only the beginning. I later joined one of the Java Developer’s school that gave me good basics. After school I could start looking for an internship and later a developer’s job.
I do understand though that not everybody has possibility to join similar schools and do not know what topics they should learn to get good knowledge overall and be eligible for a developer’s job. Because of this, I decided to list topics that helped me to learn something really useful.
- Java basics
I am sure, you will find plenty of courses online that will help you to install the necessary tools and understand all the basics you need. I really recommend starting with some good rated video courses as they are more interactive and interesting than written tutorials (at least for me).
You most probably will get acquainted with such terms like conditional statements (if… else…), loops (while, for), arrays, etc. You will probably have to install an IDE tool in your computer which is a daily tool for every developer.
After learning basics I already thought that I could start looking for a job but oh well… it was far from that.
2. Java OOP
OOP is an Object-Oriented Programming. You have probably heard something about it and you can be sure that you won’t get a Java developer’s job if you don’t use OOP. Why not to find another course and dive deep into it. Java OOP can be part of your Java basics course but I suggest not to stop with just one course or tutorial.
Also, don’t miss the introduction to Apache Maven — you don’t have to spend several hours on this topic yet, but some knowledge will help you to understand at least about a better code structure. Later on you will face Maven more and more. If your Java OOP course doesn’t cover Maven, find some additional tutorials and try it.
3. Repeat basics, OOP and read some theory as well
After finishing some courses or tutorials you must start over and repeat everything. This is your ABC in programming. You will use it daily. Take another look at the code you already wrote when using video courses. Repeat everything and play with your code.
Now find some sites that cover not only practice but theory too. It is really important. If you won’t know theory it will be very difficult to communicate with more senior programmers later on. You just won’t get what they are talking about.
There are many websites to read that also provide a lot of examples, e.g., tutorialspoint.com, beginnersbook.com, javapoint.com, vogella.com, etc. Most of the websites are free to use and give you a quite good understanding and knowledge.
4. Basics of Linux
You can dive into Linux as deep as you want, however for a junior beginner it will be sufficient to get to know basic commands, read about how the computers run software, read about web or application servers, e.g., Apache Tomcat. This knowledge will broaden your understanding of IT overall and you will have some advantages when applying for your first developer’s job.
5. Databases
I can’t stress how important this topic is.
Basically, databases are places where you store all the required information, for example: which items your web-shop has, what are the prices, how many items you sold, who are your users, etc. You must learn how to manage this data.
Where to start? When browsing about databases, you might get lost with such terms like relational, non-relational, Oracle, MySql, MsSQL, Postgre, Mongo, blah blah blah… A lot of Java and web developers use relational database MySql. Why not start here? Find some course and you will learn how to use required tools, write queries (that will help you to manipulate data), etc.
If you want, later you can familiarize yourself with some most popular non-relation databases, like MongoDB or similar. But for the beginners MySql will be enough.
Don’t skip this topic — it’s not only important but interesting to study too.
6. Git
Git is something you can not avoid. Just read a few developer job positions and you will see that this is something you find in most of them. Why do developers need Git? Imagine, there is a team working on one project — they are creating a Student Management program for some university.
One developer writes code to register new students, another works on code that enables archiving. How both developers will merge their code into one program? Will they use USB? Gosh, no! Most probably they will use Git to merge their code into one program.
As a new student you can use Git to store your code and make it public. It will be the evidence of your hard work learning programming.
7. Let’s get back to Java — the most popular Java framework — Spring
After learning about databases you still may be lost and probably you will not understand how to relate Java with MySQL (or other DB) practically. OK, here is Java, and here is the database, but I want to learn to develop real stuff, not just write some simple code!
This is where Spring will help you get to your point. Overall Spring is a really broad topic. If you start reading about it, you might get lost with new terms and new perspectives. So I suggest to read some basic introduction to CRUD first (Create, Read, Update, Delete) — you will see it is somehow related with data storing, editing, deleting in your database.
I have found a cheap course where you can learn Spring basics – Spring Framework Basics Video Course
Then, do yourself a favor and find a course about Spring Boot.
Going through this course you will start to understand how everything you’ve learned before is related. You will also start to understand how can you realize your code. I strongly believe you will start getting a real joy of programming. And now it’s time to think about your first job! (Just think though…)
Oh wait…wait wait wait, there is more… You want to realize your Java skills and create something visible and usable?
Front-end: HTML + CSS + JavaScript
8. You thought you mastered Java and that’s it? No no, let’s go further and make your heart sing — HTML
Now that you have an understanding of Java programming, why not make a gift for yourself and realize your code by creating a basics website?
Take some tutorials about HTML. If you learned the above topics, this one will be much easier to learn. Don’t spend many hours here. After basic understanding, make this HTML nice looking — CSS.
9. CSS will show you how to make a website to look nice
Try some CSS basics. Even though a lot of programmers say that CSS is difficult to learn, I’m sure that after couple of hours you will like to see how simple HTML becomes a nice looking site.
10. JavaScript basics
HTML, CSS, and JavaScript are real friends. If you start learning one of them, don’t forget to learn the other 2 too. JavaScript is powerful and might take years to master it, but don’t dive deep into it YET. Just learn how HTML, CSS, and JavaScript work together.
Later on, if you will find yourself falling in love with JavaScript, you can familiarize yourself with one of the most popular frameworks like Angular or well-known library React. But not yet.
11. Link everything you learned and create your first small website
Find a course that will help you to link everything that you have learned so far. I would probably recommend some video course which covers Spring Boot with front-end. In this course, you will see how you can create a real program. It’s like a website where you can store, edit, or delete information, browse, and make it useful.
12. It’s time for a bottle of champagne
If you have reached this point, it’s time to think again — have you enjoyed this journey, was it really for you? If the answer is “Yes”, start looking for your first developer’s job. Now you have enough knowledge not to lose yourself in the interviews. There is still a long way to go but I’m pretty sure that most of the people who start learning programming do not reach this point. Be the one who can do it!
Good luck!
Photo by Émile Perron on Unsplash