Responsibilities
- Follow team guidelines for quality and consistency within the design and development phases of the application(s)
- Independently handle project activities related to builds and deployments.
- Create software tests, verify the functionality and quality of the software.
- Create design documentation for new software development and subsequent versions.
- Provide support for production applications as issues arise during and after business hours.
- Provide support for deployments during maintenance windows.
- Identify opportunities to improve and optimize applications.
- Work with product management in understanding new requirements.
- Follow company software development processes and standards.
Knowledge and Experience
- Bachelor ‘s degree in Computer Science or related field
- 5+ years professional software development experience using Core Java
- Strong understanding of data structures and algorithms
- Good understanding of object-oriented design and usage of commonly used design patterns
- Expertise in Core Java multi-threading, collections, JVM, Garbage collection
- Experience with Spring framework, JPA, RabbitMQ
- Experience with server-side web technologies such as Tomcat, SpringBoot, Servlets, REST
- Experience with at least one JavaScript framework such as React, ExtJS, etc. is desirable
- Expertise in architecting and designing event driven distributed systems.
- Bash, PERL or any other scripting experience
- Strong communication skills, including technical writing (comfortable talking to technical and non-technical customers)
- Experience with service-oriented architecture is preferred.
- Experience in Financial Services or Fintech is preferred.