“Paint both sides of the fence”, Meet Charlie!
Charlie joined Algoan two years ago as a Front End Software Engineer. He shares with us his passion for the little things that make your life easier.
Hey Charlie, what is your favourite expression that could also describe your job?
“Paint both sides of the fence.”
This is an expression to signify that the work that your users don’t see should be just as well executed as the work your users do see. I think it brilliantly describes the role of an engineer who specialises in frontend development.
There are two sides to the work we do. On one side, there are the buttons, input fields, sliders and toggles that the user sees. These should be well designed, easy to interact with and as performant as possible. The other side of the coin concerns the code that powers this user experience, and even though the user doesn’t see it directly, it too should have as much thought applied to its structure as the buttons and graphics that a user interacts with.
This makes the job of the developer much easier, because code that is clean, easy to read, and well structured is also code that is maintainable, accessible, and extensible. You are doing the user a service if you work hard to construct a beautiful user experience, and you are doing your fellow team members a service if you write code in such a way that they can understand and modify it with ease.
How can you define Charlie’s touch, and how can we spot it in Algoan’s products front design?
I love to focus on the details. The little bits of magic in the user experience that transform what is essentially thousands of lines of code into something that is fluid and natural for the user to use.
This starts with working closely with the design team to realise a user interface that is simple, beautiful, and a joy to use. Together, we start by focusing on high level subjects such as user journeys and the structure of the page, and then slowly narrow our focus to smaller subjects; such as the most pleasing colours to use and the most delightful animations to add.
I think software should be polished, and it’s in the details that the polish shines, so to speak. A lack of polish here and a lack of attention to detail there, and the software becomes unpleasant and painful to use. These absences of care and attention add up and before you know it, you’re dealing with a piece of software that impedes the user experience, and you feel like you have to fight to use it. If something is intuitively designed and implemented, the software should get out of the way. It feels natural and authentic.
What is the most important thing in your job that people tend to forget?
Communication. There is a bygone stereotype that if you are a software engineer, you are sat surrounded by cans of monster energy drinks, headphones in, eyes glued to the screen, shut off from the world. Perhaps at one point this was true, I don’t know, I haven’t been around that long. But all I know is that communication is of paramount importance to succeeding in this field. At its heart, software engineering is transforming a solution devised by our product team into something that can be understood by a computer. That is the essence of code: a language that is precise enough to describe a solution to a problem in a way that can be interpreted by a machine.
Such a process requires constant communication with the product team to make sure that the specification of these problems are meticulously defined so that we can go about transforming them into code. On top of this, as a front-end developer, we work closely with the design team to make sure that not only is the problem well translated, but also that the solution is a joy for the user to use.
The whole process relies on constant communication, whether that be face-to-face, over Slack, or over video calls. I think this myth of the ‘basement dweller’ developer is starting to fade, at least I hope. Sometimes we see the sun.
What are your best sources when you need to find inspiration?
Is it a bit cliché to say Apple? I think probably.
Even though I’m not a designer per se, I love all that is linked to UX, UI design, typography, and graphics. Because it’s so intrinsically linked to my job, I take pleasure in scrolling for hours on sites such as Dribble to see all the creative (sometimes too creative) designs that people have come up with. How can data be visualised in interesting ways that are easy to digest? How can a user experience be refined such that it couldn’t be much simpler? Any piece of software that can achieve this is something I throw immediately into my bookmarks. To name a few: Airbnb for its breakthrough design philosophy, the BBC for pushing the envelope in online media consumption, and Doctolib for transforming what was once a complicated process into something that takes a few clicks.
The last tip you learned you want to share?
Make lists. And lots of them. Put everything into a list.
When you mix my goldfish memory with a high amount of context changing, it is of paramount importance to put everything into a list not only so you can remember things for later, but it also allows you to externalise the things that you have to do. It allows me to stop thinking of work once the work day is finished, because I no longer spend time ruminating in my head about things I have to do as everything has been noted, ready to pick up the following day.
I’m a simple guy so I just use the built in applications on my Mac, notably the Notes app and the Reminders app. I tend to find more advanced tools with additional features tend to distract from the essence of what I want to do: make a list.
The last time you said « WAHOU »?
When my colleague printed me out a ‘Fantastic French award’ certificate to express his adoration for my slowly improving but still broken french.