This is an opportunity for a software developer position in translational medicine, an emerging discipline based on the idea that healthcare can be enhanced significantly through the translation of novel basic science discoveries into the clinical arena. Our mission, as software developers and IT professionals at the Michigan Institute for Clinical and Health Research (MICHR), is to support translational medicine at the University of Michigan, and beyond, by developing and supporting novel Web-based and database-backed software systems. At MICHR, you would work closely with project managers, business analysts, other IT and biomedical informatics professionals and faculty, to develop and maintain such systems. We're a relatively small group of software development professionals, but we take a disciplined approach to software development. We also take the time to fully clarify end-user requirements and get the design, coding, and testing done right.
Conducts a full range of programming tasks including program design, program coding, debugging and documentation for a variety of general applications programs including data manipulation, input and output routines reflecting a variety of equipment configurations.
Conducts and coordinates the analysis, design and implementation of computer based information systems to meet user requirements.
Conducts detailed analysis of defined systems specifications and develops all levels of block diagrams and flow charts.
Programs logical interfaces and applies techniques for efficient program logic and data manipulation. Develops conversion and system implementation plans.
Conducts systems maintenance and support activities such as new or revised segments of language codes or processing.
Conducts error detection/correction of existing codes/languages and/or revisions to systems documentation.
Assists in the preparation of costs analyses and justifications of data processing systems.
Participates in collaborative application development activities with partners outside of MICHR.
Conducts coding/process improvements for new and existing systems where appropriate.
Articulates technical requirements to non-technical users effectively and efficiently.
Provides customer services including educating, assisting, following through actively when working with customers.
Interacts well with and cross-train other team members in a group or unit environment.
Education and Experience: Bachelor's degree in Computer Science, a related field or equivalent experience.
Two years’ experience in Java development.
Applications Programmer Analyst Senior:
5 to 7 years systems analysis/programming activities in a business environment.
Applications Programmer Analyst Intermediate:
3 to 5 years of analysis/programming activities in a business environment
Our ideal candidate would meet the following technical requirements:
You are a talented, highly-motivated Java and web application developer; Test Driven Development, Continuous Integration and Delivery are not a burden but an indispensable part of your programming practice.
You have developed web service applications using common open source technologies and standards
You have successfully used the MVC pattern and an ORM strategy, and you understand how they helped; You are experienced with Spring MVC and Hibernate/NHibernate
You have developed rich web interfaces
You use Eclipse, version control software and a bug tracker
You develop solutions that leverage Open Source frameworks, APIs, and platforms where appropriate
You love digging into new technologies and tools; we solve a variety of problems which require a variety of approaches
You love software design and coding, and also enjoy the challenge of understanding and configuring frameworks to suit our purposes
You produce design documents and codes your team members and future developers can use to understand, maintain, and extend the applications you produce
You have a good understanding of the cognitive factors and ergonomics issues involved in the usability of software applications
You are experienced in systems analysis and requirements definition
You understand the factors involved in producing high-performance software that is reliable, supportable, flexible, extensible, and scalable
You have a working knowledge of biomedical informatics, including experience in working with industry-standard vocabularies, taxonomies and ontologies (e.g. CPT, ICD-9/10, LOINC, DRG, SNOMED, etc.)
You are highly desirable with the following experience: Oracle, PL/SQL Spring, Spring Security, Maven, DbUnit, Mockito, Liquibase, Jmeter, Git, Jenkins, JSTest, Selenium, Apache Tiles, Redis, JMS, Agile Methodology
In addition, our ideal candidate would meet the following "people-skill" requirements:
You understand that the end user is at the center of all your work, are eager to see your products deployed in the "real world", and can't wait to get feedback (positive and negative) from end users
You are excited to work with domain experts and faculty on research-based projects, yet you are also happy to work on application to support MICHR's internal operations
You have excellent communication skills, which will help you work directly with both technical and non-technical people
You seek out others' critiques of your design and coding artifacts, and receive their critiques without defensiveness
You listen to your colleagues' ideas and feedback, and can disagree constructively
You have excellent communication and systems analysis skills, which will help you work directly with both technical and non-technical people
You can work independently, but are also a great team player, with the demonstrated capacity to be a team leader when the occasion requires it
You take pride in your work. You deliver a quality product that meets the requirements, on time.
Although not required, we prefer a candidate with experience in the biomedical informatics field, and with the University of Michigan Health System. Knowledge of emerging standards and regulations applicable to clinical research is a plus. We value an understanding of software design models (UML), familiarity with the Linux/Unix environment, and system administration skills. Although we have experienced database professionals on hand, we do value a keen understanding of relational database concepts.
This position may be underfilled at a lower classification depending on the qualifications of the selected candidate.
Michigan Medicine conducts background screening and pre-employment drug testing on job candidates upon acceptance of a contingent job offer and may use a third party administrator to conduct background screenings. Background screenings are performed in compliance with the Fair Credit Report Act.
Michigan Medicine improves the health of patients, populations and communities through excellence in education, patient care, community service, research and technology development, and through leadership activities in Michigan, nationally and internationally. Our mission is guided by our Strategic Principles and has three critical components; patient care, education and research that together enhance our contribution to society.
Job openings are posted for a minimum of seven calendar days. This job may be removed from posting boards and filled anytime after the minimum posting period has ended.
The University of Michigan is an equal opportunity/affirmative action employer.
Internal Number: 153155
About University of Michigan - Ann Arbor
A great university is made so by its faculty and staff, and Michigan is recognized as one of the best universities to work for in the country. The Michigan culture is known for engaging faculty and staff in all facets of the university to create a workplace that is vibrant and stimulating.For two consecutive years, the Chronicle of Higher Education has placed U-M in its "Great Colleges to Work For" survey. In particular, the university earns high marks for strong relations between faculty and administrators, a collaborative system of governance, strong pay and benefits, and a healthy work/life balance.