Codementor Events

How I learned Java with Maven

Published Feb 06, 2019Last updated Feb 12, 2019
How I learned Java with Maven

About me

I have been working as software developer for five years majorly with python and it's libraries such as Numpy, Pandas and frameworks like Scrapy, Flask, Django etc. I am also experienced in ReactJS/Redux.
I like to build products that are helpful to people in helping them or their business grow and make progress in life.

Why I wanted to learn Java with Maven

I wanted to refresh my learning on Java and learn how Maven can be used to manage dependencies, make builds, compile java projects and test them. Since maven can do all things I wanted to build a project that does these things.

How I approached learning Java with Maven

I thought of building a project that has an HTTP server which accepts JSON data as a POST request. The data received is converted to google protobuff format. This protobuff is stored in sqlite3 database.

After deciding the overall project I started working using Java, Maven and IntelliJ IDE which provided syntax highlighting and code refactoring pretty good.
You can check my repository for work here: Java/Maven Project

Challenges I faced

One of the challenges I faced was to write unit tests for the project and specifically mock certain calls.

Key takeaways

Overall process was enjoyable and it felt refreshing to learn maven and java after working with python for long time.

Tips and advice

  1. If you want to learn something keep a project in mind and start working for the project. It will be helpful more than just reading documents and articles.

  2. Maven follows conventions over configuration so it is better to create Java project structure according to standards. Dependency management and build, test commands are breeze and developers should focus on writing tests.

Final thoughts and next steps

In the end, I would like to conclude that working on multiple languages makes you more versatile and comfortable reading code in other languages too.

Many times developers get uncomfortable if they see codebase in other language but logic is the same and only syntax changes.

So I aim to be language agnostic and work on projects with language best suited for the project requirement.

Next steps would learn to host Java applications using Docker.

Discover and read more posts from Kishan S Mehta
get started
post commentsBe the first to share your opinion
Show more replies