Desired Skills and Experience
- Participate in the design review of new features and projects assigned to the team.
- Participate in requirements collection and analysis as needed.
- Engage in collaborative design with teammates, operations counterparts, and customers for components of software projects as needed.
- Work independently and with others to implement software for assigned projects.
- Provide automated tests when implementing new functions or fixing bugs that prove that delivered work meets defined customer needs (acceptance criteria).
- Engage in pair programming, team code reviews, and peer code review and user story acceptance as needed.
- Document software and processes as needed.
- Develop and support automation that allows for continuous testing of software created by the team
- Work with teammates and operations to automate deployment of systems and software created by the team.
- Work with operations as needed to help automate monitoring, metrics collection, and other systems administration tasks related to software developed for the team.
- Other duties as assigned.
- Solid Experience developing server-side applications using Go.
- Experience developing applications using Angular JS.
- Team player with professional work ethic and positive attitude.
- Minimum of 4 years experience writing software as part of a multi-person team.
- Good understanding of Linux system administration and command-line usage, including experience with scripting in at least one Linux shell.
- Understanding of troubleshooting, software lifecycle and quality assurance practices.
- Experience with relational databases, including an understanding of database schemas and concepts and exposure to administration and/or scripting for at least one widely used relational database system.
- Understanding of automated testing libraries and practices
- Experience with source code control on multi-developer projects.
- Able to stay organized and switch between multiple projects.
- Able to learn new technologies as needed and open to changing technological direction as required by the team.
- Bachelor’s degree in Engineering or Computer Science or equivalent in work experience and self-study.