The Sr. Software Engineer provides leadership and expertise for the development of current and future applications. This includes further development as well as internal and external customer service and support.
The Sr. Software Engineer will be expected to participate with members of the development/testing team providing leadership and guidance. In addition, it is expected that a Sr. Software Engineer will participate in meetings with management as a resource for the department. The Sr. Software Engineer is expected to maintain a safe work environment and ensure strict adherence to all company policies and procedures. They are expected to continuously develop process improvements and work with all aspects of the business to ensure we are meeting their demands.
What You'll Do
Design, develop, implement and maintain business applications.
Adhere to the Software Development Life Cycle (SDLC) by identifying, prioritizing and executing tasks.
Investigate problems, identify their source, determine possible solutions, test and implement solutions or guide other members of the engineering team.
Assist with software requirements and documentation.
Performance testing of functionality and data integrity.
Anticipate application issues and implement preventive measures.
Document development and operational issues for future reference.
Ensure high performance output for internal and external clients.
Management of migration and implementation schedules of applications into production.
Participate in development groups with colleagues and third-party development vendors.
Maintain confidentiality about systems software being developed or utilized.
What You Will Bring
Required:
Proficient with selected programming languages, including Ruby and JavaScript (ExtJS).
Proficient with Ruby on Rails
Proficient working in an Amazon AWS hosting environment
Including containerization, DevOps and cloud architecture
Proficient with relational PostgreSQL databases
Proficient using automated unit testing frameworks
Proficient with software design patterns
Be able to automate tasks through appropriate tools and scripting
Be able to review and debug code
Proficient with Linux/Debian based operating systems
Bachelor's Degree (4 years) in Computer Science/Information Technology or related field.
With a degree, 3-6 years of software development experience.
Without a degree, 6-10 years of software development experience.
Preferred:
Experience with laboratory information systems, and biobanking software
Exposure to any of the following: HL7, ASTM, bioinformatics, life sciences