Who You’ll Work With
You will work directly with Technical Leaders, Principal Engineers and Product Managers leading platform specific microservices development for solutions across all Networking products. You will work with a 15+ members engineering team to plan, lead and execute technical challenges relating to microservices development. You will lead development teams to collaboratively design solutions. You will work in an entirely distributed company and help define an entirely new space while learning about how an organization scales on a hyper-growth trajectory.
What You'll Do
- Design and extend features of Networking Platform Microservices to enable developers and partners
- Lead the design and implementation for backend topics, experiment with new technologies, provide recommendations to ensure performance, quality, and responsiveness of applications
- Collaborate with a team to define, design, and ship new features
- Identify and correct bottlenecks and fix bugs
- Make software design (application-level) decisions with the team, take software architecture topics for further consideration and unification.
- Lead implementation of technical and infrastructure initiatives to support architecture decisions.
- Detail out and refine higher-level architecture decisions into a lower-level design.
- Ensure coding standards and architecture guidelines are followed by team
Who You Are
5+ years of experience in software developmentProficient in Java, Spring, RESTful APIsKnowledge of PostgreSQL, Cassandra, MavenImplementing unit tests and ensure maximum code coverageProficient understanding of code versioning using GitGood knowledge of performance testing and optimization for space, memory, and speedFamiliarity with continuous integrationSolid understanding of object-oriented programmingFamiliar with various design and architectural patternsKnowledge of concurrency patterns in JavaKnack for writing clean, readable and reusable codeExperience with both external and embedded databasesUnderstanding fundamental design principles behind a scalable applicationBasic understanding of the class loading mechanism in JavaCreating database schemas that represent and support business processesBasic understanding of JVM, its limitations, weaknesses, and workarounds