30 May
22
Software engineer

I love dev, and so do we!

After the covid break and a bunch of online conferences, we finally had a chance to attend one physically. "I love dev" took place in Złote Tarasy (Warsaw, Poland) on the 17th of May and was certainly the biggest software development-related event in 2022 so far. Let us share what it was about.

our team with logo

The conference started with a talk by Sylwana Kaźmierska, who was presenting neural networks. She shared the learnings from her experience - how to build one, what factors to take into consideration, and when to choose simpler solutions. Sylwana explained why decisions made by AI are sometimes unexpected and what can be done to explain or improve the process of decision-making. Her presentation was mind-opening and a little terrifying.

Sylwana Kaźmierska speaker

The next speaker, Tomasz Ducin, made a great presentation about the pros and cons of the newest trend in web development - micro frontends. He compared them to microservices, which were also on hype at some point. The main goal of the presentation was to make developers aware of all benefits and risks when choosing new architecture. So, if you have a small startup with 3 frontend devs, and you want to use micro frontends only because they sound fancy and trendy - please don't.

After a short coffee break, the scene was taken over by Andrzej Krzywda. The CEO of Arkency talked about different phases of creating a product and how they influence development practices. He has also associated each phase with a different type of developer (startup / architect / maintainer), which was actually quite surprising, but also accurate . Usually, mature apps need more custom solutions and independence from the framework. Andrzej underlined the importance of knowing its limits and showed some techniques on how to overcome them.

Andrzej Krzywda CEO Arkency

The next talk, made by Sławomir Sobótka, was a history of Stefan, who works in the warehouse. Stefan’s main responsibility is finding packages, but he is also expected to assemble furniture, send letters, take care of clients’ returns, and so on. When Stefan is on sick leave, the company stops working. This analogy to software development shows how badly defined contexts can harm the application. Sławomir presented the idea of bounded contexts (known from Domain Driven Design) and ubiquitous language. Dividing the system into modular components that can communicate with each other is a design we should aim at.

Jakub Mrugalski had a little different talk. He was focused on a more practical problem - security of web apps. Everyone (I hope) already knows about XSS or SQL-injection attacks, so Jakub talked about less popular security problems. The first issue he mentioned was SPF, DMARC, and DKIM email configuration, which is often left with default values. Jakub demonstrated how it allows making email forgery attacks. Other takeaways from his talk are:

  • don't use original uploaded image names - always assign random names to avoid many problems
  • use Cloudflare to protect from DoS/DDoS attacks, but do it right - remove other entry points to your server
  • when you add an HTTPS certificate to your page, it is indexed in a certificate database! It means that all sites using HTTPS are public nowadays. Remember about it when setting your admin password for staging env :)
  • have a separate domain/subdomain for your ticketing system.

I love dev conference

In the last talk, Jakub Pilimon came back to software engineering topics. He presented how to apply clean architecture for a simple application. He showed the process of building an aggregate component - reusable and open for modification. And all this in the case of a well-known game for Prisoner Dilemma. Jakub even made some live programming (what a brave man!) in Java and run his program to find the most optimal tactics.

The conference ended with an open panel with all speakers. They talked about the future of the software development branch and how developers should extend their skills (be experts!). They also answered questions from the public. The most interesting was the question of how to stay fascinated with daily software development work. Answers varied a lot: original, undiscovered topics to work on; being independent; being able to find something valuable even in the most boring tasks or finally finding your motivation somewhere else (your life isn't only programming, do something good outside!).

I love dev panel discussion

Q&A session

How you can say if this was a good conference? Besides the best lecturers and exciting talks, there was an after-party! It was very interesting to meet at least a few people from Rails community from around the country. We had a chance to talk to Kuba Pilimon about making DDD topics more familiar and discuss with Andrzej Krzywda different approaches for introducing event sourcing in Rails applications.

“I love dev” was a professionally prepared event, which broaden our horizons and increased motivation for growth.

Visuality team

after part

At the beginning of last year, I decided to introduce meetings where engineers could share knowledge. As Visuality is most about Ruby we name them backend meetings. There were so many topics to discuss which didn't have a place to be faced. Let me summarize my thoughts.

Many years ago I wrote an article about giving junior engineers a possibility to grow. Quite recently I had a chance to review this piece, and I can say - I wish people had followed that path:)