Solid understanding of Agile methodologies in practical work scenarios.
Experience with Mule 3.8-3.9 (Enterprise and community edition), MSSQL for backend databases, ActiveMQ, and ASB (Azure Service Bus).
Java 7/8 and Groovy for data transformation (Dataweave is not used to transform data).
Junit/Munit/FunctionalMunitSuite.
SQL for database interactions (insert, update, join tables to generate values, etc.).
Git for version control.
Maven and Dependency Management.
Nexus or JFrog for repository management.
Good understanding of reliability pattern and CQRS.
Knowledge in integrating with different payment service providers (preferred).
Knowledge in integrating with Salesforce (preferred).
Experience in introducing new RESTful endpoints for the front end to consume (preferred).
Responsibilities:
Demonstrate a solid understanding of Agile methodologies in practical work scenarios.
Perform all necessary roles within an agile development team to design, build, and deploy applications aligned with business needs.
Contribute actively to continuous improvement within the team, providing honest and open feedback based on your experience.
Participate actively in refining development practices and processes, sharing expertise and insights to enhance software quality, maintainability, and development efficiency.
Mentor and assist junior team members through pair programming and peer review.
Translate user requirements into code and clarify with stakeholders when needed.
Write clean, maintainable, and well-organized code, implementing TDD and unit testing for high-quality software.
Adopt a habit of writing code as documentation and employ various types of tests.
Implement and maintain security best practices throughout the software development lifecycle.
Configure, modify, or extend CI/CD pipelines using various providers.
Stay updated with new technologies and apply them appropriately.
Design and maintain robust, scalable, and efficient software architecture following industry best practices and coding standards.
Demonstrate problem-solving skills and proactively seek understanding of existing systems.
Support Product Managers by assessing solution alternatives, considering technical limitations and operational realities, and providing recommendations.