Role Responsible for leading the projects technically from the early phases of planning till the delivery of the production system Responsibilities Design: Responsible for software applications design according to design best practices and customer needs. Ensure all the technical team has full understanding of the project design. Responsible for implementing the business requirements adhering to the design document of the project. Reporting Report accurate and clear status about technical team progress, challenges, risks and recommendation. Coaching & Technical guidance: Responsible for providing full coaching, technical guidance, and support for all the technical team members during the project. Decide the technologies and tools that best fit implementing the customer requirements. Manage multiple projects and handle different tasks simultaneously. Quality: Assessing the quality of all project technical deliverables. Steering the team into focusing on creating a highly maintainable applications. Communicates and enforces coding standards. Ensure all implemented features are unit tested. Performs code reviews and recommends necessary rework. Responsible for the code being developed by the developers. Promptly escalate issues, which affect project quality. Ensure code is documented where applicable or required. Technical Estimate: Responsible for all technical estimates from the project s early phases till end of the project. Contribute to estimating the high-level-requirements during RFPs Team work & Communication: Ensure team-work spirit. Ensure all team members are assigned to the tasks that fit their technical capabilities. Communicate technical feedback and technical development areas to team members. Commitment, Flexibility & Dedication: Deliver tasks on time and within project plan with the agreed quality standards. Flexible to adapt with unplanned changes in timelines, business requirements, quality standard or any other activity that might threat the overall project delivery. Co-operate with other team members to achieve project targets. High dedication with putting the business first and ability to set the right priority for the benefit of our business.
Technical skills Very good knowledge of: Object Oriented Programming Design patterns (Basic GoF) Microservices architecture SOA Service Oriented Architecture SOLID principals Threading Collections Unit testing Relational Database Basic concepts No SQL Database Redis Big Data (Kafka) Caching and performance tuning Search engines like elastic search GraphQL Mongo DB Spring boot AOP Aspect Oriented Programming Spring security Spring integration Spring cloud Spring 5 Spring data Maven Gradle Git and branching strategies Application servers Kubernates Docker containers Splunk trouble shooting Linux and shell scripting Jenkins as a concept Streaming Reactive programming Generics REST APIs SOAP Webservice Clean code Cryptography AWS Developing Functional programming Integration testing and BDD Test driven Systems Support: Effectively supporting production systems, taking care of implementing the required KPI and adhering to the agreed service level agreements. Innovation Suggest, plan and implement new ideas and software improvements. Encourage team to innovate and comes with new ideas. Assess team ideas and provide constructive feedback and guidelines.
Work Experience and Education Work Experience: 9+ years working experience Education: Bachelor Degree in computer science and/or engineering or equivalent