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 with other leads.
- 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:
- 9+ years working experience
Education:
Bachelor Degree in computer science and/or engineering or equivalent
General Skills:
- Good communication skills.
- Communicate in a clear and simple way.
- Steadiness under pressure.
- Ability to work efficiently under pressure with no compromise on quality of deliverables.
- Working with can-do attitude and competitive spirit.
- Learning from mistakes and share lessons learned from previous projects.
- Good listener, listen and ask questions to understand the business needs.
- Show a can-do attitude, and believe in challenging and developing ourselves.
- Proactive and positive spirit and attitude.
- Inspire and energize others to believe in themselves and achieve more
#VOIS#WeMoveTheWorld#MoveWithUs