Programmers Day the SoftwareMill way webp image

Programmers make our lives easier every day by making the interaction between people and machines possible. Through code, you can create something that people interact with, use, and work with. Can you even imagine what would happen if all computers suddenly disappeared? Coding things makes your food delivery one click away, your news and music personalised, your healthcare secure and more accessible. It opens an ocean of opportunities for literally every industry that wants to automate and innovate.

Today the whole world celebrates the Programmers’ Day. Why on the 13th of September? It’s the 0x100, 2^8 or 256th day of the year, so the highest day number in the entire year, which is a power of two. We’re excited to join the celebration and share some #SoftwareMillVibes with you!

We believe that programming allows us to get together to build tools, share ideas, solve problems, and make a difference in each others' lives. Everything we learn, usually ends up on our blog or in our conference talks. We love to teach, create, and contribute. Along the way, we want to have fun and be ourselves. That is why for today's occasion, we gathered a fine selection of our favourite programming memes and an update on the skills some of us worked on this year.

Happy Programmers’ Day! Dive into programmer humour, check programming books we recommend, and spread your love for code!

Our programmers take on Programmers Day

Sebastian Rabiej, Software Developer

code-programming-meme

Meme source

What have you learned this year?

I stumbled upon many things this year, but the most significant improvement to my dev toolset was diving deep into GraphQL. This data query language offers a lot of options to communicate front-end and back-end, however, nothing is without a trade-off. And learning about these trade-offs is important to create the best possible version of your project.

To give you a more tangible example of what I mean, let’s look into one of the most important features from GraphQL. When you make a request, you can decide which field will be returned as a result. Sounds great, right? It does, and it is, but this feature can cause some problems. Clients can make pretty complex requests or cause n+1 problems. Both situations can cause performance issues in our services. Of course there are solutions to those problems. We can prevent overcomplicated queries by setting a limit or adding dataloaders to prevent n+1 problems. It’s good to be aware of the potential issues of new tools that we want to use and how to solve them.

Krzysztof Atłasik, Senior Software Developer

database-programming-meme

Meme Source

What have you learned this year?

This year was full of opportunities to learn something new. If I had to pick one thing, I'd say that I learned a lot about creating a reliable, stable, and decoupled microservices architecture. It was both practice and theory taken from great books like Building Microservices by Sam Neman or Microservices Patterns by Chris Richardson.

In our journey to microservices architecture, we resisted the urge to migrate the whole system at once. Big bang rewrites of legacy applications always come with high risk. Instead, we slowly replaced parts of the existing system with new fine-grained services with clearly defined bounded context. Martin Fowler describes this approach as the strangler pattern.

It's also quite easy to drop the ball by relying too much on synchronous communication between services. Asynchronous message passing promotes loose coupling and improves performance. When combined with properly implemented best practices, it can provide bulletproof communication across our system.

I feel I still have much to learn, but this year definitely gave me a lot of confidence that I can be a productive Microservices Developer.

Marcin Baraniecki, Senior Frontend Engineer

doesnt-work-programming-meme

Meme Source: a private collection of "things from the Internet that are worth saving"

What have you learned this year?

I’ve learned that participating in a project for over 4 years is a really, really long time. On the one hand, I’ve learned a lot, gained priceless experience, and had plenty of opportunities to extend my skills. On the other hand - let’s face it - one becomes accustomed to the environment so much that it’s definitely not a painless process to leave it all behind and start something new. It’s like a little divorce (not that I have ever divorced anybody!), and it feels strange to jump into a completely different context.

My tip: take at least two weeks off to rest and come back with a fresh mind before starting a new challenge!

Andrzej Ludwikowski, Software Architect

exactly-once-programming-meme

Meme Source a private collection of "things from the Internet that are worth saving"

If this doesn't make you laugh and cry at the same time, then you know nothing about distributed systems.

Katarzyna Kozłowska. Frontend Developer

debugging-programming-meme

Meme Source

What have you learned this year?

I’ve learned that the power of habit is underestimated. Recently, I started reading one article a day, anything technical, mostly frontend-related blog posts. Now it has become a part of my morning routine that helps me get into the right mindset - it keeps me focused and motivated.

I believe that doing even one small thing regularly is better than trying to change your life overnight. Same with a workout routine or finally drinking your daily dose of water every day 😉. Building a habit is a whole process that brings a long-lasting change.

Mariusz Walczyk, DevOps Engineer

this-is-fine-programming-meme

Meme Source

What have you learned this year?

During this year, I learned a lot and grew as a DevOps Engineer. I also encountered many potentially stressful situations. The most important thing I learned is to remain calm and focused on solving the problem.

Jacek Kunicki, Senior Software Engineer

work-programming-meme

Meme Source

What have you learned this year?

I learned the details of Project Amber and how it encourages the data-oriented approach to modelling your domain. With the additions to the Java language like records, sealed hierarchies, and extended pattern matching, you’re now able to precisely model your domain with immutable data structures and keep the business logic aside (i.e. separate the state from the behaviour).

In many scenarios, such an approach might surpass the traditional object-oriented one. Also, since the data-oriented approach is common in Scala and functional programming in general, its introduction to a mainstream language like Java proves its correctness in a sense.

Jakub Cichy, Software Engineer

compiler-programming-meme

Meme Source

What have you learned this year?

You can relate to my meme when you are into Scala and Implicits. This year, I got involved in a great project for the healthcare industry. I like the fact that the backend is built around Apache Kafka and streaming technologies. That finally motivated me to pass the exam for Confluent Kafka Developer. I also learned some JS and Angular while working on some frontend tasks. My TL;DR: new projects == new opportunities!

Mateusz Gołąbek, Software Engineer

junior-dev-programming-meme

Meme Source

What have you learned this year?

This year, I have started my professional adventure with the Scala language. I made my brain think more and more in a functional programming way and learned a lot of awesome stuff like e.g. Cats Effect. I think the most important thing that I learned is the awareness of how much there is still to discover and master in the life of a software developer. It feels great - I don’t like to be bored 😉.

What is your favourite programming meme? Share in the comments section! 💪🙃

Blog Comments powered by Disqus.