Thoughtpiece

Day in the Life of a Backend Engineer

Michal Fiedorowicz and Huma

First published: 27 Jun 2019 | 6 min read
Author: Stephen Hankinson, Michal Fiedorowicz

You have your first day at work all planned out — what you’re going to wear, the route you’re going to take to get to the new office, and a calendar filled with coffee chats with new co-workers. But for many who haven’t changed jobs much or who are relatively new to the workplace, there can be many questions around what it’s like to actually start working at a new job at a healthtech startup.

We caught up with Michal Fiedorowicz, a Software Engineer at Huma, who shared his experience of joining us and of his day-to-day life helping develop new technologies. We hope this gives you an idea of what it is like to work with us and our tech team.

Hi, Michal! Tell us about yourself.

I’m Michal Fiedorowicz, and I’m a Software Engineer at Huma. I focus mainly on the backend, including designing solutions/architecture, through implementation and some DevOps from time to time.

I moved from Poland to the UK five years ago and I really like it here. I love the pace of London and the friendly people around me. My kids love their school and we enjoy the many great parks across the city.

For the last five years, I’ve been working mainly for healthtech startups with a mission to improve people’s lives through the use of technology. It’s important to do what you love and to know that it’s being used for the greater good. Previously, I worked as a freelancer building frontend and backend solutions mainly for digital agencies and startups.

What did your first day and month look like?

Joining Huma’s tech team was like a breath of fresh air for me!

On my first day, I set up my working environment — new joins get the latest MacBook Pro or whatever they need to do their job. Of course, I then created accounts for the services we use such as GitHub, JIRA, and Confluence. It was pretty smooth and easy to follow. I met my whole team and had a chat with the Product Managers to get a better picture of where we are and what’s ahead of us.

The first month was pretty intensive but in a very positive way. I was able to learn a lot about the project and its architecture in a very short period of time, which is important to every engineer. To improve, you need to be eager to constantly learn about new solutions, technologies, and most importantly how to work with other people within a team. Communication is key.

Tell us about your team.

My team currently has seven passionate Engineers with a lot of experience. We build a robust, secure, and reliable platform that scales. This is a core element for our iOS and Android apps, as well as for the web portal used by clinicians.

We take collaboration seriously, so together we discuss problems and try to figure out how to solve them in the best possible and most elegant way. We support each other and there is no shame when someone asks for help when stuck with something or is looking for a better solution. Trust is one of our core values and there is no place for ego.

Every morning we have our stand up meeting where we keep everyone in the loop about what we have done, what’s next, and raise any blockers. We work in two-week sprints with retrospective meetings at the end about what went well and not so well, to celebrate successes, and acknowledge any failures. I’m very lucky to work with so many great people here, everyone is really helpful and has an interesting story to tell.

What technologies are you working with?

Our backend architecture relies on Amazon Web Services (AWS) and we use many of its services. We use AppSync for our flexible and scalable GraphQL which communicates with concurrent Lambda functions written in Python. Data is stored in AWS Neptune which is our graph database of choice mixed with DynamoDB and Elasticsearch.

There are many interesting technologies like Cognito or Kinesis to work with, it’s really hard to get bored! The most interesting thing is connecting all of these resources into one clever system. We believe in polyglotism and to choose the right tool for the job, so we’re open to using other programming languages within a reason.

What is a software development life cycle?

Software Development Life Cycle (SDLC) is a standard process for creating software. It’s a repeatable cycle of planning and defining requirements, designing solutions, then building, testing, and delivering it to our end users. In each iteration, we improve what we built previously making our product better and better.

This approach is aligned with our flexibility towards our users, clinicians, and clients — we listen, gather new requirements and make it happen.

Additionally, working in such cycles let us focus on smaller chunks of work, to do it properly, and to catch any potential issues as soon as possible. In the backend team we use a mix of Kanban and Scrum methodologies, so we divide and visualise our workflow by backlog of ideas/tasks — what’s in progress and what has been completed — and organise it in sprints. Even though the Product Team gathers all requirements and plan it, the Backend and Mobile Teams build it and the QA team verifies everything works as expected — it’s a cross-functional team effort and everyone is involved.

What are the most interesting challenges you’ve been working on so far?

For sure the migration from the old backend into new architecture was quite challenging! We’ve managed to do it and we are happy about the move. There is always lots of fun with AWS Cognito or Lambda. Surprisingly, the biggest challenge in software engineering, in general, is to keep the focus on top priorities, as there are always many interesting issues or cases to look at. Keeping focus is key.

What opportunities for personal development do you have at Huma?

First of all, I’m able to work with modern technologies and try out new tools and solutions. It helps you learn new things on the job and gain more experience every day.

Sharing my knowledge with other team members helps me a lot to become a better engineer and person. Together with my manager, we discuss areas for improvements and/or up-skilling. We are trying to plan in which direction should I go in my career.

We’re also invited to workshops organised by AWS and their partners which is very valuable. I can pick any interesting technical event and if it can be helpful to build a better product and doesn’t clash with work-related obligations, I can go!

In general, I feel I’m becoming a better engineer here which makes me very happy.

Read Next

Medopad is now Huma. Huma has acquired Biobeats and TLT.

cross