Position: Lead Java Developer
Company: TurnKey Labs
Experience required: 5y
English level: upper

The “Internet of Things” (IoT) is expected to grow to $19 trillion over the next 10 years as 50 billion devices are brought online. Aeris is at the forefront of this industry, building networks and applications to enable Fortune 500 clients to fundamentally improve their businesses. Headquartered in Silicon Valley with offices in Chicago, London, and Delhi as well as other markets, we rank among the top ten cellular providers for the IoT globally. We power critical projects across energy, transportation, retail, healthcare and more.

Our Company is in an enviable spot. We’re profitable, and both our bottom line and our global reach are growing rapidly. We’re playing in an exploding market where technology evolves daily and acquisitions / consolidations happen left and right. We are continuing to expand our IoT connectivity offerings to not only include all cellular technologies and services, but also a best-in-class IoT device management, services, and application SaaS platform, as well as alternate connectivity options such as low power WAN (LPWA), Wi-Fi and other short-range networking options.

**About the Role**
We are currently seeking an experienced, proactive Manager who will manage a talented team of backend Java developers and testers. This individual will guide a team of software developers focusing on Java based micro-services and web services. This role necessitates robust oral and written communication skills, exceptional interpersonal capabilities, and a readiness to learn quickly and enthusiastically. We prize individuals who can work efficiently and effectively, both independently and in a team setting.

**Responsibilities**
Drive the design and development of software solutions by understanding requirements, working closely with users, studying data usage and work processes, identifying problem areas, and adhering to the Agile development lifecycle.
Illustrate solutions by creating thorough documentation, design specifications, and architecture diagrams.
Improve operations by conducting advanced systems analysis and suggesting changes in policies and procedures.
Supply information by collecting, analyzing, and summarizing development and service issues.
Deliver timely and professional responses to support requests and customer needs.
Assume full responsibility for complex technical issues, coordinating with offshore development groups to resolve them as needed.
Document troubleshooting procedures and problem resolution steps.
Provide training sessions for Customer Support teams as required.
Play a key role in defining and designing architecture components within the Aeris machine-to-machine cellular network, participating from inception through the various phases of the development and deployment lifecycle.
Coordinate and collaborate with L1/L2 Support, Operations, Engineering, and Product management teams. 

**Required Experience **
8+ years of experience in a software development or related role.
Bachler’s degree in Computer Science, Computer Engineering, or equivalent discipline/experience.
Great communication.
Deep understanding of core Java, including but not limited to multi-threading, memory management, and web services.
Familiarity with Spring, Spring Boot, and related concepts, including JPA, Cache, cloud stream, security, Web client.
Experience with Agile/SAFe process is mandatory.
Strong team player with a creative, self-motivated, and positive attitude, capable of working independently with customers to help resolve complex product issues.

**Preferred Experience: **
Experience with microservices.
Knowledge and hands-on experience with caching technologies like Redis, Message brokers like Kafka/RabbitMQ, JSON/ProtoBuf.
Proficiency in debugging in an Amazon Web Services environment.
Prior experience collaborating with geographically distributed teams.
Hands-on experience with CI/CD (Docker / Rancher / Kubernetes).