Lead Software Engineer (Java)
Job Description
Work on Internet scale applications:
• Where performance, reliability, scalability and security are critical design goals - not after-thoughts
• Create intuitive, interactive and easy-to-use web applications using rich client-side and REST based server-side code
• Implement the nuts and bolts of Microservices Architecture, Service-Oriented Architecture (SOA) and Event-Driven Architecture (EDA) in real-life applications
• Gain experience with different database technologies, ranging from traditional relational to the latest NoSQL products such as Couchbase, AWS DynamoDB
• Collaborate with some of the best engineers in the industry to work on complex Software as a Service (SaaS) based applications
Heres What You Need:
Primary Skills:
• 7 to 9 years of Software Development experience in developing and shipping software
• Excellent troubleshooting skills
• Proven ability to work in a fast paced, agile environment and result oriented culture
• Hands-on programming experience with Java including Object Oriented Design
• Experience with RESTful Web Services and API development using Spring/Dropwizard or any other framework
• Experience in contributing to the architecture and design (Design Patterns, Non-Functional Requirements (NFRs) including Performance, Scalability, Reliability, Security)
• Experience with one or more of the databases: SQL Server, MySQL, PostgreSQL, Oracle, Couchbase, Cassandra, AWS DynamoDB or other NoSQL technologies
• Experience of working with Queuing technologies such as RabbitMQ/Kafka/Active MQ
• Strong influence in technical discussions and building team's technical vision
• Experience in leading an engineering team
Preferred Skills:
• Experience in full stack development ranging from front-end user interfaces to backend systems
• Experience/knowledge into JavaScript + Angular/React Js/Typescript, Graph Query Language (GQL)
• Experience of working with Elasticsearch/Solr
• Experience with Cloud Computing platforms like AWS/GCP/Azure Cloud
