As part of our ‘Behind the scenes’ insights, our Full Stack Developer, Pierre Pauly, reveals what motivates him professionally and shares some pearls of wisdom for buddings developers.
Tell us a little about your professional background?
My journey into software development officially started in 2006 when I began studying Informatics in high school. Since then, I have earned a first-class degree in AI and Computer Science from the University of Edinburgh (2012) and worked for several companies from telecoms, e-commerce to start-ups and a research and development studio. I have also worked independently as a contractor for a while.
My interests have led me quite naturally into developing software for the web. The internet is a relatively accessible medium which allows you to reach a lot of different people, and I really like the creativity behind designing and building web applications. I’ve had the amazing opportunity to work on totally different projects. Some of my personal highlights include developing a research app to investigate the thought processes of children with autism spectrum conditions, building a website for a charity that gave under-privileged kids the chance to learn how to do rock climbing, and working on a project that developed some really amazing 3D data visualisation tools. Not forgetting building fraud detection tools with graph technologies here at Engine B!
What motivates you professionally?
I really like working with small to medium sized companies, and most of all start-up founders, to help them navigate the complexities of the tech world. I find it really rewarding to contribute to making their vision of a product, a reality. This really drives me to work both as a UI/UX designer as well as a web developer. As a designer, you get to know all about the vision of the product, its users, and all the challenges the app needs to solve while working closely with the product owners and users. My developer hat involves designing the software architecture, researching and weighing up the trade-offs of all the different technologies we could use, and then building it! This is a very creative, rewarding process.
Do you have any advice for budding Full Stack Developers?
Start figure drawing! Drawing practice has helped to understand how to adapt my approach of building software to the different stages in the development of a business or project.
For example, in figure drawing, you start by capturing the gesture of the person you want to draw, which is the representation of the model’s pose in a few abstract lines only. These initial lines represent the whole essence of the drawing. They guide the whole drawing process that follows. The contours, volume, details, and the shading are filled in later, building on top of each other, layer by layer. Step by step the drawing transforms from abstract into concrete.
In the past, I’ve often made the mistake to start by really focussing on a detail that I wanted to get right, such as the eyes, whole head or hair in detail, before moving on to the arms and legs. This usually results in a stiff, unnatural and disjointed drawing where the dimensions are off and the overall picture has no ‘rhythm’. Starting with the gesture first allows the pieces fit together harmoniously and gives me an overview of where I am going.
How does this inform your other work?
In this way drawing has taught me to start with the most important aspect of a project first – its intention. What is the problem we aim to solve? Why are we building it? And for whom? This is the gesture of our project, the guiding line that keeps all the parts of the project aligned. Once the gesture is established, we can fill in the details, ie. how are we going to build it?
All too often we start a project by focussing on only a small part of it or by choosing a trendy technology first and then trying to find a use case for it, which is the equivalent of starting first to draw the head in detail before the rest. Instead, understand the problem, design a few solutions, and create proof of concepts and prototypes that can be rapidly developed. Only then can we commit to the project and build it with the right technologies for the job.
What do you like best about working at Engine B?
I get to collaborate with an amazing team to build tools that support professionals to tackle the big, real world problems they face. The software we create supports auditors to find transactions in a company’s financial records that are fraudulent. This is really hard to do! However, the tools we are developing will make it easier and more effective to find patterns in this kind of financial data and other datasets. Knowing that our tools will have a positive impact on the audit community is really motivating!
What does a typical day at Engine B look like? (If there is one!)
Uff! My days vary quite a bit! In the tech team we follow the Scrum Agile way of working, which splits up our work cycles into 2-week blocks called sprints. At the beginning of each sprint, we plan what we want to do and commit to delivering it. At the end of each sprint, we then demonstrate what has been built, and deliver the software to our clients.
A normal day in the sprint starts with a team meeting to discuss our plans for the day. As a lead developer, I firstly make sure my team has everything they need to do their task well by removing any obstacles or finding workarounds for them. I often arrange pair programming sessions with the team, where two or more developers work together on a piece of code – I enjoy this a lot!
Some days I work with David Heard, our CTO, to discuss the plans for our system architecture and domain models and when more design skills are needed, I work alongside our Head of Audit and Ethics, and our client product owners to research the requirements and design a prototype for a new application.
And then there are the coding days, where I put on my developer goggles and work on the code of our applications. This could be anything from building new UI components in React, writing data APIs in GraphQL, or working with our Knowledge Engineer, to structure and query our Neo4j graph database.
No day is really the same in Engine B and I really like that! It is a very natural and creative work environment.
What impact are you hoping Engine B will have?
I hope Engine B will make the life of professionals easier! The tools we are creating will enable them to spend less time on menial data processing tasks, and more time applying their expert judgment on really difficult problems like fraud, corruption, and money laundering. In turn, this helps our society to hold companies of any scale, but especially global enterprises, accountable for their actions and could even result in a fairer society overall! Maybe this would mean we could finally make some progress on reducing greenhouse emissions and global warming. Big dreams!
Interested in working for Engine B? Send us your CV!