
Software Engineer
Job Description
Job Overview
The Software Engineer is responsible for taking machine learning applications in a service-oriented architecture from concept to production support and everything in-between using their creativity and technical skills and applying the principles of software engineering. A Software Engineer is responsible for building, deploying, maintaining, automating, and integrating production grade APIs and services, while conforming to Wawanesa best practices/patterns and following established governance principals.
Job Responsibilities
- Understanding and translating business and functional needs into machine learning problem statements.
- Applying software engineering principles to analyze, problem-solve, and design a solution.
- Creating documentation, flowcharts, solution architecture diagrams, And of course well designed and documented code.
- Studying state-of-the-art development tools, programming techniques, and computing equipment.
- Collecting, analyzing, and summarizing development and service issues.
- Supporting department’s infrastructure, services, and tooling.
- Providing support and general guidance on technical issues .
- Studying information needs, conferring with users, studying systems flow, data usage, and work processes, investigating problem areas.
- Adopting Agile methodologies to develop software within a standard software development lifecycle.
- Committing to professional development and continuous experiential learning to build cross-functional knowledge, technical skills, and mastery in competencies.
- Perform other duties as assigned.
Qualifications
- More than 6 years of work experience as a Software Engineer or Software Developer
- A bachelor's degree in computer science, engineering or a related field [or equivalent work experience] is required
- Proficiency in Python or other object-oriented programming languages.
- Proficiency with Linux, Bash.
- Proficiency with SQL and NoSQL.
- Proficiency with AWS technologies or equivalent cloud services.
- Proficiency with AWS CloudFormation or equivalent infrastructure as code.
- Proficiency with Github, CI/CD.
- Experience building and deploying infrastructure with cloud deployment technologies in an enterprise operational environment.
- Well versed in debugging and documentation.
- Prior experience working with test-driven development.
- Experience with code reviews and design patterns.
- Experience with Agile/Scrum methodologies.
- Required to be creative and collaborative.
- Required strong communication skills and ability to translate technical concepts into appropriate language for all stakeholders.
- Has good judgment, a sense of urgency, follow-through, and ownership.
- Excellent verbal and written communication skills.
- Strong problem solving skills.