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.