In this installment of career highlights, we sat down with the Director of Software Engineering, Ryan Jones to learn more about his role.
What does your role as a Software Engineer encompass?
As a Director of Software Engineering, Ryan helps set up and manage virtual infrastructure that teams use to build Epsilon’s platform and campaign management tools. He oversees running the foundational team which provides tools and management for other teams to manage their own applications.
Internal to Epsilon, his team frequently collaborates with other network and systems engineering teams in addition to database administrators (DBAs) and data center administration. While not working with outside clients or other Publicis Groupe agencies, his team works with a lot of open-source tools.
What technology is involved in the Software Engineering role?
As one can imagine, the tech stack for this role is quite involved. When it comes to open-source tooling, his team uses everything from Docker and Traefik, to Portainer and Kubernetes for the infrastructure stack, which is containerized. The team has their own servers in the data centers which essentially creates a private cloud system. As far as languages and frameworks go, Node.js is used for most services with type script for the language. Most databases are in Postgres, Kafka, and Elasticsearch. The ELK stack is also commonly employed, which involves Elasticsearch, Logstash, and Kibana and when it comes to alerts Prometheus and Grafana are used.
What’s the nature of the Software Engineering role?
The nature of this role is incredibly collaborative. The way the engineering team is set up is so everyone is self-empowered and can own their service from seeing their logs, having the ability to control their builds and deployment and monitoring and alerting. Everything his team works on is distributed to other teams.
Ryan shared that his role is empowering, and that a key objective of his is to reduce the number of tickets required to achieve your goals, improving overall operational efficiency.
Ryan enjoys the leeway and freedom he is given in his role. He’s able to identify problems and challenges and work on those that are deemed to be most beneficial, such as reducing the time it takes for something to be done. Alluding to the theory of constraints, Ryan aims to eliminate points of blockage. Working with all the different processes —infrastructure, data processing, networks— Ryan’s role helps reduce the amount of time it takes for a product owner’s idea to be implemented.
What attributes make a good fit for a Software Engineer?
In comparison to other software engineering roles, Ryan does not write as much software as one would expect. Instead, his role fits perfectly into the DevOps culture and emphasizes self-empowerment and transparency. Being able to establish and build relationships is the key to success; in coordinating with so many teams you need to have a support system to solve urgent issues quickly. Strong relationships can be the difference between an issue getting solved in hours to minutes.
What superpower would help you in your role?
Ideally, if Ryan could have any superpower to help him with his role, it would be cloning. The more the merrier.
Exploring career paths
Being a Director of Software Engineering is certainly not something Ryan had imagined himself doing. Having gone to school for computer animation he thought he would end up on the media side of the business. In fact, as recently as six years ago, Ryan wasn’t even involved in infrastructure or open source, but it has been an absolute blast for him to learn, and he’s enjoyed participating in open-source communities.
Interested in seeing what job opportunities we have to offer? Epsilon has plenty of openings that you can check out on our careers page.