The Dev-X Project is a series of features with industry leaders sharing their developer experience insights. In each “episode”, we ask an industry leader 10 interesting questions about DX, collect their responses and insights and share them with you.
In this episode, we’re featuring Maciek Palmowski - an experienced web developer working at Kinsta as a Development Advocate Analyst. After hours, Maciek spends most of his time trying to find interesting guests for the Code and Coffee show or cycling.
You can find Maciek on: - Twitter, YouTube and on his Blog.
When did you decide to become a developer?
That’s a funny story. I knew I would be working in IT before going to primary school. All thanks to my dad, who was able to buy a ZX Spectrum during communism in Poland. I was a toddler back then, sitting on his lap while he tried to understand how it worked.
This started my fascination with computers. I just wasn’t sure what exactly I would do in the future. I thought networks and servers would be my thing for some time (I even have a Cisco certificate), but when I discovered HTML, CSS, and PHP, I knew I would be writing code.
Also, discovering Open Source was a significant breakthrough for me. I love the romantic idea behind OSS. All the developers in the world are sharing and exchanging their knowledge to create better software.
What are the key ingredients to a really good engineering culture?
There are quite a few of them, but I would say that the most important are teamwork, being open-minded, and listening to others. If the team can work together, inspire, and help each other, we can talk about the perfect foundation for a good engineering culture.
Of course, it’s more complex than it sounds. It requires much work and commitment, but it’s worth it.
Let’s say you’re building something from scratch. What does your ideal stack look like?
It depends on what I make, but if I were working on a website, I would go with a headless PHP CMS (Statamic or WordPress) for the backend and Astro for the front-end.
Why? Because a CMS must be easy for users to use, which is always my priority. I won’t use it personally most of the time, which means that I can sacrifice some Developer Experience for a better User Experience.
Astro for the front-end because of its focus on performance, Developer Experience, and the pure pleasure of creating websites using it.
I always evaluate the stack based on the requirements and do not push my favorite tools if they don’t fit the task.
Tell us about an epic engineering fail you’ve experienced in your career. What did you learn from it?
What can I say - always run `ls -al` before running `rm-rf`.
It gives you a moment to think and visualize what you will do. I learned this the hard way after removing 10GB of pictures from one real estate website I worked on.
Most of my failures were related to using `rm -rf` in the wrong place. I even automated it nicely as a part of the CI/CD pipeline once.
How important is “Developer Experience”? Do you see this as a trend that will evolve into dedicated teams/functions for mainstream tech companies?
Developer Experience is crucial. There are so many tools and solutions available that I don’t see why I should use a tool I don’t like.
We can already see how many tools focus on DX - Astro, Nuxt, Laravel, and many more. They do everything to provide the best documentation, many examples and starters, easy-to-use CLI tools, and the pleasure of writing code.
So, if you want to ensure that others will use your tool, you must remember to spend some time on DX.
Let’s take the mono-repo question once and for all - should you ‘go mono’?
Let me respond with a classic - “it depends.” If you know what you are doing and the whole team will benefit from it, go for it. If you want to go mono just because big companies are doing so, you may fail miserably.
What will be the hottest dev trend/adopted technology in the near future?
A lot of cool things are happening right now. Before writing this, I read about NativePHP, which would allow us to make Electron Apps with PHP. There is also a new JS framework happening every month.
But the most exciting stuff will happen around AI. I won’t even dare to guess what it will look like in 2 years. The only thing I’m sure of is that there will be a race to create software that can detect AI-generated content.
Some claim that front-end developers will become irrelevant in the future of no-code tools. Do you see this happening? If so, how soon?
When it comes to simple websites, I agree. There are too few developers to be able to handcraft all the required websites. And for those boring sites, no-code tools will be perfect. But at some point, clients will want something more than just another website created from a framework. And this will be the place where front-end developers will still be relevant.
Share some tips to help remote teams collaborate better.
If you can find opportunities to get to know people from your company a little better - take it. For example, organize weekly watercooler Zoom chats, meet during conferences, etc. Use any possible chance to develop a better connection. Thanks to this, you will understand your colleagues better, resulting in better work quality (and it will also make life more fun for everyone).
Do you want to share anything else? Please share anything you think would be of value to the broader developer community:
Open source!
If, for some reason, you aren’t already contributing to any Open Source project, change that as soon as possible.
Seeing how much you can learn from all those amazing people is amazing.
Want to upgrade your developer experience? Get Livecycle and start collaborating in context on top of your deploy previews.
Like what you see here? Want to get featured? Check out our DevX Project for other great features and to apply to share your own developer experience wisdom