The New York Genome Center is looking for a detail-oriented software engineer to lead our next generation of data processing and pipelining tools. As an engineer at NYGC, you will be responsible for writing software that follows industry best practices. You will write extensible, unit-tested software that adheres to the DRY (don’t repeat yourself) principles in a teamwork environment.
Principle Software Engineers are expected to lead software projects and execute under minimal supervision, working under the direction of the technical lead and collaborating with other NYGC software project leads. This includes requirements gathering, planning, setting milestones, and driving the project through to completion. It also entails directing the progress and work patterns of junior engineers and making individual code progress.
Essential duties and responsibilities will include, but are not limited to, the following:
- Implement software solutions from scratch in object-oriented Python 3.6 for complicated problems and workflows;
- Create and analyze existing requirements documents and communicate proposed solutions with team members;
- Add functionality to existing Python REST APIs in Flask and create new APIs that fulfill business goals; and,
- Engage in unit testing, integration testing, and validation testing for your software solutions.
The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- BS in Computer Science, Computer Engineering, or related field;
- 12+ years related experience; master’s degree plus 10+ years related experience, or equivalent combination of education and experience;
- Excellent skills in programming extensible object-oriented software solutions using Python 3.6;
- Functional familiarity with common open source database systems such as PostgreSQL;
- Professional work experience with more than one programming language;
- Experience implementing a software solution from scratch;
- Experience working with legacy code;
- Experience writing effective tests for your software;
- Successful both as an independent contributor and in small teams;
- Experience directing up to two junior engineers in implementation and maintenance;
- Experience with common source control systems such as Git;
- Experience in estimating components and features;
- Excellent written and verbal communication skills;
- Work experience with medium to large databases in an open source database system; and,
- Comfortable learning a new domain in a short amount of time.
- Experience with design and implementation of REST APIs, knowledge regarding the different REST approaches;
- Experience in creating schemas for large database applications;
- Experience working successfully with contractors;
- Experience with HPC/cluster compute;
- Experience with containers work patterns and administration;
- Familiarity with application security best practices;
- Experience with HIPAA regulations; and,
- Comfortable working in an issue-tracking system (e.g. JIRA).
- Job Mastery– Knowledgeable of current role and technical skills, and the impact it has on the Center.
- Continuous Learning– Strives to expand the depth and breadth of technical and professional skills.
- Collaborative– Encourages participation from team members and works effectively with all levels.
- Credible– Works with a high level of integrity.
- Communicative– Actively listens to others and uses good judgement as to what to communicate to whom; provides feedback.
- Focused– Utilizes efficient and effective processes.
- Adaptable– Demonstrate flexibility with changing priorities.
- Innovative– Develops new insights and pursues improvements.
- Takes Ownership– Prioritizes tasks, manages time and delivers on commitments.
FLSA Status – Exempt
This position is eligible for visa sponsorship and relocation assistance within the US.