Technical Requirements:
- Design, implement and maintain java application phases.
- Conduct software analysis, programming, testing and debugging.
- Develop application code for java programs.
- Develop, test, implement and maintain application software
- Develop technical designs for application development
Core Dev Skills :
- Object Oriented Programming– Skilled in the implementation of object oriented design patterns and can architect their code effectively in an OO way.
- Knowledge of the Ecosystem– Skilled in the use of the technologies in the Java ecosystem: Struts, Spring, Maven, Gradle, Ant,Junit, Spock, and Hibernate etc…
- Concurrency–Good understanding of concurrency and Multithreading
- Databases– NoSQL ( Cassandra, Coughbase, MongoDB, Redis etc..)
- Data Structures & Collections– Understanding of data structures such as List, Map, Set, Vectors, and Matrix.
- JVM and Memory Management - Understand when memory is being allocated, from what context, and how it affects heap fragmentation.
- Thread Management. Understanding of Local Thread local objects and Globals and objects low on a thread’s stack , mutable objects etc..
- Good Knowledge on Dependency Injection (IOC) in Java
- Good Understanding of various garbage collection algorithms, and how to use the profilers.
- Know about cache coherence and fence instructions.
- Understand when to use design patterns such as Singleton, Factory, Builder, Object Pool, Iterator, Strategy, Visitor, Composite.
- Good Understanding and Should have worked on BDD- Behavioral Driven Development ( Tools - Cucumber)
Tools and Technologies for web based Application Dev :
- JSP / Servlets
- Web Frameworks like Struts / Springboot/Micronaut
- Service Oriented Architecture / Web Services – SOAP / REST
- Web Technologies like HTML, CSS, Javascript and JQuery
- Markup Languages like XML and JSON
You will be responsible for
Typically the role involves the following activities:
- Pairing with other engineers to write high quality code that’s easy to understand and work with.
- Writing tests - very often before the associated code - at unit level.
- Reviewing pull requests and giving good feedback.
- Attending backlog planning sessions to discuss and estimate (small, medium, large) upcoming stories.
- Taking part in understanding requirements and designing API endpoints and their implementations.
- Supporting the service, both during office hours and out of hours via paid support rota.
- Automating the build, provisioning and deployment in the cloud.
- Implementing monitoring and alerting mechanisms via Splunk, Runscope and other tools.
- Building for security and user data privacy. We aspire for full PCI Compliance.
You will need
Experience relevant for this job:
- Hard core Java skill.
- Akka skill is a big plus.
- Designing and building distributed systems, for scalability, availability and performance.
- Testing everything, automating everything.
- Written and verbal communication skills.
- Problem solving, analysis and computational skills.
- Customer focus.
- Innovative approach to problem solving.
What will make you stand out: Tools and Tech
- Experience in implementing Event Sourcing and Micro-service architecture.
- Proficiency in Kubernetes.
- experience in Cassandra.
- experience in Kafka.
- Defensive or Offensive Security skill/certifications.
- Working Knowledge on AWS/Azure .
- Containers ( Dockers/ terraform), Micro-service and Event Sourcing architecture.