We are seeking Senior Staff Engineer and Staff Engineer who will build scalable web application server and REST API. The candidate must have at least 7 years of experience in enterprise software development and strong foundation of computer science. Requirements:
•Bachelor's degree in Computer Science or higher.
•Practical design, development and deployment experience with evolving existing designs towards large scale service architecture.
•Excellent object-oriented analysis and design skills and using proven architectural patterns.
•Must have extensive experience and excellent expertise in Java based server-side high-performance, highly-available applications development
•Experience implementing, unit testing, debugging and integrating code of moderate complexity
•Must have deep understanding of networking and security technologies such as HTTP, SPDY, RESTful API, SSL/TLS, cryptography, PKI, and etc.
•Self-directed and capable of working in a dynamic and startup-like environment.
•Master's degree in computer science or equivalent.
•Experience in multi-threaded programming and distributed systems.
•Experience in a high paced agile development environment.
•Understanding of both RDBMS and NoSQL approaches to data storage.
•Familiarity with Git, Gradle, Maven, Jetty, Tomcat, Play Framework, Nginx, Linux administration (Ubuntu/CentOS). Responsibilities:
•Lead the technical implementations of sustaining engineering team to collaborate in the design and deployment of the next-generation authentication architecture.
•Contribute to the modularization effort towards efficient and effective service architecture for best performance while providing horizontal and vertical scaling alternatives.
•Contribute to design discussions and decisions on application architecture and development, algorithm design, highly-available application services, and reliable APIs.
•Work with other development teams to ensure end to end architectural, functional and protocol consistency.
•Participate in all aspects of the development lifecycle, from design to development to deployment and on-going enhancement.