Purpose:
As an experienced Senior Software Developer, you'll develop major components that power our consumer apps and global platform enabling over 17 million users to conveniently pay for parking.
Responsibilities:
- Leave your fingerprints on the design of products, architect our infrastructure, and improve technical documentation
- You are a go-to technical expert for other people in the organization, articulating technical concepts to non-technical stakeholders
- Work with your team to design and develop automated test suites and establish test plans
- Work with product management and client services to scope out work and define acceptance criteria
- Participate in code reviews to share expertise with the team, ensure code quality, and verify PCI compliance
- Where desired and appropriate participate in mob- and pair-programming sessions to distribute knowledge across the team and collaborate on finding solutions to complex problems
- Use and improve our automated CI/CD pipeline
- Provision and maintain cloud infrastructure for your team's products
- Monitor the health and success of your team's products through application and system metrics
- Own the success of the features and systems you and your team develop. This includes monitoring, investigating issues, and supporting the service during outages
- Mentor fellow team members, helping to grow new technical leaders
- Help improve development standards, tooling, and processes
- Participating in technical decision-making within the team, taking a lead role where appropriate
- Provide on-call, critical response on a rotational basis to support relevant PayByPhone development teams.
- You must maintain a personal data plan to fulfill your responsibilities for on-call support.
Required Qualifications
Essential Knowledge, Skills, and Experience
Demonstrated experience / projects
- You've worked in or want to work in an agile environment using processes like Kanban or Scrum
- Experience with automated unit testing, and an interest in techniques such as TDD and BDD
- Excellent understanding of software engineering principles
- Keep up with new technologies and find ways to improve the status quo
Technical / Hard Skills
- Expert-level ability to code in C# and Python.
- Experience with cloud platforms like AWS and cloud-based platforms such as Snowflake
- Experience with data transformation tools such as DBT
- Experience with business intelligence tools (e.g., Looker or similar)
Other Skills
- An excellent understanding of software engineering techniques
- Worked in an agile development environment using processes like Kanban or Scrum
- Experience with relational and non-relational databases such as MySQL, MongoDB, or DynamoDB
- Experience with service-oriented or microservices architecture using synchronous (REST) and asynchronous (event-driven) integration
- Experience with refactoring
Nice to have:
- Experience with Docker, Terraform
- Familiarity with Domain Driven Design concepts
- Experience with production monitoring and observability
- You're excited about building robust and extensible 24/7 back-end services for a global market
People Management Experience
- Experience mentoring junior and intermediate developers
Years of Experience
- 5+ years' experience designing and developing clean, maintainable software that stands up to real-world users and production conditions
Education (post-secondary, certification, etc.)
- Bachelor's degree in Computer Science or Software Engineering