Senior engineer Maarten Parmentier shares his developer story, his thoughts on what makes one a 10x software engineer and his experience with Ember.js and Vue.js
How did you become a developer, what’s your developer story?
I never expected to become a developer because they always told me you needed to be good in math for it. And I… well, I was the worst in math. I was always fascinated by people making their own website. At the age of 13 I discovered MS Frontpage and made a website for my first girlfriend. I thought it was romantic, ahum… After that first website I learned about something called ‘PHP’ and that you need a server to leave comments, something that wasn’t possible with the free webspace my IP offered me. So I bought a book about PHP and MySQL but never really figured it out.
When I was 18 I started a Bachelor in Education in Dutch and IT. In the IT classes I was introduced again to (very basic) PHP and it clicked! I loved it. I also learned how to ‘script’ in MS Word and Visual Basic. I loved those courses and somehow they were very easy for me, while the rest of fellow students were struggling more. I took this as a sign and after my Bachelor in Education I started a new Bachelor in Applied Computer Science. Love at first sight! In my last year I had to do an internship and worked 3 months at a startup that made an e-learning platform, so I could combine my 2 passions. Perfect! After the internship I was offered a full time job at that same startup and that’s where my career started.
What excites you about software development?
Creating something from backend to frontend, covering the whole process. First coming up with something that just ‘works’. Then going over the code to make it faster and then going over it again to clean it up. The best moments are when I’m stuck for a few days, I try 2-3 approaches, then revert everything, get in the spiral of “dude, what are you doing, you’re wasting so much time. Why don’t you get it”. Then you sleep a night (or a few nights) on it. Then suddenly the first thing starts working and you’re off… Such a good feeling.
You’ve worked with many developers throughout your career, what makes one a 10x engineer and how do you think one can become a 10x?
I like and appreciate ‘product engineers’ more than ‘normal’ or regular engineers. Keeping the product in mind while coding requires another skill, and I found that not a lot of people have that skill. A common skill these engineers have most of the time is that they have no issue getting into the mind of a user without technical skills. They can easily explain something very technical to a person without any tech background, they don’t use special terms, they keep it short without unneeded details. If there’s a bug or an issue, I find they also are better in understanding or debugging what’s happening because they don’t just look at the code.
People who week after week review (and manually test) code in depth is a major sign of a 10x engineer. They care about the product, they care about the code, they care about you as an engineer and they spend a lot of time on giving you the feedback that’s required to improve.
How do you keep your technical skills sharp?
I must admit I’m not very actively expanding my knowledge the last few months/year. Sometimes you get to a period in life where you don’t have time, energy or interest to keep up with everything. For me it also started after switching from 7 years of Ember.js to Vue.js. When I just started coding, I wanted to keep up to date on everything that was happening in the ecosystem. I got scared when I felt I was falling behind and that I didn’t manually try out the new hot thing. After switching I found that fear was not needed. After a while you learn the skills of how to incorporate previous knowledge and experiences into a new frameworks or companies.
To answer your question more concretely, I’ll go back to when I was deep in the Ember.js world (I loved it btw!). I was on their slack/discord, following the conversations that were going on there. I read blogs and I followed the core maintainers and people that created a lot of addons on Twitter.
How do you stay productive, what are your productivity tips?
Taking multiple tiny breaks (a couple of minutes). Go for a walk in my garden, go make a cup of coffee, do some admin stuff. I also try to have the same routine every day. Start with handling package upgrades if available, then I switch to reviews for 1 to 2 hours. After that I check if I have comments or feedback on my open merge requests and then I start new stuff.
Being a developer I know that often you might get stuck when you’re coding and can’t figure the way out for hours, how do you get out of those situations, any secrets?
Make a context switch for an hour or two and then take a bigger break. Try to tackle the problem again for a few hours if needed. If not solved. Drop it and try it again the next day. Most of the time that’s all I need, just let a night pass by and start fresh without the frustration.
What do you wish you had known when you began your career as a software developer?
Stop trying to understand and know everything.
If you were limited to passing on one piece of advice to junior programmers, what would that be?
Learn how to ‘really’ debug as soon as possible. Try to understand what the actual core problem is, not just a symptom of the problem. I still see this happening with engineers that have a couple of years of experience.
Having used both Ember.js & Vue.js for years, how would you compare both frameworks? What do you like about them? Which one would you recommend to a junior developer with ambitions in frontend development?
I wouldn’t call Vue a ‘framework’ if you compare it to Ember. Ember is just like Rails, you get a framework where a lot of decisions are already made and there are a lot of conventions. With Vue for me it feels like you start with a blank sheet. You have to figure it out yourself. That is why I really loved Ember.js. You didn’t have to find a solution for a problem that every developer faces, it’s probably already there for you to use.
Another big difference is the addon ecosystem. In ember you have Ember Observer, a website that gathers all ember addons and ranks them based on downloads/amount of tests/updates/… I really miss something like this in Vue. Coming from Ember, Vue feels a bit like the Wild West to me.
For my own projects I will always pick Ember, but for more career opportunities I’d probably recommend Vue to juniors.
Can you recommend a good learning source for beginners in Ember.js or Vue.js?
embermap.com and ember discord.
I’m struggling myself to find decent learning resources for Vue.js. Hit me up if you know some! :)
To what extent are soft skills needed for a software developer?
When I was hiring engineers in my previous company I was mostly hiring on soft skills. So I think that already answers your question.
Hard skills are easy to teach and you can throw a lot of material at people that can help them learn those skills. ‘Teaching’ soft skills is almost impossible imo.
What do you think about the future of remote work after the pandemic is over? Will the tech industry accept the distributed way of working and what’s your experience working from home?
I’m not sure if there’s something like ‘the tech industry’. I think there’s more difference if you look at the size of a company. I’ve only worked for startups and never had an ‘office policy’. Never experienced big problems with that.
On the other hand, I have dev friends working for big corps, who never were allowed to work from home and always told me ‘its impossible to do our job if you’re not in the same office’. Well.. they had to change their mind during Corona (after I told them for years :P). For smaller younger companies the pandemic was just another confirmation that remote work is king. And that’s the only thing I care about to be honest, haha. Big corps will start going back to the old patterns I’m afraid. Of course, I’m talking on a general level, some will definitely have seen the light.
What are the first 3 words that come to your mind when you think of ‘software development’?
In the Picks section you can share any resource that’s worth checking out. Do you have any picks for us?
Sam Selikoff: coming from Ember, this guy had an amazing site: www.embermap.com. Super high quality videos. He’s now moving on to React/Framer Motion but his videos are still high quality.
Pieter Levels (@levelsio): A guy building products in the open and known for having 1 index.php files. No fancy tech or frameworks here. Interesting tweets and eye opening approach to problems/ideas/…
What’s your favourite developer’s joke?