Solid understanding of the various cloud hosting services and extensive knowledge of the services offered by AWS
Expert knowledge of building and scaling fault tolerant Microservices
Excellent Java and object-oriented development skills
Solid expertise in building highly scalable, distributed REST-based services
Expert knowledge of concurrency, resiliency, caching, HTTP and REST
Solid understanding of the Software as a Service (SaaS) model
Deep understanding of mobile and web technology stacks – Swagger API specifications, Restful API
Excellent knowledge of data structures, algorithms, object oriented design, and design patterns
Expert understanding of data modeling, database design, performance monitoring and tuning
Extensive experience working with Cloud based data stores like S3, DynamoDB, MongoDB
Expert understanding of building event driven asynchronous data processing
Experience writing modular, reusable platform independent components
Fast learner, solid problem solver with great testing and debugging skills
Nice to have skills:
A good understanding of Open Source Software around ingesting, indexing and sorting large amounts of data (e.g. Kinesis, Lucene, Solr, Hadoop, Hive, etc.) will be considered a huge plus
Ability & interest in reading & contributing to an RFC
Ability to understand new networking protocols
Contributing to and managing open source projects
Building distributed systems containing Event Bus, manage sync with Cloud-based backend systems
Diagnose, and troubleshoot complex distributed problems that span multiple layers of the application across data centers
BS in Computer Science, Software Engineering or equivalent combination of Training & Experience with 5+ years of related work experience.
Strong data structure and algorithm fundamentals.
Strong Problem solving skills.
Strong communication skills (Written and verbal)
Experience with Agile principles and practices such as Continuous Integration, daily Scrums, and sprint/release planning and execution.
Get it done mindset
Attention to detail
Appreciate and enforce code hygiene and overall great quality
Willingness to learn (and unlearn)
Accept new challenges and be a positive influence on the team