Craft Conference 2017

This year I have been attending the Craft Conference in Budapest. It was again a great event: with its ups and downs as everything.

I’d like, if I may, tell you my experience, my story and my key takeaways from these 4 days.

Workshops

I like attending workshops because they give me new viewpoints how to look at software, coding, decision making, and architecture.

Day 1: Advanced DDD by Nick Tune

Even though I do not do any DDD and neither read the book by Eric Evans I thought it a good idea to visit this workshop. And it was a good choice. I learned approaches I can use in future projects even if I won’t use DDD.

The best part was that people were mixed right at the beginning so you didn’t work with friends but total strangers. And this gave me the motivation to be more assertive and take action. I have never been so active at a workshop as now.

The drawback was that the original workshop is designed for two days (or three?) and it is impossible to fit everything into 7 hours. But it is a good starter or refresher if you have done DDD.

Day 2: Software Faster by Dan North

I am a fan of Dan North because he has a similar approach to development than me and he is a really cool guy. But do not worry, my review is not biased by my fanship 🙂

I really liked the concept of no slides. Everything Dan wanted to mention or notice he did on a piece of paper and shared it through a camera. This means the ideas of the whole group were written down nothing previously thought-out. And this approach makes every session unique because every team has different background and knowledge and Dan has a different answer to every question.

And as I talked with Dan afterward this approach (camera with pen-and-paper) will increase the velocity of his book-writing. I am waiting for the new releases because here were 7 hours too short too. Again: this workshop is designed for multiple days and the content is too much to cover.

Session days

The session days were located at the same place where last year: Magyar Vasúttörténeti Park, Budapest. I liked the location last year too so I was looking forward the event. The speaker line-up and the sessions were promising. Sometimes I have had to make a decision where to go — and below you can read my summary of the sessions I attended.

In general, I missed all keynotes on purpose. The opening ones were not of interest (and I did my goodie-gathering rounds) and the closing was too late and I have had no brain to get more information. I will take them once they are available on-line.

Day 1

Here I started with Dan North. If you have the opportunity, attend one of his talks because he is great. The talk was about decisions: you cannot have black-and-white solutions for your problems (for example manual vs. automated tests) — you always have to consider the gains and efforts for every approach.

I learned about acceptance tests: what is the idea behind it and how it should be lived. The talk was by Dave Farley, author of Continous Delivery (besides Jez Humble, of course). I found it interesting and worth my time. I have taken away many ideas which can be used in my future projects.

The downside of the day was Laura Mitchell’s talk about Becoming Polyglot. I was expecting something different. Some advice how to be more effective using multiple languages in your projects or the kind of stuff. But the focus was on doing open-source projects and help others in their journey. If I look at this definition I am already polyglot: I mentor people beside Java in Python, I have written books about my journey and I contributed to some open-sourced projects too (regardless they were accepted ot not).

Day 2

The second day I started with Adam Tornhill. He delivered an “updated” version of this talk last year: using the same tools but with a different approach on what to look for and how to measure code evolution. Even though it seemed to me as a marketing talk for his book I liked it because I remembered that I have the book at home and that I should apply the contents to my projects. And that I have a halfway written (or halfway abandoned) review of “Your Code as a Crime Scene” which I should finish.

Then I learned about mutation testing where the test modifies your code (adapts the unit test too) and if it does not fail then you have a problem. The idea behind mutation testing is: changing the code under test should make the test fail. This means I will write an article about this in the near future where I will apply mutation testing on my tests.

I learned the definition of serverless architecture presented by Sam Newman. I really needed it because there are a lot of answers around for the question: What is serverless? If you have time take a look at this talk.

The last activity of the day was a hands-on workshop about Elixir. The problem here was again the time: it was too short to get everything done but the idea was great: how to create a small scale OTP application. Nevertheless the solution is to get me coding and finish the exercises based on the handout.

Sponsor pitch

Disclaimer: I am not affiliated with any of the sponsors of the conference but I proudly wear merchandise is I like it and talk openly about my experiences. This lets you have another viewpoint what is going on — alternatively, you can find an opportunity to apply for a position offered by that company. The list has no order, only in which I can remember them. Sometimes you can find pearls at the end of the list, so take care to read through everything — even if it is too long.

  • NNG — They do a lot of embedded stuff — nothing for me. But their goodies were superb, I hope they come next year too.
  • Prezi — They have had a lot of goodies and Club Mate (this is a mate tee with enormous caffeine which holds you awake the whole day). The only drawback was that you have had to complete a quiz to get a T-shirt and the questions were heavily Prezi-focused so I couldn’t win 😦
  • IBM Budapest Lab — They were formerly known as Ustream. Now they were bought by IBM and changed the name. They gave T-shirts without doing any task. This was great, I almost live by receiving wearables at conferences.
  • JetBrains — Who doesn’t know the IDEs they are developing, just like IntelliJ or PyCharm? They offered a raffle for IDE licenses what I find really great and they have had a lot of stickers and a yo-yo. I wasn’t aware if they are hiring or not but I don’t think so. They promote their tools for productivity (TeamCity and co.) beside their IDEs.
  • Meltwater — A company which provides data for their customers. They gather information from multiple sources, aggregate and provide them to their customers. I have no idea if they are hiring or not and what programming language they use but if you are interested in BigData give them a try.
  • AdNovum — They do Java and looking for Java developers. They have a strong EE background with different front-end tooling (JSF, JS). They have had a cool bug-hunting game where you have had to shoot bugs on a whiteboard with a toy gun 🙂 If I were looking I would consider applying there because I was lucky and one of the guys representing the company was working at a previous company and he gave me good insight into the company’s doings.
  • Avatao — They do on-demand learning stuff focusing on security — how to ensure that a secure software is developed. I like the idea and will definitely take a look at their offerings and will write a review about the topics offered and the price/quality. And the contents are developed continuously and you can request new courses if demand arises.
  • epam — Interactive gaming: throw a dice and you can win some goodies. Actually, it’s not worth it but I was in for the fun 🙂 They are looking for Java developers mostly (I am not sure if they have any C# projects but I guess they do).
  • dealogic — I have to admit I forgot what they do but I guess something in the financing sector. They are looking for C# developers and some Rubyists (they started a small Ruby project this year). They have had great goodies too, my favorite was the mug.
  • cloudera — They gave T-shirts away without any task to complete. I like such companies. And they are looking for Java devs — fascinating that their tools work performant on the JVM. Some enthusiasts of old-school computing (C/C++ fanatics) can now re-think their concept of Java being far slower than other languages.
  • Balabit — They have every year a (coding) quiz and it is different every year. The drawback is that I have every kind of goodies they can offer so I hope they’ll add some new stuff for next year. I think they are C-focused because they do security-related things as far as I can remember from last year because this year I did not ask.
  • O’Reilly — Although they didn’t look for new people and haven’t had merchandise they are every year present and bring a lot of great books with them and do a raffle (naturally I never win). Besides the books, they have a great 40% discount on the titles which is always a welcomed perk. And every year they have a book where I am in the “Acknowledgements” section because I did some technical review on that particular title. I am planning to write review articles on these books but I hardly find any time to do it.

As you can see, I am easily attracted to free stuff and if it is a wearable I will wear it proudly — and not just at the conference.

The dark side

Every conference, even every event has its downsides because you cannot fit the needs of everyone — and as the number of participants increases it will be more difficult to create a perfect result for everyone. But there are things you can optimize, or at least consider some improvements for next year.

The catering was superb however lunchtime was a pain. There were too many people accessing the dishes at the same time that you have had to wait for ages to get some food. This can be improved.

Conclusion

  1. Communication, du Lusche!
  2. It depends.
  3. Microservices — Whoohooo!

Actually, this was the conclusion we made with my co-workers at Zühlke Engineering (Austria) after the four days of conference inclusive Workshops. The first one is really self-describing: without communication, you cannot work effectively (perhaps I’ll write an article about this topic in a near future). The second means that everything has to be considered with its trade-offs. You cannot simply decide one solution because it is a hype. The third one is the reaction to the hype of microservices. Every time you hear this word, say loud “Woohoooo!” — as suggested by Dan North.

Beside all these things I really enjoyed the conference with its ups and downs. Next year I’ll be there again, so if you’d like to talk to me, attend the conference.

Anf finally the best part: in a few weeks, the talks will be available on the conference’s homepage.

Advertisements