Lightspeed is the leading provider of cloud-based software for dealerships, serving various industries. The Software Engineer will be responsible for coding, testing, and maintaining software, while collaborating with Agile teams to ensure high-quality code and efficient deployment processes.
Responsibilities:
- Collaborate in Agile teams to refine requirements, estimate tasks, and contribute to sprint activities
- Determine software solutions, applying object-oriented principles to ensure reusability and scalability
- Develop and implement code that is clean, efficient, and well-documented, adhering to team standards
- Conduct unit testing and participate in code reviews to maintain high-quality code
- Work closely with business, product management, QA, and hosting teams to facilitate smooth rollouts across AWS environments (development, staging, production), ensuring alignment with project goals and operational needs
- Manage and optimize CI/CD pipelines, automating build, test, and deployment processes to streamline releases and maintain consistency across environments
- Utilize team tools including Jira, GitLab, SwaggerHub, and Bruno (similar to Postman) for project tracking, version control, API documentation, and testing, respectively
- Maintain and update documentation regularly in Confluence to keep resources current and accessible for team collaboration
- Maintain code quality through regular refactoring and documentation for team knowledge sharing
Requirements:
- A bachelor's degree in computer science, Engineering, or a related field with 3-5 years of professional experience; or equivalent experience in lieu of a degree
- Strong understanding of object-oriented programming and design principles with a Strong focus in Java EE, Jakarta EE, Kotlin
- Strong understanding of object-oriented programming and design principles
- Familiarity with cloud environments (AWS, GCP, or Azure preferred) and an ability to leverage cloud-based tools for software development and deployment
- Solid foundation in software development processes, debugging, and testing
- Proven experience with Agile and Scrum methodologies
- Understanding of computer science concepts, including data structures, algorithms, and software lifecycle processes
- Ability to develop and integrate APIs, and proficiency with SQL and relational databases
- Basic knowledge of network communications and distributed systems
- Ability to manage development environments and troubleshoot independently
- Working knowledge of Linux or Unix operating systems
- Driven to learn new programming languages and frameworks
- Knowledge of containerization and orchestration (e.g., Docker, Kubernetes) is preferred
- Strong verbal and written communication skills
- Ability to work collaboratively and share knowledge with team members
- Demonstrates organizational skills and an ability to prioritize effectively
- Familiarity with test-driven development and high code coverage standards
- Experience in front-end and back-end systems integration
- Working knowledge of modern databases (e.g., PostgreSQL) and microservices architecture