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.