Eoghan Lappin, a software engineer at Yahoo, smiling at the camera.
Eoghan Lappin. Image: Yahoo

How this software engineer manages productivity and work-life balance

28 Jun 2022

Yahoo’s Eoghan Lappin discusses the hardest parts of his job and why it’s vital that software engineers look after their mental health.

Having graduated from Dublin City University in 2010, Eoghan Lappin worked at a number of smaller software companies in Dublin before moving to his current role in 2020.

He now works as a software engineering team lead at Yahoo, building features related to advertising in a cookie-less world. This, he told SiliconRepublic.com, involves working on problems at scale where measurement and metrics matter, big data is important and milliseconds count.

‘Your brain is the problem solver, and it needs to be in good shape to solve problems’
– EOGHAN LAPPIN

If there is such a thing, can you describe a typical day in the job?

It varies! We’re never short of work. I start my day checking Slack while having breakfast to see if anything requires my immediate attention. I log in, check my emails and start putting together my to-do list for the day.

I use a pen and paper list. I can have a code review waiting for me from my teammates in Romania, or I could have messages from some of my colleagues in the US. I start updating my pull requests and get those ready for re-review. Then I’ll grab a coffee and start responding to messages and e-mails.

Managing workload comes with experience. The longer you are with a company, the quicker you get a feel for how long a piece of work will take. We’re lucky in Yahoo that everyone is transparent about what is required, so I can make a decision fairly quickly if I can get something done.

What skills do you use on a daily basis?

There’s a lot, but the core technologies we use are Java, SQL, Git and AWS. We push to production numerous times a day. We follow CI/CD practices that rely heavily on unit and component testing and lots of plug-ins to quality-gate our work.

I work on components that handle billions of requests per day and as a developer, I need to know the who, the what, the when, the where and the why. These requests all produce different telemetry that we are able to glean information from in near-real time.

For someone like me who came from smaller companies to Yahoo, I had to learn how to interpret these graphs and the massive amount of data put in front of me. I look at a lot of graphs now! Each of these graphs tells a story and learning how to interpret them is a great skill.

What are the hardest parts of engineering?

Yahoo encourages a good work-life balance. My manager and the wider company are very cognisant of the effects of burnout and work hard to ensure we are in good health and using our holiday time.

Engineering is a challenging field to work in and I’ve found one of the hardest parts is converting a symptom to a solution. I get tickets with error reports and I need to be able to analyse the symptoms, figure out what they are telling me, and fashion a solution that not only fixes the problem, but improves the component overall.

Do you have any productivity tips that help you through the day?

If my concentration wanes, it is usually a good indicator I need to take a break. I try to stay well hydrated, so you will usually find coffee and water on my desk throughout the day.

I’m back to the pen and paper to map out my tasks. I add everything to the list. They all add up to getting the job done.

If I am working on something a bit more technical, I will use collaboration tools to write a document up in markdown that I can share. I mostly use them for mapping out my thought processes, which means if I go off track I can quickly come back to where I was.

If I’m really stuck on something, I’ll reach out to my teammates to talk through the problem. That can be a great help to keep me moving forward.

What skills and tools are you using to communicate daily with your colleagues?

I use a combination of internal sharing and video conferencing tools to share information with my colleagues. Daily scrum is at 2.30pm to account for time differences.

There is a huge push for knowledge sharing within the company, and I’m lucky to work with really talented colleagues who work hard to ensure the features we are implementing are well designed and documented.

I joined the company two weeks after lockdown was announced in 2020 so I missed out on going to the office and meeting everyone face to face. It was a difficult time to join the company but Yahoo (then Verizon Media) arranged the remote training and lots of online activities that allowed me to get to know my colleagues, so it all worked out in the end!

How has this role changed as the sector has evolved?

One of the biggest changes for software developers these days is the move to continuous integration and continuous deployment.

I remember in previous jobs building releases and making them available to QA teams who would manually test them and verify them for release. These days we are able to push to production within a few hours and this allows for increased productivity.

The second major change I’ve seen in the role is the conversation and legislation around privacy. Personal data is valuable and companies have a responsibility to their customers and users of the applications to protect that data.

GDPR legislation in the EU and legislation in other jurisdiction inform a lot of the engineering designs and decisions we make day to day at Yahoo.

What do you enjoy most about your job?

I really enjoy the fact you can learn something new every day. Sometimes the best thing you can do to learn something is to volunteer and be thrown in the deep end.

You will probably end up with 50 Stack Overflow tabs open and paper notes all over your desk, but when you finally produce the deliverables, you will realise how much you have learned.

We use AWS, so I’ve been working my way through the AWS certification path to improve my skillset. I recently had the chance to write an AWS Lambda job for some in-house work we are doing so it was satisfying to be able to apply what I learned to the business.

I work with some very talented people from all walks of life and being able to work together with them on a project where we all collaborate with different ideas and expertise can be really satisfying.

What advice would you give to someone who wants to work in engineering?

We spend our days using our brains to solve problems, so I would recommend looking after your mental health first. Your brain is the problem solver and it needs to be in good shape to solve problems. That’s really important to me.

Start small. Try a small programming course or a small project. You can learn as you go and try different aspects of engineering. It’s about finding what you enjoy.

Your first job can be daunting but the engineers you will be working with remember their first day too. I try to ensure our interns have everything they need to do their job and I try to clearly explain the reasoning behind decisions and why they apply to the problem we are solving.

As a senior engineer, it’s important to be available for questions and pair programming. Good documentation goes a long way, so I try to make tickets and documentation as verbose and accurate as possible. These practices allow newcomers to be as independent as possible and helps remove much of the ‘new job’ anxiety.

10 things you need to know direct to your inbox every weekday. Sign up for the Daily Brief, Silicon Republic’s digest of essential sci-tech news.

Loading now, one moment please! Loading