Mount Sinai Careers
LEAD PROGRAMMER ANALYST - SCIENTIFIC COMPUTING
Strength Through Diversity
Ground breaking science. Advancing medicine. Healing made personal.
The Lead Programmer Analyst designs and develops applications, provides supervision and coordination, directs and checks the work of other software developers.
- Develop scalable and reliable software.
- Supervises, assists, directs and checks the work of other developers. Develops a timeline and milestones for software programming projects.
- Assumes the responsibility for coordinating the activities of software programming with the other groups.
- Assists management in determining computer systems requirements. Propose system and software designs to meet user requirements.
- Develop and monitor metrics to assess the quality of the software and production services.
- Assist with the development of user surveys to actively solicit and respond to user feedback.
- May perform management functions in the absence of the manager and may act as a project manager/leader.
- Develop specifications for complex front-end software applications for web services such as a cohort query tool for a data warehouse, a research application portal, and other back end services.
- Analyze user requirements and envision system features and functionality.
- Plan, design, implement, troubleshoot and maintain software applications. Set expectations on features and priorities throughout the development life cycle.
- Complete application development by coordinating requirements, schedules and other activities.
- Troubleshoot development and production problems across multiple environments and operating platforms.
- Create documentation for all software.
- Design and conduct tests for the software. Assess software performance and troubleshoot end-to-end issues.
- Evaluate approaches and technologies and propose alternatives. Recommend solutions by comparing advantages and disadvantages of custom development and purchase alternatives.
- Follow best practices for software development.
- May be involved in providing assistance and training to other programmers.
- Enhance organization reputation by accepting ownership for accomplishing new and different requests. Resolve conflicting requirements by proposing alternatives.
- Update job knowledge by researching new technologies and software products and languages, reading professional publications, maintaining personal networks and participating in professional organizations. Keeps abreast of hardware and software developments, including theory and technique.
- Bachelor's degree in Computer Science or related field
- Minimum 7 years of experience in programming with increasing leadership and administrative responsibilities, or equivalent combination of education & experience
- Knowledge of ASP.NET, C#, SQL and IIS is required
- Database administration is a strong plus, Oracle or SQL server is preferred
- MS SSRS experience is a strong plus
- JBoss/Wildfly and nginx experience is a strong plus. Tomcat and Apache experience is a plus
- Must have experience and ability to write complex, clean software.
- Must be flexible in considering and learning all technology options (tools, methods, programming languages)
- The ability to communicate effectively and manage multiple conflicting priorities simultaneously