Desired Skills and Experience

  • Collaborates with project stakeholders to identify product and technical requirements. Conducts analysis to determine integration needs.
  • Leads the design of new software, supports applications under development, and customizes current applications. Develops software deployment and maintenance processes and mentors teams on agreed-upon practices.
  • Mentors software engineers across the organization
  • Keeps current with technological developments within the industry. Monitors and evaluates competitive applications and products. Seeks and proposes innovation(s) that improve products or fosters new products and methods.
  • Provides technical leadership throughout the design and prototyping process, including team practices, procedures, and software development and operations techniques. Serves as a guide and mentor for software engineers.
  • Provides guidance and leadership in instrumenting applications to provide necessary performance metrics. Ensures team delivers software on time, to specification, and within budget.
  • Works with Quality Assurance team to ensure applications fit specification and technical requirements. Tests and evaluates systems, subsystems, and components.
  • Acts as a technical contact and liaison for outside vendors and/or customers.
  • Presents and defends architectural, design, and technical choices to internal and external audiences.
  • Consistent exercise of independent judgment and discretion in matters of significance.
  • Solid experience developing server-side applications using GO is required.
  • Solid experience developing applications using Ruby.
  • Minimum of 6 years experience writing software as part of a multi-person team.
  • Solid 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.
  • Solid 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 utilizing automated testing packages and profiling tools.
  • Experience with source code control on multi-developer projects.
  • Team player with professional work ethic and positive attitude.
  • Able to stay organized and switch between multiple projects.
  • Bachelor’s degree in Engineering or Computer Science or equivalent in work experience and self-study.