Job Description:
Job Title: Software Engineer (Financial Services)
We are actively seeking a talented Software Engineer to contribute to the full lifecycle of product development. The ideal candidate will excel at programming well-designed, efficient, and testable code that aligns with project specifications.
Responsibilities:
- Develop and Re-Architect:
- Contribute to the development of new capabilities and re-architect existing system components.
- Engage in test-driven, iterative development, prototyping, and collaborative code reviews with a dynamic team of developers.
- Backend Design and Coding:
- Design and code middle and back-end components in a clean and efficient manner.
- Implement scalable and robust services to enhance overall system performance.
- API Development:
- Develop external and internal APIs, ensuring seamless integration with existing systems.
- Contribute to the creation of reliable and user-friendly API documentation.
- Testing and Debugging:
- Develop and execute unit and performance tests to ensure scalability and reliability of the software.
- Review and debug code to maintain code integrity and efficiency.
- Documentation and Design:
- Create comprehensive documentation, including flowcharts, layouts, diagrams, charts, and code comments.
- Implement clean code practices and contribute to maintaining a well-documented codebase.
- System Specification and Standards:
- Determine and design system specifications, standards, and programming guidelines.
- Collaborate with the team to prepare and install effective software solutions.
Requirements:
- Education: Bachelors degree in Software Engineering, Information Technology, or a related field.
- Experience: Between 1 and 3 years of hands-on experience in software engineering.
- Technical Skills:
- Proficient in Java and experience developing server-side web applications.
- Solid experience with Java Web Services, including exposure to REST and SOAP APIs.
- Familiarity with both relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB).
- Strong object-oriented development skills.
- Demonstrated ability to quickly adapt to and leverage new technologies.
- Knowledge:
- Understanding of Java frameworks, architecture, and design patterns.
- Communication Skills:
- Effective communication skills to collaborate within a cross-functional team.