Overview
Skills
Job Details
As a Lead Software Engineer, you will partner with product owners, tech leads, designers, engineers and delivery professionals. You will code, test and debug new and existing applications as you implement capabilities to solve sophisticated business problems, deploy innovative products, services and experiences to delight our customers! In addition to advanced technical expertise and experience, you will bring excellent problem solving, communication and teamwork skills, along with agile ways of working, strong business insight, an inclusive leadership attitude and a continuous learning focus to all that you do.
The Skills & Expertise You Bring :
Bachelor of Computer Science or Engineering or experience in related fields
Ability to coach others with minimal guidance and effectively leverage diverse ideas, experiences, thoughts and perspectives to the benefit of the organization
Experience with agile development methodologies and Test-Driven Development (TDD)
Knowledge of business concepts tools and processes that are needed for making sound decisions in the context of the company's business
Ability to learn new skills and knowledge on an on-going basis through self-initiative and tackling challenges
Excellent problem solving, communication and collaboration skills
Advanced experience and/or expertise with several of the following:
- Programming Languages: Python, Java or Java Script; working in distributed systems, object oriented programming, design patterns and design methodology; JAVA services using Spring CLI, Maven, Microservice, multi-threading, Concurrency and parallel processing
- Frameworks: React, Angular, Springboot, Node.js, such as Full / MEAN / MERN stack
- Data Store: NoSQL or Relational Data structures; MongoDB BPM tools
- Data Streaming: SQS, Kinesis, Kafka
- Application Programming Interfaces (API): Consumption & Development; implementing service oriented architecture (SOA) patterns; Web service technologies such as APIs, REST, JSON, SOAP, XML, JDBC, MySQL, interface and end user testing concepts and tooling (functional & non-functional)
- Automated testing: JUnit, Jasmine
- Accessibility awareness
- Software security skills including secure coding, web application security and DevSecOps; Solid grasp of security concepts (authentication, authorization, encryption, digital signature, JWT), SSL, web service proxies, firewall, SAML 2.0, OpenID Connect, OAuth 2.0)
- Dev Ops Tools & Practices: Branching techniques and usage of GitHub, Bitbucket or Subversion; DevOps, Jenkins
- Software Development Life Cycle (SDLC): Monitoring and logging techniques
- AWS Core Services: AWS Services such as CloudWatch, Code-Deploy