Software Engineer (Digital Bank)
Salary undisclosed
Apply on
Original
Simplified
As a Software Engineer, you will play a pivotal role in driving our software development efforts. Your expertise and contributions will be essential in creating robust and high-performing backend solutions. Collaborating closely with cross-functional teams, you will translate business requirements into technical implementations, ensuring the delivery of scalable and efficient products.
- Develop high-quality software solutions using Java programming language, adhering to coding standards and best practices to ensure code quality and maintainability
- Collaborate closely with cross-functional teams, including product owners, designers, and other developers, to gather requirements, define technical specifications, and contribute to the overall software design process
- Participate in the entire software development lifecycle, from concept and design to testing and deployment, ensuring timely and successful delivery of software projects
- Write well-designed, efficient, and testable code, utilizing design patterns and architectural principles to create robust and scalable software solutions
- Perform thorough testing of developed code to identify and fix bugs, ensuring the software meets functional and performance requirements
- Maintain and enhance existing software applications by identifying areas for improvement, conducting code refactoring, and implementing necessary updates
- Collaborate with the quality assurance team to develop and execute comprehensive test plans, ensuring the reliability and stability of the software
- Troubleshoot and resolve technical issues, working collaboratively with team members to identify root causes and implement effective solutions
- Ensure adherence to coding standards, software quality, and security guidelines throughout the product development process
- Contribute to the documentation of software solutions, including technical specifications, and other relevant documentation
- Actively participate in Agile development methodologies, including sprint planning, stand-up meetings, and retrospectives, to ensure effective project management and team collaboration
Job Requirements & Criteria:
- Bachelor’s Degree in Computer Science, Software Engineering, or a related field
- Strong proficiency with minimum of 2 years in Java programming language
- Expertise in backend development using Java, including creating APIs, microservices, and server-side logic
- Profound understanding of object-oriented principles, design patterns, and their application in Java development
- Proficiency in working with relational databases like MySQL, PostgreSQL, including database design and querying
- Experience with Spring Boot for building scalable, production-ready Java applications
- Proficiency in using Git for version control and collaboration within a team
- Knowledge of writing and executing unit tests using tools like JUnit for ensuring code quality
- Familiarity with build automation tools like Maven or Gradle for managing project dependencies and builds
- Familiarity with middleware technologies like Apache Kafka, RabbitMQ, or similar for asynchronous communication
- Understanding of microservices architecture principles and practices, and security principles and practices in application development
- Experience with debugging tools and profiling to identify and resolve issues
- Familiarity with containerization technologies like Docker and orchestration tools like Kubernetes
- Excellent communication and collaboration skills, with the ability to work effectively with cross-functional teams and stakeholders
Similar Jobs