Job Description
Job Description
What you will bring :
- 8+ years of software engineering experience. Strong experience in developing services and applications in Java, golang or similar languages
- Recent experience in developing and managing highly available distributed applications using toolkits such as Spring Boot, Git, Docker, DevOps tools.
- Good understanding of various Design Patterns in building highly available, highly scalable distributed applications connecting a large volume of devices, serving millions of users.
- Good understanding of Security Best Practices to implement security at various levels to protect the devices data.
- Must have Programming / Scripting Knowledge such as Java, Python, Groovy, etc.
- Expert level technical knowledge in developing cloud native applications covering infrastructure, platform and software as services.
- AWS Technical knowledge in API Gateway, R53, EC2, ECS, ECR, IoT, CFTs, CloudWatch, RDS / DynamoDB, SNS / SQS, Lambda, S3 etc.
- Developing and designing REST APIs using JSON, other messaging protocols.
Added Bonus if you have :
- Experience with one or more programming languages such as : JavaScript and / or Golang
- Experience designing and implementing large scale distributed systems.
- Very good problem-solving skills with knowledge of algorithms, data structures, and complexity analysis.
- Familiarity with Agile / Scrum methodology.
- Strong analytical and reasoning skills.
- Ability to communicate well with team and other technical stakeholders for implementation.
- Ability to work in fast paced teams with quick decision making.
- Write well defined and tested code for better maintainability and performance.
- Document work and engage in quality testing / validation for changes or improved features before releasing to the customer,
- Maintain and improve existing codebases and peer review code changes.
- Software Development craftsmanship - Code Quality, Automated Testing, and Agile best practices
- Solve complex problems around connected vehicle technology.
- Solve challenging distributed systems problems around scalability, reliability, low latency, high availability with the Client.
- Document requirements and specifications
- Troubleshoot issues and debug codebases.
- Adapt new technologies, tools, processes from the organization as needed.
- Work with Product Owner's and team members to meet all project deliverables and milestone dates.
4 days ago