Cloud Engineer (AWS Backend)
Location: Portland, OR
Job #: 572
All Software Engineers are expected to continuously build toward mastery of software languages used or required by our company. Software Engineers work collaboratively with all participants on software development projects and may be called upon to fulfill functions related to software development that are not specifically application programming, such as requirement gathering and quality assurance testing.
The Software Engineer creates high-quality craftsmanship-level software for our clients and internal users, and are expected to be proficient in the software languages used or required by us.
This includes meeting all requirements/ specifications, testing/QA requirements, methodologies and other software/product requirements. This position must be adaptable to changing technology environments, and work collaboratively with all participants in a software development project. The Software Engineer may be called upon to fulfill functions related to software development that are not specifically software programming, such as requirements gathering, producing documentation, quality assurance testing, mentoring other developers, and leading projects. As required, this position provides guidance to the junior Software Engineer positions.
- Write awesome code
- Create prototypes to help clarify software requirements
- Create realistic design specification documents from software requirements
- Plan and perform development tasks from design specifications
- Provide accurate time estimates for development tasks
- Construct and verify (unit test) software components to meet design specifications
- Collaborate with quality assurance engineers to resolve software defects
- Collaborate with project architects and assist team members to prove the validity of new software technologies
- Engage and improve our software development methodology.
- Promote agile processes among development and the business, including facilitation of scrums.
- Perform other duties as assigned to ensure the success of the team and the entire organization
- Strong Preference given to those with backgrounds in Math/Science
Skills and abilities
- Excellent object-oriented design & programming skills, including the application of design patterns and avoidance of anti-patterns
- Strong AWS skills (Lambda, Terraform, SNS, SQS, etc)
- Experience working in a collaborative team of application developers and source code repositories
- Demonstrated ability to follow through with all tasks, promises and commitments
- Ability to communicate and work effectively within priorities
- Ability to work under tight timelines in a fast-paced environment
- Good understanding of software design concepts
- Understanding of software development methodologies
- Ability to solve complex problems
- Must be able to perform the physical and intellectual requirements of the role, with or without accommodation
Education and experience
- Minimum Bachelor’s degree in computer science or a related field; or an equivalent combination of education and experience will be considered in lieu of a degree
- Minimum of 2 - 4 years progressive experience in a software development
- Proven experience having designed one or more major components of an application, preferably of a software product.
- Proven experience working across multiple tiers of an application, including a database, network, operating system, and containers.
- Experience working in an AGILE environment
- Experience working in a SCRUM environment