Position: Principal Engineer- Executive Director
Client: A Multinational Investment Banking and Financial Services Company in Bangalore.
At least 8 years (relevent) of recent hands-on professional experience (actively coding) working as a back-end software engineer
- Extensive experience with using a JVM language (Java/Scala/Kotlin, preferably Java 8+)
- Understanding of distributed systems and cloud technologies (AWS, GCP, Azure, etc.)
- Understanding of AOP and dependency injection frameworks (Spring / SpringBoot, Guice, etc.)
- Strong understanding of design patterns, technical standards and enterprise architecture.
- Strong understanding of microservices architecture, domain modelling and interface definitions, service communication methods, data modeling.
- Strong understanding of transactional semantics, race conditions, memory models, networking, operating systems, databases, data structures and algorithms
- Understanding of RESTful APIs and web technologies
- Understanding of relational and no-SQL databases
- Desired – understanding of security frameworks (Spring Security, SSL, TLS, HTTPS, etc.)
- Desired – understanding of event driven architectures (Kafka, Flink, etc.)
- Desired – understanding of distributed tracing and monitoring (Zipkin, OpenTracing, Prometheus, ELK stack, Micrometer metrics, etc.)
- Desired – experience with containers (Docker, Kubernetes, etc.)
- Experience in the all stages of software development lifecycle (requirements, design, architecture, development, testing, deployment, release and support)
- Experience in automating deployment, releases and testing in continuous integration, continuous delivery pipelines
- A solid approach to writing unit level tests using mocking frameworks, as well as automating integration and end-to-end tests