- Lead Software EngineerEmarsysApril 2012 - March 2019
Stabilisation of a workflow engine as team lead
Scaling up of data import feature as team lead
Lead of the Bootcamp team, responsible for on boarding of new hires
Founder and part of CraftLab coaching team, organised meet ups and trainings
I spent most of my time at Emarsys as a Team Lead responsible for the development of the product Automation Center. It is essentially a workflow engine that lets users create a flow chart of marketing events and then executes it. During execution, it called several other services in succession. As the load increased on the back-end strange bugs started to appear. After investigating the issues, we found two causes behind it: at several points in the code the operation’s success wasn’t being checked and even when failure was detected retrying the operation meant that certain steps were repeated. To solve this issue, we introduced idempotency into our downstream services and added the missing checks. My talk Learning to fall is a detailed description of this project.
My team was also tasked with speeding up the CSV import processes that was used to keep the customers contact database in sync with our database. For some customers this daily process took more than 24 hours. Since fixing the performance became an urgent issue, my team had to pioneer Continuous Deployment at Emarsys, which was later rolled out across the entire company.
Another important period during my tenure at Emarsys was when I led the Bootcamp team that introduced our new hires to the company’s engineering culture. Since our practices differed from those most companies adhere to, this was an important step in stopping the erosion of our engineering culture. The talk Bootcamp: Protecting the Engineering Culture During Hyper Growth gives a detailed overview of how our bootcamp worked.
I was also one of the people advocating for changing our hiring process which led to the changes described in the talk Your hiring process is broken, and here is how you fix it.
I’m a strong advocate for sharing information with others, so I also became a founding member of Emarsys Craftlab, the dedicated coaching team. We organised meetups, most notably the very successful Craft Meetup series, internal trainings, and workshops like Coderetreats and Lean Poker events. We coached our employees before they gave talks at other conferences, and taught university courses on topics like Agile, Extreme programming, DevOps, and Test Driven Development.
- Senior Software EngineerInsstructureMarch 2019 - January 2020
Training program for new hires: Extreme Programing practices, technologies used
Organized sponsor booth and activities for Kotliners Conference
Part of the team extracting message sending into a single service from multiple services (Developer and technical lead)
Although I was hired as a software engineer at Instructure, I spent the first few months of my tenure with other activities I volunteered for. Since the Budapest office was brand new and had no existing engineering culture, I set up a training programme that introduced our engineers to Agile practices (Mainly Extreme Programming), DevOps and the tools we were about to use: Kotlin with Spring, Ruby on Rails, and ReactJS.
As a software engineer I worked on a back-end service that rendered, bundled, and delivered email notifications informing the user about events that happened within their Bridge account. I was first involved as a developer and later as the technical lead responsible for breaking down the epics into stories, and steering the team in the right direction.
To recruit more engineers Instructure, Budapest sponsored Kotliners conference. I took responsibility for organising our presence. Setting up the booth, getting designs for swags, having them manufactured, and made sure we had exciting activities for participants that motivated them to visit our booth.