It's the end of December, in other words, the end of the year. It's time to review what happened, what went good, what went wrong. Not to whine about it but to learn from what happened to me.
The very end of 2016 I launched this blog in order to support my learning. Learning programming, learning writing and learning how to teach.
In the beginning, I didn’t put too much discipline in it, so I published a post every few weeks. Sometimes I went on vacations for a week or two and then it was difficult to start it over. Later I started to read motivational articles by Ben Hardy, some ideas for online businesses from Ramit Sethi and I took a free blogging course at SimpleProgrammer. These gave me discipline. Since the middle of the year, I post every Wednesday. And I also post on each Friday a review of a book or a chapter if I managed to finish any the week before.
I always have a few posts ready-to-post so I can publish new ones even if I am on vacation and I don’t have time to write.
That’s the second time in just a few lines that I mentioned vacations. In fact, I had quite a few vacations this year. I’m not bragging about that, but I’m more than happy to share my happiness. In fact, if you read this blog, most probably you are a developer and you have quite similar possibilities.
In the beginning of the year, we went to the South of Spain. We flew to Malaga, hired a car and explored Andalucia. An old dream of mine. My daughter was less than a year old, she couldn’t walk, but she was already well accustomed to sitting in a car so it was relatively easy with her. I really liked the mixture of Moorish and Mediterranean architectural style, not to mention the food.
Later in the second half of March, we left again, now for three weeks. We visited Japan after a not-so-short three days long connection in Dubai.
This voyage was a big dream for my wife and this was the very last moment for years when we could actually do it. My daughter was still at an age when she could travel basically for free and we could just carry her around in a carrier.
We had the chance to spend time in different areas and eras of Japan. We could visit not just Tokyo, but the old shrines in the forests of Nikko, we saw Kyoto and Osaka, some smaller cities on the way and even the heart-breaking monument of Hiroshima.
In May we went back to Hungary for my brother 18th birthday.
Then there is a bigger gap in our vacations. At the end of August, we escaped the army of tourists invading the Riviera and went hiking in the Alps. We climbed up to about 2600 meters with a baby on my back. We are already waiting for the next time to go back there.
And that was it for this year in terms of vacations. We had plans to go to Portugal or Italy in November, but other plans got into way. My wife felt quite sick for quite a long time. Just like when we were expecting my daughter. There are things changing but
morning all-day sickness is the same. Yes, it means that our family is growing!
She said we could wait until the last moment to decide if we go or not, but we also decided to buy an apartment and I really didn’t want to leave in the middle of signatures. In theory, you could, but practice shows there is always something to sort out until the very last moment. This is something I learnt when I bought my first apartment in Hungary.
I’ve been convinced and got reassured that you cannot buy an apartment if you are traveling here and there. Besides buying is tiring in itself, if you are surrounded by unprofessional “professionals” you have to be there to fix things. Sometimes you figure this out quite late. I’m glad we stayed.
Here, in France, the interest rates for real estate credits are quite low and there is a point when it’s cheaper to pay for your loan than to pay for someone else’s flat in the form of a rent.
I have just realized that I didn’t write about anything “professional. But actually, that’s the point. Life is not just about work or at least it shouldn’t be.
I’m not sure how it goes in other countries, but in France, you really have the chance to enjoy your life without feeling guilty at work. I prefer much more the vacation scheme I have compared to an unlimited vacation plan, where you might feel bad or you are fingerpointed at if you take three weeks in a row.
In my previous company in Hungary, it felt strange if someone left for 2 weeks, 3 weeks felt superhuman and when a colleague wanted to leave for 5 weeks around his wedding it was refused. Not surprisingly he felt sick during his honeymoon. In the end, 3 weeks vacation was supplemented with 2 weeks of sick leave… Here it is fine to leave even for 5 weeks. You are considered an adult. You can organize your yearly vacations.
“Mens sana in corpore sano” - “a healthy mind in a healthy body”. A healthy body needs breaks. A healthy professional life too.
Let’s review what I did between these breaks.
In the first 5 months of the year, I continued to work on the project I started to work on in 2016. I was developing an application which migrated data from an old database to a new one.
It had to read directly from a database, then it had to apply quite complex rules as the schema and the logic of the old and the new systems was really different, and then it had to feed the new system through different REST APIs.
When I took this task, little was done, but some choices including the language were already made. Most probably I would have chosen Python on my own, but in this case, Java was already chosen. I think it was not a bad decision and definitely advantageous for my career.
As I mentioned, the conversion logic was really complex and Java 8’s streams were a huge help in keeping the transformer logic sane.
The complex logic was luckily paired with high-quality specs this time. Never before or after had I so well written specifications.
I was progressing really fast at some points compared to what was expected. There was one main reason behind. I applied Test Driven Development consequently, at least for the conversion part. For the rest, not so consequently, still it had a great effect.
Besides I was organizing coding dojos and video sessions each Monday in the department. It was nice to share some time other professionals who also strive to get better. It was even better to saw some results in forms of pull requests in our daily jobs.
Then for another 5 months, I joined a startup like project in the company that I wrote about here and here. I could continue honing my Java 8 skills and I learned a lot of concepts from my colleagues.
I think that the leadership and the organization of at least our small feature team could have been much better, but the technical part was really interesting and it was worth the five months that I spent there. However, because the deficiencies I slightly referred to I did not plan to stay on the team after the five months.
Why staying on the team was an option for me? Because I was looking for a new team this year. We agreed with my manager that after four years in the same department it would be beneficial for me to move. First it was his idea and he deserves a big thank you for his support in this matter.
I interviewed to a lot of teams and I got almost as many offers. That’s something that really feels good. Still, I think I need to improve my interviewing skills. Next time I will be looking for a new team, I will reread Sandro Mancuso’s The Software Craftsman book. At least the part about questions I should ask at an interview.
At each and every interview I asked for the team’s repositories. I was not looking for great code, but great code reviews. I found what I was looking for in two cases. I chose the team where the existing code is worse. I know a guy from the Riviera Craftsmanship meetup who is in that department. If he likes working there, the management must be dedicated to letting the people improve the existing code. At this point in my career, this is more appealing than just sitting in a team where the code is already great.
I join my new team in January. I spent the intermittent time with my old team, developing a Python API for a Drools server we have. It was a nice period to me, I could work mostly on my own, but with some great support in terms of explaining the existing server and the C++ API and the decisions behind the protocol buffer messages’ structure.
I also tried to be professionally active outside of work. I started to visit again the events of Telecom Valley to broaden my horizons and to improve my French a bit. Through one of the work groups, I had the chance to spoke at the Soiree du Test logiciel about Test Driven Development with graph databases. I wrote I spoke, rather than I facilitated a dojo as I planned before, because of the experiences I had. Now I’m looking for opportunities - for the time being just around - to share my knowledge and to practice to become a better speaker. RivieraDev and SophiaConf could be the next steps. At least I will apply.
I think it was a fruitful year. We made some important decisions and got everlasting experiences. I was really dediacted to make the next step in my career and I got a lot better in organizing my days.
On the other hand, I have to get better at self-marketing when it’s not about actually looking for a new team, but to show my skills and work in the existing one. As I’m joining a new team, I will have all the possibilities. I am a keen defender of my productive time, maybe I have to become a bit more polite in doing so.
What I want from myself for the next year is definitely to keep learning. To keep being curious and to ask questions in my new team. I want to change things. If something is suboptimal, I should challenge it. If I do something suboptimal, I should change it.
I also wish for a lot of quality time with my growing family and not as much as this year, but still some vacations. I’m leaving soon for the next one.
I wish you a Merry Christmas and A Happy New Year!