Who You’ll Work WithYou 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 DoDesign and extend features of Networking Platform Microservices to enable developers and partnersLead the design and implementation for backend topics, experiment with new technologies, provide recommendations to ensure performance, quality, and responsiveness of applicationsCollaborate with a team to define, design, and ship new featuresIdentify and correct bottlenecks and fix bugsMake 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 teamWho You Are5+ 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
Job Title
Software Engineer