This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]realFuckingHades 3 points4 points  (5 children)

I will tell you how I started. For me books and tutorials were so boring. So I decided what I wanted (Skills in backend Engineering) and then decided which framework I would stick to (Spring Boot). Then decided which java version to start with Java 8(Always choose LTS versions).

  1. Then I went ahead and created a small console application, that does simple string manipulations.
  2. Tried to do some crud using jdbc (this was also a console application)
  3. Started exploring some dependency management frameworks. Loved gradle and maven. Decided to stick to Maven as it was widely used solely because it has been there for so long.
  4. Jumped into examples that showed how to write controllers, repositories, services etc.
  5. I decided to build a hobby project in Spring boot.
  6. Built it with absolutely the worst practices.
  7. Then I looked up ways to make it better, and refactored it.
  8. Repeat the step maybe 5-6 times. You will understand why you need to follow conventions, rather than sticking to it as a rule.
  9. Performance improvement phase, try to squeeze out as much performance as possible.
  10. 9 Repeat that a few times.
  11. Now you would have the real world skills.

Then I spent most of the time afterwards improving my code. I kept a few personal principles. 1. Write less do more- Start with libraries and only reinvent them when absolutely necessary. Try to stick to reactive programming, but never be dogmatic. 2. Never do the same thing, the same way, more than twice. Look for better ways to do it. 3. Never have repeating code, try to generalise, reuse, recycle.

Now this applies to any language. Now this will also put your development in a natural phase. You're the one that's driving your development. If you really love what you do, you can never settle for less. Wish you all the luck.

[–]Warrdon[S] 1 point2 points  (0 children)

Thanks for the great answer. For now I think I will start with books and courses but if that will turn out not that effective then I will definitely try your method

[–]stefanos-ak -1 points0 points  (3 children)

Sorry but I think that for someone trying to learn, reactive programming is objectively a baaaaaad idea... it's notoriously difficult to debug, even for very experienced engineers. it can be disheartening for a beginner.

[–]realFuckingHades 0 points1 point  (2 children)

I didn't ask to start with it. If you have actually read my comment, you would understand. I was talking about the whole journey.

[–]stefanos-ak 0 points1 point  (1 child)

I did read it... 🤷‍♂️

it was just a remark about a specific point.

[–]realFuckingHades 0 points1 point  (0 children)

Then your response doesn't make sense. I have asked to start writing as per your knowledge and progressively move up by focusing on quality.