Technical Lead Software Engineer
Technical Lead Software Engineer
Us Citizenship or Green Card is required
The Technical Lead – Software Engineer is responsible for, and will contribute to, the design and development of new and enhanced features and functions for Product Development initiatives for parking devices, payment solutions and garage applications. The applicant is motivated and empowered while working independently with a software engineering team.
Key aspects to this position are:
Engage with Software Engineering Managers to designate software development team organization, processes, and procedures to support efficient and high-quality software development.
Promote software engineering “best practices” such as, but not limited to:
- Code reviews;
- Design reviews, looking for the SOLID principles and patterns, performance, and security;
- Test-driven development;
- Automated unit tests and UAT automation;
- Collection of metrics;
- Continuous integration / continuous deployment and package installation of software applications, both internally and externally;
- Ensure that technical documentation is created and maintained as part of the software development process;
- And provide feedback for team member appraisals and reviews.
- The software engineering team should hold each other accountable to these “best practices”.
- Participate in Application Design with Analysts, Architecture, Product Management and QA team members.
- Partner with Program and Project Management to:
- Ensure that new and enhanced features and functions have adequate requirements documented for high-level estimation and design work;
- Coach the team on agile-style estimation practices; hold backlog grooming and estimation sessions for both high level estimates in pre-design and more detailed estimates in post-design;
- Plan Scrum-styled sprints to determine Release commitments
- And run these sprint planning sessions, daily scrums, and monitor sprint progress to ensure delivery of all sprint commitments.
Additionally, the applicant will be expected to do the following:
- Troubleshooting and resolving issues across the full development technology stack.
- Soliciting and understanding the business requirements and writing technical functional and non-functional specifications.
- Working with Business and Architecture team members to suggest changes in design and process.
- Designing and developing software components and services to meet business requirements and technical functional and non-functional specifications.
- Correcting software faults and driving through to root cause analysis.
- Creating and exercising automated unit, functional, non-functional and integration tests of software before releasing to the Quality Assurance team.
- Leading and facilitating reviews of analysis, designs, code, tests, and scripts.
- Working with Quality Assurance and Technical Support teams to verify results.
- Analyzing, updating, and documenting reported defects to fix issues as necessary to meet requirements.
- And mentoring and guiding team members.
Desired Skills and Experience
- Four+ year degree or equivalent.
- Experience with Atlassian’s JIRA and Confluence tools.
- Cloud experience with Microsoft Azure, Amazon AWS – serverless functions, app services, micro-services, SaaS, PaaS design and development, Terraform.
- Experience with modern web application development (React) in single-page application and progressive web application environments that include web sockets / Signal-R.
- Experience with containerization and orchestration – Docker, images, Azure Repository, Kubernetes.
- Experience with Event Driven architecture and the Apache Kafka platform.