My name is Panos and I’m a full-stack developer here at Mixlr. I recently celebrated my one year anniversary and to mark this milestone, I wanted to write a short post summarising what I’ve achieved during the past 12 months.
You might also be interested in knowing what a full-stack software engineer gets up to in a vibrant startup like Mixlr, a media-business tech company.
Embarking on the Tech Journey
My technological journey at Mixlr has been nothing short of exciting. Let’s take a peek at some key projects and tools that have kept me busy.
Crafting A/B Testing Frameworks
One of my first projects involved designing a straightforward A/B Testing Framework, allowing us to strategically group our users and evaluate the adoption and utilisation of our various features.
Navigating Through AWS and Terraform
AWS (Amazon Web Services) is central to a lot of work we do at Mixlr. This is an area I have always wanted to improve, so it has been a perfect opportunity for me to hone my skills in this area. I have already earned a couple of AWS certifications and plan to get more, both as a developer and as an operations engineer.
Not only that. At Mixlr, we use Terraform (https://www.terraform.io) for 99% of cloud work, which was another tool I wanted to level up on. I had very little experience working with Terraform. However, during my first year here, I have used it for most of my projects, which helped me become quite a senior Terraform engineer. Hopefully, in the near future, I will get certified on this technology too.
At Mixlr, a big part of the application that is user-facing is built on React. I was quite familiar with React, Redux and React Native before I joined Mixlr. However, here, I was introduced to Redux Toolkit which really impressed me – I was amazed by how little code you have to write to maintain the state of the application. This toolkit made using Redux in a React application much easier and simpler compared to my previous experience.
I was quite familiar with Docker, but at Mixlr I had to go into an even higher level of expertise. I used docker almost everywhere. Both for local development and for deployment in production, as well as in our CI/CD platform.
Ruby and Ruby on Rails
Ruby and Ruby on Rails comprise a big part of our codebase, but these are not the sole languages and frameworks we use.
With regards to RoR, we also use a lot of Hotwire tools.
Android App – Kotlin
Moreover, I took ownership of our Android App and I had to level up both on the Android App development as a framework and on Kotlin programming language as well.
What I really liked most about Android App development was the official online documentation and, in particular, the online courses created by the Android App development team. Also, I found the new way of architecting Android Apps, using Jetpack Compose, very interesting. This is very similar to React.
With regards to Kotlin, I like very much that it has a lot of similarities to Ruby, but also, it has the concept of coroutines as an easy way to practice asynchronous development.
I designed and implemented an Analytics project using Timescale DB as the core architecture element. Timescale DB is an open-sourced database designed to make SQL-scalable for time-series data.
HighCharts for Graphs
We use HighCharts to deliver beautiful graphs as a visualization of the analytics we developed with TimescaleDB.
I have leveled up with my infrastructure knowledge enough so I can take part in the rota for on-call support. On-Call Support is a duty that Mixlr engineers take periodically. Their responsibility is to immediately respond to critical incidents and try to solve any problem that would prevent our creators from broadcasting. Each engineer shift lasts for one week and they are rewarded with one extra paid day-off.
The critical incidents that would require immediate action are very rare. This is because, at Mixlr, we deliver high quality software, both in terms of the code itself, but also in terms of architecture, with high availability and resiliency.
Besides all the very exciting things I did on the tech side of my job, I also really enjoyed the following aspects:
- The project management practice, which is based on 37Signals Basecamp Shape Up Process.
- The excellence of people I work with. Very competent, fun and kind.
- The correct balance between meetings and non-meetings days.
- The 100% remote working.
- The team meeting we had all of us together in London during which I loved meeting each of my colleagues in person.
The 2nd year has just started and I am looking forward to more exciting things.
Mixlr gives me the opportunity to work on many different projects and layers of the stack, in an industry that I always wanted to work in. I feel very productive and always very excited about them. And not only that, it offers to me the conditions for a perfect work-life balance.
Looking forward to writing another blog post at the 2nd year anniversary.
Until then, keep on broadcasting with Mixlr.