The Senior Java Developer will be responsible for designing, creating, and implementing Java-based solutions across a range of projects, including mobile applications and database programming.
The role involves contributing to software development efforts, enhancing existing systems, and ensuring performance, scalability, and quality.
Key Responsibilities
- Design and develop high-volume, low-latency applications for mission-critical systems with high availability and performance.
- Contribute to all phases of the software development lifecycle.
- Write well-designed, testable, and efficient code.
- Enhance existing systems by adding new features based on business requirements.
- Monitor application performance and identify innovative solutions for improvement.
- Collaborate with team members to build scalable, secure, and high-quality software products.
- Follow best practices for development, deployment, and maintenance of software.
- Deploy new features and products into the production environment.
Required Qualifications- 8+ years of experience in Java development.
- Experience in the financial domain.
- Proficiency in Java and strong understanding of its ecosystem.
- Solid knowledge of OOP concepts and design patterns.
- Familiarity with design and architectural patterns.
- Ability to write reusable Java libraries.
- Knowledge of Java concurrency patterns.
- Basic understanding of MVC architecture, JDBC, and RESTful web services.
- Working knowledge of Java GUI frameworks such as Swing, SWT, or AWT, depending on project needs.
- Ability to write clean and readable code.
- Basic understanding of the Java class loading mechanism.
- Experience working with external and embedded databases.
- Understanding of scalable application design principles.
- Experience creating database schemas aligned with business processes.
- Basic knowledge of JVM behavior, limitations, and best practices.
- Experience implementing automated testing platforms and unit tests.
- Proficiency with version control tools such as Git.
- Understanding of build tools such as Ant, Maven, or Gradle.