Software Engineer

A passionate and experienced developer

The senior software engineer will assist in the development of a distributed telecommunications appliance management platform. The platform leverages a microservices architecture to provide performance, resiliency, and scalability. The platform is responsible for the lifecycle management of many devices residing at the perimeter of the cellular network. This is an entry-level position. All work to be performed on-site in Irvine, California.

Required Skills

• 1+ years experience writing Go, C++, or Java applications that were deployed as commercial products or services
• Strong knowledge of object oriented and functional programming paradigms
• Experience developing horizontally scaling distributed services that leverage synchronous and asynchronousIPC
• Experience developing services that leverage distributed asynchronous message passing

Area of specialization involving one or more of the following:
• Experience using OpenSSL
• Commanding knowledge of Public Key Infrastructure (PKI) used for server and client authentication, digital signing, and data encipherment
• Experience with distributed state management for autonomous systems
• Experience developing API abstraction and aggregation gateways

Excellent documentation skills providing development specifications and requirements for team members, including the ability to:
• create application flow illustrations for intra and inter-process communication
• create architectural diagrams
• create well defined user stories and acceptance criteria

• Excellent test-writing and code documentation skills
• Working familiarity with Ginkgo or RSpec
• Must provide own sample work showing example test code and documentation
• 6+ months working in a team that uses Agile development methodologies
• 6+ months experience working with Linux operating environments
• Experience in one or more of the following distributions: RHEL, CentOS
• Familiarity with basic system administration tasks and shell scripting
• Working knowledge of network L2/L3 packing processing (routing, filtering)
• Strong time management skills, self motivated
• Undergraduate or higher degree in computer science or a related field of study

Preferred Skills

Familiarity with the following tools:
• Git, Jira, GitLab
• Experience developing services in a micro services architecture
• Development experience building finite state machines
• Development experience using RabbitMQ or similar messaging framework
• Development experience building a REST API client and server
• Development experience building a SOAP API client and server
• Development experience using gRPC for data exchange between applications

Beneficial Skills

• Knowledge or experience working with a 3GPP Evolved Packet Core
• Active contributor to open source projects

Apply & Code Challenge

Interested in applying? Send a copy of your resume and anything else that you think would be appropriate to include to MEC Jobs.

Make sure you also check out our Code Challenge. Applicants for engineer positions are required to complete this short exercise prior to any on-site interviews.