Over a million developers have joined DZone.

Java Developer: Final Countdown

· Java Zone

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

Continuing my previous post I want to discuss two important topics. First – how to understand that you become a real java developer and you are ready for your career start. Second – final task for 10per Check Point students. I’m going to be verbose so prepare yourself for a long and boring text.

Foreword

Primarily this article is written for my students but not closed for anyone who want to join 10per Check Point education methodology. So in modern world java developer is a person who works with web-apps and hence use Spring Framework. Don’t say to me about other software development areas where java is applied e.g. Android, I know that and it’s true, but in context of 10per Check Point we train exactly java web developers. That’s why Spring Framework.

What mean “final countdown” in the title of the article? Well this phrase has multiple meanings – java beginner never knows how much he / she needs to learn to start the career (first meaning). The final task for Check Point’s students is published below, so the final countdown starts now.

As I’ve written in the previous post (summary section) – technical skills is very important but not always enough. So I made a decision to publish the 3rd assignment in a form of user stories. In some sense this circumstance will show one side of SCRUM. It’s a good chance to feel not just a technical component of a software development but also to see a methodology aspects of work.

Before the task description I want to declare a main motivation message: if you complete at least 75% of all user stories you are ready for Java Web Developer career.

Technical constraints

Main requirements to the development:

  • Maven or Gradle
  • Spring Framework 4.16+ and the latest versions of its modules
  • SpringBoot MUST have
  • MySQL or MongoDB or PostgreSQL or Neo4J
  • All code should be pushed to GitHub
  • The app MUST be developed as REST-services

Short app description

You have to develop an app “AIMer”. Its main idea is to create your goals and then describe steps which you need to perform to achieve them.

As example:

Goal: Complete 3rd stage of CheckPoint

Steps:
1. Read theory
2. Setup project
3. Develop N user stories
4. Push code to GitHub
5. Send link of the repo to 10per Team

User stories

  • As a user I want to create / manage my account using an email and password.
  • As a user I want to create / manage my aims.
  • As a user I want to create / manage steps for a particular aim. Hence I can create a sequence of steps which I need to do in order to achieve a goal.
  • As a user I want to define an aim’s priority. So I’m able to sort aims by the priority.
  • As a user I want to define a step’s complexity. So I’m able to see the most easiest and difficult steps.
  • As a user I want to add another users as a friends in AIMer.
  • As a user I want to receive a friend request notification and have ability to accept / decline it.
  • As a user I want to comment my friends aims.
  • As a user I want to login to AIMer with my FaceBook / Twitter account.

Nice app can be in your portfolio =)

Summary

Deadline for CheckPoint students is May 31 (6 weeks). I recommend to start fromthis tutorial. This is pretty complex task, so don’t try to do it from the first try.

Good luck!

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:

Published at DZone with permission of Alexey Zvolinskiy, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}