Telnyx is a global company beyond just our private network and international numbering. Telnyx houses offices in Chicago and Dublin, and we’ll likely be expanding to an APAC location in 2018. Beyond that, 19 Telnyx team members work remotely from within the US and countries in South America, Europe and Asia. To understand how Telnyx supports our remote workers and to learn about the role of an Elixir programmer at Telnyx, we spoke with Guilherme de Maio (who goes by Gui), who joined Telnyx in November and is based in São Paulo, Brazil.
What kinds of projects does a Telnyx Elixir engineer work on?
This is a particularly interesting question, as Elixir is based on Erlang, which is a language created in the 80's for running on telephony systems. At Telnyx, if I'm not mistaken, Elixir started as a test to replace an old Rails API with just a couple developers working with it. They enjoyed it so much that they began using Elixir in other services. We do not use it for the telephony engine services (*yet, perhaps?*) but I'm in the telephony apps team, so I use Elixir to develop backend services that interact directly with the telephony engine. That includes functionality like call recording, intercepting calls, call control, and services that plan and communicate call flows.
What made you decide to join Telnyx?
Elixir is my language of choice, and I wanted to find a remote job that resonated with me, with a purpose. I knew a developer here through my local developer network. I really liked the Telnyx values and solving the challenge in the interview. I had a really good sense of the team by the end of the interview: The team is cohesive and has each others’ back, and that spans across the company in a lot of ways, working together to provide a quality service. It was a good product, right technology, and the company embraced remote working.
As an example, on my first trip to visit the Chicago office, one of the developers on my team came and picked me up from the airport. It was a great welcome to start my visit.
Which of Telnyx’s values appealed to you?
The official values I like the most are servant leadership (“strive to serve others”) and take action (err on the side of action).
Part of the origin of the name Telnyx appealed to me also: that Nyx is a Roman goddess born of chaos. I have a tattoo that means "chaos" that I had done as a reminder that (for me) chaos is simply organization that you don't understand yet, so it often makes sense to step back and try to see things in a different way.
The approach to democratizing technology by making it dirt cheap and accessible also appeals to me.
What’s working remotely like on the engineering team?
It's great. I'm based in São Paulo, Brazil, ahead of Chicago by a couple hours. One of my teammates is in Buenos Aires, so we usually start the day together, discussing what we need to get done. At 9 am in Chicago, we have our daily meeting. The Chicago office is equipped with video conferencing in every meeting room (camera, microphone and big screens), and remote employees join in via Zoom. It works really well.
The rest of the day we split between coding, meetings, code reviews and candidate interviews. (We're hiring remote Elixir developers, by the way.) Whenever we need to talk through a problem, Zoom is just a command away in Slack.At the end of the week, we have an all-hands meeting, and all remote employees and Dublin employees join in via Zoom.
Sounds nice, right?
How does Telnyx support remote employees?
The thing I was most worried about before joining was exactly this, but I'm happy to say it's been great so far. When working remotely, it's especially important to have information accessible and that everyone's on the same page. At Telnyx, most discussions take place in Slack or Zoom, so any remote employee can participate, and we use Google docs, Confluence and JIRA to document everything.
I can say that I don't feel left out of any important discussion as a remote employee at Telnyx.
What do you like most about being a Telnyx engineer?
Oh, there's a lot to like. Challenging projects, great tech stack, autonomy and accountability, but if I had to pick one it's definitely the team. Everyone is amazing, eager to help and get things done. It's a real team with real collaboration.
What's the most useful skill you had before starting at Telnyx and how does it help your work here?
There's a lot that's useful here.
The first is the reason it was a match between me and Telnyx: my Elixir experience. I've been using Elixir since 2015 and I love the language!
Other than that, it's definitely useful to know how Linux works and a bit about designing distributed applications. I think the DevOps team shares a love for Hashicorp's tools like Consul and Vault, so that's also a plus. Having experience with Docker definitely helps, as we're using it for almost everything.
What's a skill you didn't expect to need but do?
English to Portuguese translation. Definitely didn't expect to be doing that, but it's fun that it’s needed as the company expands!
What's the most practical thing you've built? Or the most cutting edge?
My first project with Telnyx is yet to be released: call control, or the ability to completely control the call via API. Since I had never worked with telephony before, it was intimidating at first because of the size of the project and the immediacy of customers interested in it.
I had to understand the full flow of the call and every possible scenario. It’s an exciting challenge to design something that is as simple as possible while still covering all the corner cases.
Any cool dev-related company experiences? Hackathons, conferences, collaborations with other organizations...
Oh, we're having a hackathon next Friday!
Elixir 1.6 is just out, so we'll take the day to update our projects to the latest version. Keeping projects up to date isn’t always taken seriously at other companies, so it’s cool that we’re taking the time to update, and we will be able to leverage the new features of the language. And, this will bring the Elixir team (that is typically working on different projects) together.
We're also encouraged to participate in conferences, so I submitted a talk for ElixirConf.EU and it was accepted! Brace yourself, Poland, I'm coming next April.