Software Development Engineer
DESCRIPTION
Job summary
The Alexa Devices team is looking for a passionate, hard-working, and talented Software Engineer.
Our ideal Software Development Engineer candidate will exhibit a passion for building top-notch applications, scalable services, software that provides a smooth customer experience, and communication skills that establish trust.
Specifically, you will:
Propose, design, and implement industry-leading solutions for services that will be utilized by millions of clients across numerous countries.
Participate in and contribute to the planning process for new features and projects
Work with a team of world-class engineers and product managers to understand and refine the scope of incoming projects, and to ensure deliverables meet an unreasonably high quality bar.
Build highly maintainable, easy-to-understand code in both the web services and mobile space.
Mentor junior team members and assist in task management and Agile planning
Work with multiple top-notch engineering teams to understand and respond to their needs
BASIC QUALIFICATIONS
- 2+ years of non-internship professional software development experience
- 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
- Programming experience with at least one software programming language.
PREFERRED QUALIFICATIONS
· Knowledge of professional software engineering practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations. · Knowledge of industry standard test automation tools and experience in developing product test harnesses and instrumenting products to gather test results. · Experience with test driven development and establishing unit test infrastructures. · Experience automating the validating of modern user interfaces and messaging infrastructures. · Comfortable working in a fast paced, highly collaborative, dynamic work environment. · Experience interacting and coordinating test activities amongst multiple teams. · Experience in communicating with users, other technical teams, and management to collect requirements, evaluate alternatives, and develop processes and tools as needed to support the organisation.