Open Source projects I am working on:
- https://github.com/zalando-incubator/failsafe-actuator (Leave a star if you like it ;-))
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 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.