My first public article in Java Magazin

 

Nice Links found in web CW 23 2017

 

Nice Links found in web CW 22 2017

 

Lebensweisheit

 

Open Source

Open Source projects I am working on:

 

Thoughts about: What makes me enjoying my job?

Hi there,

during the last weeks, I was thinking a lot about my job and what really makes me enjoy it that much. I am working as Backend Developer for approximately five years now. I’ve went through three companies and have seen some products, from legacy to the green field.

From my point of view, software development is a highly creative job which is depending on many factors. For me the most important ones are:

  • The team: There is probably nothing more important for me then the people which I am working with. Are there good discussions about solutions? Are there many different opinions within the team? Do we manage to get a consensus when having discussions? Can everyone raise their voice?
  • The product: Very important to me as well… Is the domain of the product interesting? Is it challenging?
  • The technology: Last but not least, are the technologies to use interesting to me? Are there new opportunities for me?

In the company where I am working right now, I had the luck to start on a green field. Basically, I formed a new team with three colleagues and we re-build a software which is running since a long time.

We got a brand new AWS-Account and were ready to go. We took a microservices approach, designed our services and how they interact with each other and of course have chosen the technologies we are most comfortable with and added some new ones because they were fitting better the use case we had.

I think we really created a great solution for the problem we had to solve. We launched the product and of course had some troubles, nonetheless everything went quite smooth.

Last but not least, during the months as we were developing the solution, some new people joined the team, which really are a great fit. All in all I was really happy, because all “requirements” I had, were fulfilled.

You should stop when it’s best

After the product was launched we kept on developing new features and fixing bugs. We improved our processes and our way on how to do estimates.

To be honest, it was clear that it cannot go like this forever.

There was a discussion that some people from our team should join other teams. Furthermore, there was the idea to move parts of our solution to other teams because they seem to fit better there topic wise.

This was the first time I realised that my world is quite fragile.

We fought hard to keep our team like it is and to keep our services like they are. For the moment, everything stayed like it is.

A wise guy told me, that I should be more open for change, because this could also bring new opportunities.

I should have thought about that more serious.

Within one or two weeks the team shrinked again by half the size because people were moving.

What’s left?

What I learned through this is, that I cannot build my enthusiasm for my job based on team and/or the product, because both is ephemeral.

Therefore, the only thing left is technology, which I will try to focus again more on!

Nonetheless I will enjoy the moments with the team and all the great discussions! Still I have to have in mind that environment can change and not everyone else is seeing everything around as perfect as I do.

If you have any thoughts to share on this I am happy to discuss with you.

Best,

Malte

 

Nice Links found in web CW9 2017

 

Learnings while using Apache Cassandra

  • Don’t delete counters => They’re gone forever
  • Define your tables by the queries you want to run (Check read path)
  • Use well defined Primary keys (avoid hotspots)
  • Before shutting down a node run nodetool drain
  • When defining queries in your code never ever use select * from FOO;
  • … To be continued …
Update 1st of December 2016:
  • Consider what queries you want to run on your tables in case of debugging your application or handling incidents. There is nothing more annoying then knowing that all the data you need is there but is not easily accessible. Think before hands which fields you need to correlate, what data you probably need to access and what you want to know in case something goes wrong.
 

Nice Links found in web CW47 2016

I’d like to start a new section on this blog, which probably will also generate more output here ;).

I’d like to gather useful links I gather while doing research… Hope this is useful for others as well.. 😉

Underestimated AWS instance type t2

Really nice summary why t2 instances are underestimated and should be considered for production instances as well.

Tour of golang

I am currently working through it. From my point of view it’s written really good, I already learned a lot. And the mix of theory and exercises is fitting good!

 

Paw – The daily helper

Hi there,
Since I work with a Macbook since a few days now, I’d like to share some insights about a great tool for testing HTTP-Services.

When working with microservices on a daily basis, it’s quite important to have proper tooling in place. Otherwise you’ll spent a lot of time setting up environments and requests. As I switched my working device, Paw got my attraction.

Coming from Ubuntu I am quite used to Postman, but never really enjoyed working with this tool.

It starts with, that the it isn’t a native OS Application and needs to be installed as App in chrome. But probably thats a matter of taste.

That being said, Paw offers an awesome native UI, which is quite intuitive.

You can easily group your requests by projects and assign certain environments to them.

Screenshot 2 - Environments

Furthermore you can create your project, by importing the swagger definition of that service, which is really smart!

Last but not least you can easily migrate your postman project to Paw, by just importing that file.

A feature which has been added recently is the „Paw for Teams“ which I think is a great way to empower collaboration. It gives you the possibility to work on a file as team and share them easily. It gives you a kind of git workflow by committing changes and merging them.

Nevertheless you should have in mind that your files will be stored on the Paw servers and you might share confidential information.

I hope I was able to give you some useful impressions about a nice tool.

All the best,

Malte