Hackernoon logoDITL of a Software Engineer: On Working With Serverless Like by@taavi-rehemagi

DITL of a Software Engineer: On Working With Serverless Like

Author profile picture

@taavi-rehemagiTaavi Rehemägi

CEO of Dashbird. 13y experience as a software developer & 5y of building Serverless applications.

Want to know what actually goes on under the platform and behind the screens at Dashbird? We recently sat down for a Q&A with our CTO, Marek Tihkan, on leading and managing an engineering team. Today, we speak to Alex, one of the engineers on the Development team. In this Q&A Alex gives you his insights and some visibility into what his days are like, and shares his perspective as a developer on working with serverless and the learning curves of this new way of computing.

How long have you been a developer for?

Working at Dashbird is my first prominent professional role but I’ve been coding and developing my own projects for a while. I learnt early on that I enjoyed it and am now lucky enough to do it as my job every day!

What has the transition from traditional to Serverless been like?

Since the start, it’s been a series of “a-ha!” moments and the journey continues to be like that. I love how well services can integrate with each other but I’ve found that it can be hard to learn the details of the Serverless world because they’re just not so obvious sometimes.

It becomes increasingly clear though that there are multiple situations where Serverless makes much more sense over traditional infrastructure and architecture models, such as event-driven applications. Given the way Serverless is going and from my own experience, I know my transition and learning will be ongoing as new possibilities continue to come along.

What’s the most enjoyable part of your job?

To be honest, the most enjoyable part for me is working in my team. I’m surrounded by incredibly smart people who I’m able to learn from and share my ideas with.

How do your mornings start?

I’m the Scrum Master, which means I lead the daily stand up for the team each morning. In this, we each discuss our progress during the sprint, and raise any obstacles or blockers we’re facing. It’s a really social, helpful and fun way for us to check-in with each other, especially useful when working remotely, and to have a forum to reflect on what did and didn’t work before.

How does the team support each other?

Our scope of features is very big so exploring and brainstorming ideas is always encouraged, as is breaking off into smaller groups to resolve issues. As well as mentoring, from time to time we also each do short tech presentations to the group if we have a particular area of expertise or recently learnt something new. It’s all about sharing knowledge and working towards the bigger picture.

Are there ever moments of disagreements?

Not really! While there can be different opinions sometimes, we don’t let this pause any development. We’re pretty autonomous and proactive so if something needs fixing, we simply go ahead and get it done so it’s one less thing on the list for the team.

What’s the most challenging part of your job?

Not having enough time or engineers to do all that we want to do! We have big plans and ideas meaning our list of jobs is always growing, but this means we are often restricted by what can be completed.

How do you prioritize new ideas for development?

As a team and a business, we are always developing for our customers first and foremost. This means our priority is enhancing the user experience and building for scale, so our system maintains its resilience and high performance as more users onboard.

We use customer feedback and our own regular internal use of Dashbird to determine new features and fixes.

How do you stay motivated in your projects?

I purposely always have a few projects on the go so I’m able to switch back and forth between them when I feel stuck, or even uninspired or uncreative. These small breaks actually work really well for me as quite often I realize the solution at random times, like in my sleep!

Have you got any tips on how to become a great developer?

Learn and consistently apply the fundamental principles of programming. While it can look like the tech world is always changing, the fundamentals haven’t even from 50 years ago. A great YouTube video I often recommend is this one about the UNIX operating system and fundamental principles that went into building such a complex piece of software; it’s an oldie but definitely a goody.

What is your favourite Serverless service?

It’s got to be AWS Lambda. It’s the original, it’s versatile and integrates well with other services. You can do pretty much anything with it.

What would you like to see next in the Serverless world?

As Serverless gains traction, I’d love to see more effort and a greater space made for courses and tutorials on what serverless actually is and what you can do with it. If the education journey was made easier, more inviting and less daunting or cryptic, I think people and businesses would come into the field faster.

Another reason I say this is because some of my most profound lessons so far have been from my exposure to Dashbird’s own internal knowledge and experience. I’ve enjoyed that on-the-job learning element however, refining mentoring and exploring more ways to learn the different topics and concepts within Serverless outside of this would be a game changer.


Join Hacker Noon

Create your free account to unlock your custom reading experience.