Responsibilities
Design, build, and maintain efficient, reusable, and reliable Java / Angular code
Translate designs and wireframes into high quality code
Build and maintain applications that integrate with a micro-service back-end
Collaborating with cross-functional teams to define, design, and ship new features.
Designing and developing microservices using event driven architectures
Create technical design documentation
Ensure the best possible performance, quality, and responsiveness of the applications
Identify bottlenecks and bugs, and devise solutions to these problems
Help maintain code quality, organization, and automation
Skills
Proficient in Java, with a good knowledge of its ecosystems
Strong knowledge of JavaScript, TypeScript, Angular, Material, NGRX, FlexLayout, HTML and css
Accountable for application security principles including the development of secure coding standards and practices.
Solid understanding of object-oriented programming
Familiar with various design and architectural patterns
Skill for writing reusable Java / Angular libraries
Knack for writing clean, readable code
Understanding fundamental design principles behind a scalable application
Implementing automated testing platforms and unit tests
Proficient understanding of code versioning tools, such as HG, Git
Familiarity with continuous integration
Familiar with cloud services like Google Cloud
Experienced with NoSQL databases such MongoDB, Cloudera Hadoop, Cassandra etc…
Experience in Big Data ecosystem software development.
Experience working with distributed computing (MapReduce, Hadoop, Apache Spark, etc.).
Experience with Stream-processing systems such as Google cloud pub/Sub, apache kafka.
Requirement
5+ years of development experience working with different projects and technologies (Mainly Java / Angular)
Rigor and a disciplined approach in A/B testing, test coverage, quality assurance and other software development best practice
Strong problem solving and troubleshooting skills
Experience implementing complex business logic
Familiarity with release and deployment strategies in a zero downtime production environment
Experience configuring, managing, and using Jenkins / Bitbucket for continuous integration
Willingness to learn new technologies
