About You
We are seeking a highly skilled and motivated Senior Software Engineer to join our Mobile Core team.
Job Description:
The ideal candidate will have experience in mobile core infrastructure development and contribute to the development, optimization, and maintenance of our mobile core software systems.
* Design, develop, and maintain scalable and reliable software for mobile core network functionalities (e.g., EPC, 5G Core, etc.).
* Leverage a deep understanding of IP networking to troubleshoot, design, and optimize communication between components of the mobile core.
* Enhance system performance by profiling, debugging, and refactoring code in C++ and Golang.
* Work closely with cross-functional teams to deliver high-quality solutions on time. Improve engineering standards, tooling, and processes.
* Contribute to and maintain APIs across Telnyx's Wireless stack.
* Debug production issues across services and multiple levels of the stack.
* Work with engineers across the company to build new features.
* Create and maintain technical documentation, including design specifications, system diagrams, and API documentation.
* Understanding of relational databases and SQL.
* Knowledge of mobile wireless systems and protocols.
Requirements:
* Strong innate sense of curiosity and ownership.
* Strong programming experience in C++, C, and Golang.
* Solid understanding of IP networking, including protocols such as TCP/IP, UDP, DNS, and BGP.
* Familiarity with mobile core architectures and protocols (e.g., LTE/4G EPC, 5G Core, Diameter, GTP etc.) and network components like MME, SGW, PGW, and UPF.
* Hands-on experience with distributed systems and multi-threaded applications.
* Knowledge of DevOps practices, including containerisation (Docker, Kubernetes) and CI/CD pipelines.
* Proficiency in SQL. Familiarity with Postgres is an advantage.
* Willingsness to learn and apply new knowledge to solve problems.
* Multiple years of diverse professional software engineering experience with more than one programming language or platform (e.g., Go, Erlang, Elixir etc.).
* Passion for robustness and correctness. Practical skills in automated testing.
Bonus Points:
* Experience with Elixir and functional programming concepts is a significant advantage.
* Familiarity with message queues like RabbitMQ and Kafka.
* Familiarity with more exotic databases/key-value stores such as ETS.
* Familiarity with Docker, Kubernetes, Consul, Jenkins, Prometheus.
* Basics of web front-end.
* Experience with IoT platforms.
* Experience in the design and implementation of commercial IoT/M2M solutions.