The Lead Service Development Engineer will be part of an agile development team, building and working on enterprise grade software systems on top of multiple development stack including but not limited to Docker Container, Kubernetes, Microsoft .NET using C#, BizTalk. Working closely with Principle Architect, the Lead Service Development Engineer should have the knowledge and ability to visualize how things should work, and how to translate that into a functioning solution. The Lead Service Development Engineer should understand and/or have experience with Microservices API architecture, cloud-native application and DevOps practice. The Lead Service Development Engineer will provide technical and team leadership through coaching and mentoring.
Essential Duties and Responsibilities:
- Guide team development efforts towards successful project delivery.
- Provide technical leadership to teammates through coaching and mentorship.
- Maintain high standards of software quality within the team by establishing good practices and habits.
- Identify and encourage areas for growth and improvement within the team.
- Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain cloud-based microservices API built on Docker container technology and running on Kubernetes platform.
- Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans.
- Prepare reports, manuals and other documentation on the status, operation and maintenance of software.
- Design, develop, and unit test applications in accordance with established standards.
- Participate in peer-reviews of solution designs and related code.
- Package and support deployment of releases using DevOps practice.
- Work with teammates to continue support legacy applications and migrate to new technology and platform when the time is right.
- Develop, refine, and tune integrations between applications.
- Analyze and resolve technical and application problems.
- Assess opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties.
- Adhere to high-quality development principles while delivering solutions on-time and on-budget.
- Provide third-level support to business users. Research and evaluate a variety of software products.
- 5+ years’ experience as a Senior Software Engineer/Developer
- 3+ years’ experience with Microservices API architecture, RESTful APIs
- Prior experience in a technical leadership position
- 1+ years’ experience in Docker container development
- 1+ years’ experience in Kubernetes platform deployment
- College or University degree in Computer Science or a related discipline
Preferred Competency Requirements:
- Proficient with Microsoft .Net development using C#
- Extensive experience designing and developing enterprise grade software with security best practice in mind
- Experience with source control management systems and continuous integration/deployment (CI/CD) environments
- Experience with automated testing
- Experience with agile development methodologies such as Scrum
- Experience with containerized development using Docker
- Experience with container orchestrator such as Kubernetes and Docker Swarm
- Experience with debugging, performance profiling and optimization
- Expertise/experience in cloud development including serverless functions, cloud ESB etc.
- Comprehensive understanding of object-oriented and service-oriented application development techniques and theories
- Internally motivated, able to work proficiently both independently and in a team environment
- Strong communication skills with both internal team members and external business stakeholders
- Strong initiatives to find ways to improve solutions, systems and processes
- Willing to learn and try out new technology
Technical Skills Preferred:
Cloud Environment: Microsoft Azure, AWS
Languages/Scripts: C#, ASP.NET, Shell, YAML, Bash
Version Control Tools: GIT, Bit Bucket, TFS
CI/CD Tools: Jenkins
Configuration Management Tools: Ansible
Container Technology: Docker, Docker Swarm, Kubernetes, .NET Core 2.0/2.1, Docker Registry, Azure Container Registry
Service Bus: Microsoft BizTalk
Web/Application Servers: Microsoft IIS, Nginx
Operating Systems: Windows, Linux
Databases: Microsoft SQL
Bug Tracking Tools: JIRA, ServiceNow
Testing Tools: Postman
Code Quality: SonarQube