Java Software Engineer Weekly Newsletter (JSEWN-S2E8) - week 8 - February 24, 2020

Java Software Engineer Weekly Newsletter (JSEWN-S2E8) - week 8 - February 24, 2020

Oleksandr Stefanovskyi

Hello readers,

Have you ever planned to run your own startup? Jói Sigurdsson actually did a lot of them and here are 23 rules to run a software startup with minimum hassle. It is a huge list of lessons learned over those years. Some of the rules are simple and some require experience in the field. Even if you do not plan to run a startup go through the list it is still worth reading.

Do you know that almost every creature on the planet is learning through the game? Check out it is the site that will teach you some different crazy stuff in the gaming way. It just sounds boring, you have to try.

If you ever heard about computer vision than you probably know that it is extremely hard, but guys from Amazon decided to show ruin the myth and wrote the article where they show from basics using sample algorithms implemented within Microsoft Excel, using a series of one-liner Excel formulas.

I found one really cool CLI tool for Redis with autocompletion and syntax highlighting. IRedis lets you type Redis commands smoothly, and displays results in a user-friendly format.

My personal top of the week is this mega list compiled from a variety to sources with tons of interesting valuable questions for 1-on-1 meetings.

👉 1-on-1 meeting questions - you just have to go through the list, it will definitely help you in your career.


  1. Java Records: A Closer Look - And an under-the-hood look at the Java Records preview feature.
  2. Micro optimising class.getName - A deep dive into bytecode optimization and inline methods.
  3. Stream processing for computing approximations - And a way to use Hazelcast Jet's stream model to calculate mathematical approximations for infinite series.
  4. Add Build Properties to a Spring Boot Application - A quick and practical introduction of using build properties in a Spring Boot application.
  5. Spring Projects Version Naming Scheme - Learn about the naming schemas in Spring.
  6. Optimizing a Spring Boot Application for Docker - This article takes a look at how some of the key concepts and architectural components in Docker can be used to launch Spring Boot applications.
  7. Another 3 Techniques for Writing Better Java - We will delve into three often-overlooked aspects of the Java language — valueOf, instanceOf, and exceptions.
  8. Spring Bean Life Cycle - Spring Init-Method and Destroy-Method | Spring Tutorial - In this article, we take a closer look at another part of the Spring Bean Life Cycle, the Spring init and destroy methods.


  1. Mob programming and shared everything - And while progress may seem slow at first, these techniques pay huge dividends in the long run.
  2. 5 Practices to Eliminate Bad Code


  1. Amazon and Commercial Open Source in the Cloud: It's Complicated — If you’ve been reading DB Weekly for a while, you’ll know about the AWS vs MongoDB tension and other areas where AWS has seemingly stood on the toes of ‘open-source companies’ but is it all as it seems? Some worthwhile analysis here.
  2. Finding the Moving Average From Heterogeneous Data Sources Using Apache Kafka, MongoDB and R — It’s a long title, but a solid tutorial about using the new MongoDB Connector for Apache Kafka to build data pipelines by way of a practical example.
  3. Using AWS Lambda to Create a MongoDB Connection Proxy — While AWS Aurora has the Data API for making queries over HTTP, MongoDB does not, but it’s possible to use AWS Lambda to rig up a similar mechanism with solid results. I suspect this could be replicated for other database systems too.
  4. Isolation Repeatable Reads in Postgres vs MySQL — By default, Postgres and MySQL use different levels of isolation within transactions. Within a running transaction, Postgres will see changes made by other transactions once committed, whereas MySQL uses “repeatable read” where the results of a query remain consistent throughout a transaction. There’s a bit more to it than that, though, and this post deftly shows us how it all works.
  5. Best Practices for Secondary Indexes with DynamoDB — It’s probably obvious now that I’m a sucker for a good advanced DynamoDB tutorial and this fits the bill rather well digging into the powerful world of DynamoDB’s secondary indexes.
  6. Using Redis as an External Scoring Source for Elasticsearch — Ever wanted to use data from external systems to influence the scoring in Elasticsearch? now you can. Here is why and how we created a plugin that uses Redis to rescore top-ranking results in Elasticsearch.

You could check out previous issues at my site, telegram or twitter.