🔻You are here
So you have done your “Introduction to Programming” class, or have watched some “How to learn Java in 10 hours” tutorials. You may have gone one step further, take a class like “Software development”, “Web technologies” or “Web development”. Maybe you have fiddled around with Java, wrote some console applications, solutions to HackerRank problems. Maybe you’ve heard about something called backend/frontend/fullstack development, a wide variety of stacks, frameworks, libraries, developer utilities, Git, Docker, Github, Jenkins, SOLID, KISS, TDD,… but you still don’t get it. What does backend developer do? You’ve never come across a piece of software or a part of a website with a sticker that said: “This part was made by me, Thurman, a backend developer”. So it stays kind of a mystery.
You have most of the knowledge you need to understand the concepts of backend development, and you have the whole internet and everyone on it to help you. This can’t be that hard, right?
Yeah, it can be hard. It’s easy to get lost in frameworks, buzzwords, new technologies and a wide array of opinions. You can spend an entire week planning your opening move into the world of web development to be the most optimal one, but should you? That for you to decide.
In my opinion, the first step shouldn’t be a calculated one, it should be a leap of faith.
Batteries not included
So, here is a list of what concepts you should know about or at least have a superficial understanding, in order
- Programming fundamentals
- variables
- functions
- control flow
- loops
- Java fundamentals
- How to define a class, its methods and fields?
- How to define an interface?
- What’s the difference between a class and an interface?
- What does it mean, in practise, when a class extends another or implements an interface?
- Web fundamentals
- What’s JSON?
- What’s HTTP?
And please remember. It’s OK if you don’t know what’s the role of defining an interface is in the grand scheme of things. You don’t have to quote me something like “It is the highest level of abstraction, using it makes the code loosely coupled,…”. You will learn that later. What’s important right now, is that you know what can you do with it. “I can define methods in it without (or rather optional) implementation. I can make classes implement them. Etc…”. If you can define an interface and make a class implement it. You’re on a
These post will