- Experience Needed:
- More than 7 years
- Career Level:
- Job Type:
- Full Time
About the Job
- Drive delivery of software development projects and releases, solving technical issues and reported production problems. Work closely with other teams and departments to deliver secure and high availability solutions.
Key Results Areas
Technical development of software projects/releases:
- Lead software engineers (in development) in implementing high-quality web-based applications and high volume transactional services, including design, development, and deployment of new business functionality.
- Lead and coach leads and individual contributors, including ongoing training and development performance evaluations, coaching and recruiting
Maintain software in production
- Resolve production issues in a quick way with eliminating the effect on running business activities.
Research and Development
- Lead software engineers to research new technologies to enhance and explore possible technical ideas.
Accountabilities & Responsibilities
- Delivery of software projects/releases as per the project plan.
- Implementing and enforcing modern software development methodologies such as Agile and Scrum
- Analyze and resolve technical and application problems
- Participate in peer-reviews of solution designs and related code
- Develop, refine, and tune integrations between applications
- Package and support deployment of releases
- Provide regular and effective progress updates to ensure the management of any delivery risks or issues
- Maintain high standards of software quality within the team by establishing good practices and habits
- Provide technical leadership to teammates through coaching and mentorship
- Identify and encourage areas for growth and improvement within the team
Knowledge and Experience
- Bachelor of Science Degree in Computer Science or related field.
- 7+ years in software engineering.
- 3+ years in payment solutions.
- Strong knowledge of used technologies including .Net, Java, and Web frameworks.
- Confirmed track-record of technical leadership.
- Demonstrate ability to lead & improve technical development processes.
- Be a self-starter and detail oriented.
- Ability to creatively solve challenging business/technology problems.
- Extensive experience designing and developing enterprise-grade software
- Experience with automated testing
- Experience with source control management systems and continuous integration/deployment environments
- Able to influence and drive projects to meet key milestones and overcome challenges
- Experience in formal personal development planning and individual, team and process performance management
- Strong initiative to find ways to improve solutions, systems and processes
- Experience with distributed solutions and microservices architecture.
- Deep understanding and proven experience with Enterprise Integration Patterns.
- Java 8 and 9.
- Proven experience with SQL databases “MySql”.
- Proven experience with any of the NoSQL/Document databases “Mongo, Cassandra, Maria … etc”.
- Well understanding In-Memory databases “Apache Ignite”.
- Streams technologies “i.e Kafak, Akka”, minimum one project using any similar.
- Spring Framework and Spring Cloud.
- Service Discovery “Eureka, Zuul, Consul, Zookeeper”.
- Deep understanding of JPA 2.1 with any of its implementation “i.e. Hibernate”.
- Integration frameworks “Apache Camel, Spring Integration”.
- 2+ years of TDD.
- Ant or Groovy.
- Deep understanding of Test Automation.
- Deep understanding of load testing and performance testing, minimum 3 projects.
- Proven experience of CI/CD.
- Well, understanding of latest web technologies.
- BPM engines “Activiti or Camunda”.
- Cloud Computing using “AWS or Azure or Google ”.
- Mule ESB.
- Mobile application development principles.