Mathieu Eveillard

Developer Profile: Clément Cornen

Developer Profile: Clément Cornen

To start the year off right, I wanted to give the floor to someone who, in their daily development work, fully embodies the values of software craftsmanship.

Best wishes to everyone—enjoy the read, and happy coding!

Where did your passion for development come from, Clément?

To tell the truth, I stumbled into computer science a bit by chance. As a teenager, I already loved creating things—I was a born tinker. I experimented with electronics just as much as I did with woodworking. When it came time to choose a field of study, I wavered between a BTS in woodworking and a DUT in computer science—two fields where I knew I could be creative. Computer science won me over because of the career opportunities it offered.

But I knew absolutely nothing about development! To give you an idea, I wrote my first line of code during the break before starting my DUT program. At first, I was working in Notepad, and since I didn’t know how to type the “|” character, I’d copy it from a web page… But I quickly got hooked and picked it up easily. And by then I already had several side projects, particularly in cryptography and hacking.

Later, in the professional world, I’d say it was first and foremost the people I met—those who reached out to me 😉. These people helped me gain a broader perspective on the code I was writing and introduced me to concepts like architecture, software quality, reusability, and so on. Little by little, I came to view technology as a tool in the service of a profession.

So is it the pursuit of quality that guides you? The pursuit of perfection?

I like to think of software artisans as modern-day builders: we erect digital cathedrals. We’re constantly searching for new tools and methods to perfect our creations. Deep down, what matters is beauty. This beauty is perfection; it’s a utopia, an ideal we can never fully attain, but it’s a driving force that guides our efforts and lifts us higher.

The path of a developer is paved with frustrations, because their skills and standards evolve day by day, causing them to realize the imperfections of their past work. Not to mention that they must always remain pragmatic, because the business stakes are very real. These stakes require them to constantly recalibrate the balance between the business value delivered and the time spent on implementation.

You’re implicitly referring to a certain know-how. But what does “knowing” mean to you?

They say, “To know is to learn; to understand is to know.” In other words, knowledge requires practice—a lot of practice. In any case, it’s better to start from the premise that you know nothing, given the pace at which technology evolves… In interactions, this also means setting your ego aside: I don’t know, and that’s not a problem. Or maybe I do know, but I leave the door open because there might be a broader truth that I haven’t yet grasped. And that’s the whole point of the discussion—to bring it to light. Some call this “egoless programming,” but it’s an attitude we’d do well to adopt more widely, in my opinion.

To get back to the question, the sheer vastness of what there is to learn can seem overwhelming, but that’s also what keeps things from ever getting boring: there’s always more to “dig into”! Our profession defies any kind of routine. It’s a challenge to stay up to date, but intellectually, it’s very stimulating.

Earlier, you said, “viewing technology as a tool in the service of a profession.” Can you elaborate?

I’ll use an analogy—one that isn’t mine: three stonemasons are working on a construction site; a passerby asks the first one what he does for a living. He replies, “I’m cutting a stone.” The passerby asks the second one the same question, and he answers, “I’m cutting a stone to build a column.” The third, without even waiting for the question, declares proudly, “I’m building a cathedral.”

Throughout my various professional experiences, I’ve had the chance to work with varying degrees of business involvement. The most difficult situations always arose when there were too many intermediaries between IT and the business side. This led to inefficiencies and a real lack of commitment from the development teams, who didn’t understand the purpose of their work.

On the other hand, as a developer, if I understand the problem we’re trying to solve, I can challenge the process, enhance the design, spot errors—in short, be a source of innovative ideas. That’s the whole point of example mapping, for instance. Developers are there to code, yes, but that’s not all they do.

Does that mean you’d like to create a product eventually?

Absolutely! Creativity is what motivated me to pursue computer science. And with experience, the question of “know-how” has become less and less relevant. The days when I coded just for the sake of coding are long gone.

The desire to create has always been there. I’ve worked on several personal projects, including a product, DirectShare.io, which I co-created with a partner. It’s a peer-to-peer file-sharing service, which means the data doesn’t pass through our servers. This is particularly important today, in a context where data sovereignty is a major concern. The service is used regularly by a loyal user base, with about 3,000 uses per month. That’s good, but it’s not yet enough to justify dedicating more time to it.

It was an exciting project, and there will be others—that’s for sure!

Find Clément Cornen on LinkedIn.

← All posts