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 development
Proficient in Java, Spring, RESTful APIs
Knowledge of PostgreSQL, Cassandra, Maven
Implementing unit tests and ensure maximum code coverage
Proficient understanding of code versioning using Git
Good knowledge of performance testing and optimization for space, memory, and speed
Familiarity with continuous integration
Solid understanding of object-oriented programming
Familiar with various design and architectural patterns
Knowledge of concurrency patterns in Java
Knack for writing clean, readable and reusable code
Experience with both external and embedded databases
Understanding fundamental design principles behind a scalable application
Basic understanding of the class loading mechanism in Java
Creating database schemas that represent and support business processes
Basic understanding of JVM, its limitations, weaknesses, and workarounds
Software Engineer • India