At Telnyx, we pride ourselves on our engineering ethos. Whether it's the 70% of the company made up of telephony, network and software engineers or the rest of us in sales, marketing, business development and operations, we come to work everyday to solve problems, execute collaboratively and build products that last.
Of course, the Telnyx developers that construct our services piece-by-piece live that engineering ethos most directly—our Python developers, especially. That's because they're often our product pioneers, prototyping features and creating MVPs of new services to test, bring to market and refine.
To get a glimpse into the Telnyx Python team’s day-to-day, we spoke with Michael McVady, the first Python engineer to join the Telnyx team;three years ago.
What kinds of projects does a Telnyx python engineer work on?
The Python team is usually responsible for creating the first version of new services, so a lot of greenfield projects. When I started three years ago, our product was literally a mock-up of what would become the Mission Control portal. The first two projects I worked on were our phone number purchasing service and the billing system.
The first telephony component that I worked on was our registrar service. This service keeps a consistent user/pass connection from SIP phones, which may have dynamic IPs. This involved writing a Python service that integrated with the open source project Kamailio all running in Docker. I like writing components that integrate with open source software, and getting to work with open-source projects is good experience for growth and resume-building.
More recently, I’ve been building out our SMS messaging API. We’re again integrating with open-source components (in this case Jasmin, which serves as our SMS gateway). This project is exciting to me because it’s entirely new, and we still have a lot of features to tackle, like short-code SMS, toll-free SMS and MMS.
What do you like most about being a Telnyx engineer?
- The relatively flat organization.
- I typically receive direction on what to build, but not necessarily how to build it.
- We get to see projects through from beginning to end.
What's your favorite project that you've worked on and why?
The recent SMS project. The scope is pretty big and all new. Currently, the team is very small (2-3 engineers), so a lot of it is within my control.
What's the most useful skill you had before starting at Telnyx and how does it help your work here?
Familiarity with Unix-like systems, shell scripting, tracing network activity with tcpdump/wireshark. These aren’t things I have to do day-to-day, but they very much come in handy from time to time.
What's a skill you didn't expect to need but do?
SQL, specifically PostgreSQL. I was able to do basic SQL queries before I started here, but I’ve become extremely proficient with SQL and some of the Postgres-specific extensions since joining Telnyx. Again, I generally don’t have to leverage this knowledge day-to-day, but it’s been very helpful when needed.
Any cool dev-related company experiences you’ve been able to participate in?
I’ve been fortunate enough to attend ClueCon for the past 3 years in a row. It’s kind of a mishmash of topics and presentations generally related to telephony, but not always. Of course, I also enjoy the parties we’ve hosted for the conference the past two years.
What is the development process like at Telnyx?
Generally, we’re told what to build, but not how to build it. This puts a lot of onus on the developers to understand business needs. Developers are expected to determine requirements and understand how our projects will interact with the existing system.
The latter requires collaboration with other team members, and we generally eschew formal meetings in favor of more informal face-to-face contact.
As a project gets fleshed out, a developer will take point on planning an initiative: creating, prioritizing and assigning tickets and tasks.
We try to be agile and learn as we go. From this point on, we execute and iterate. Further iterations may be as simple as some fast follow-up work items, or for bigger iterations, we’ll create new initiatives.
How does Telnyx support the engineering organization?
- Telnyx provides a budget for learning resources and works to build a robust library of resources
- Telnyx provides a budget to attend conferences.
- From a company perspective, the engineers themselves are given the autonomy to improve operations, procedures and processes in the day-to-day activities of engineers.
- Telnyx sponsors coder meet-ups, and sometimes hosts them in their main Chicago office. We’re encouraged to attend these kinds of meet-ups.
- Telnyx encourages their developers to experiment with other technologies. I’ve spent time working on open-source projects that tangentially relate to the company, like a FreeSWITCH module or Dory, a Kafka producer.
Share on Social