Attila Fejer

Attila Fejer

Versatile Software Engineer and Technical Coach with a comprehensive skill set spanning Java development, software craftsmanship, and cloud architecture.

With over a decade of experience, adept at designing and implementing scalable solutions in cloud environments. Known for expertise in Agile methodologies, including Extreme Programming, and a strong advocate for best practices such as SOLID principles, design patterns, and clean code.

Proficient in Spring framework, containerization technologies like Docker and Kubernetes, and cloud platforms including GCP, AWS, and IBM Cloud.

Accomplished in mentoring and coaching teams, having impacted over 10,000 developers through training programs and consultancy roles.

An accomplished author with a portfolio of technical articles and a track record of improving DORA metrics.

Engineering vs Craftsmanship
June 25, 2024

Engineering vs Craftsmanship

In the world of software development, two terms often arise when discussing the qualities of experienced professionals: engineering and craftsmanship. While we sometimes use these terms interchangeably, they represent distinct skill sets and mindsets.

Emily Bache and Dave Farley published the video What Is A Software Engineer? | Craftsmanship Movement Was A “Step Backwards”. It inspired me to write this post with a different opinion: combining the two approaches leads to superior software development.

Read More
Sustainable Refactoring
May 15, 2024

Sustainable Refactoring

In the fast-paced world of software development, maintaining code health while delivering new features is a constant challenge. One strategy that has emerged as a crucial practice is refactoring. However, the traditional approach to refactoring can often clash with the demands of project timelines and stakeholder expectations.

In this post, we’ll explore how sustainable refactoring techniques can help strike a balance between code health and feature delivery.

Read More
Will Customers Ever Speak Our Language?
May 9, 2024

Will Customers Ever Speak Our Language?

Software developers face a constant challenge: the communication gap between them and customers. TLDR: customers will never speak the developers’ language. While both parties strive for the same goal—creating valuable, functional software—their perspectives, priorities, and vocabularies often differ. In this post, we’ll dive into the reasons for this difference, explore the implications, and discuss strategies for bridging the gap.

Read More
AI Tools and Refactoring
April 24, 2024

AI Tools and Refactoring

Previously in the series, we saw that AI tools have limitations. We also discussed maximizing our productivity by using them to write code - without shooting ourselves in our legs.

In this post, we’ll cover one more piece of the puzzle: how they can (or can’t) help us to refactor.

Read More
How To Use AI Developer Tools In 2024
April 18, 2024

How To Use AI Developer Tools In 2024

In the previous post, we saw the limitations of AI developer tools. Yes, they are not perfect. However, they are still able to improve our productivity significantly.

This time, we’ll dive into how we can effectively use them to achieve a better development experience, higher-quality output, and faster delivery.

Read More
Describing Software Behavior
April 10, 2024

Describing Software Behavior

In the world of software development, understanding software behavior is crucial. It’s not just about writing code; it involves various steps and artifacts. In this post, we’ll dive into the different ways to describe what a software product does, showing how they all connect to depict software behavior.

Read More
AI Developer Tool Limitations In 2024
April 3, 2024

AI Developer Tool Limitations In 2024

With the rise of ChatGPT, Bard Gemini, GitHub Copilot, Devin, and other AI tools1, developers started to fear that AI tooling would replace them. Even though their capabilities are indeed impressive, I don’t fear our jobs will go away in 2024.

Read More