GENERAL SUMMARY OF POSITION:
Under the direction of the Director or designee, the Senior Software Engineer functions in all phases of applications development. This position is responsible for the analysis of user needs, software and database design, programming and life cycle development of all business and clinical applications. The Senior Software Engineer will work with other engineers in the design and development of software applications that support the demands of UMMS academic, research and business needs. They may also manage the evaluation and research of 3rd party software and conduct feasibility studies to determine appropriate solutions. Performs duties in a manner consistent with a complex, diverse, dynamic hardware and software environment and serves a complex medical/education community. This position requires an experienced developer that is in touch with new trends and is very familiar with rapid development. The position requires individuals to be detail oriented, organized, independent, responsible and accountable.
- Provide mentoring and knowledge transfer to Software Engineers including input to code reviews, training and developing staff,
- Perform problem analysis and IT software consultation with Customers.
- Lead Agile/ITIL/SDLC methodology used across IT, including conducting inspections and post implementation reviews required.
- Critique and oversee the creation of detailed technical designs, code, and testing methodologies
- Work directly with the user and/or vendors to articulate and present professional software solutions.
- Assist in technical audits and implement audit recommendations
- Lead in the design, development, implementation, integration, production support, and continuous enhancement of applications to ensure reliable, integrated and stable information repositories.
- Delegate work assignments to engineering staff.
- Incorporate new development skills and expertise in present and emerging technologies by participating in formal training when possible and by independent self-teaching and tutorials.
- Perform other duties as required.
- Bachelor's Degree in Information Systems, Computer Science, a related field, or equivalent experience
- 5+ years of related experience
- Advanced object-oriented/scripting analysis, design and programming skills
- Evaluate and research of 3rd party software.
- Solid interpersonal skills, with ability to work well with people of all levels of information technology expertise and comfort in varied organizational relationships.
- Advanced experience building and consuming web services
- Advanced skills in relational and non-relational database management systems, SQL coding and Object Relational Mapping tools such as Entity Framework.
- Advanced skills in modern development processes/tools and developing through the complete Software Development Life Cycle.
- Excellent verbal and written communication skills required.
- Excellent problem solving skills required.
- Significant experience with multiple technology disciplines: including windows environment
- Development experience with Web development and Mobile Apps
- Demonstrated experience working with Agile/Scrum framework.
- Strong experience with relational databases (Oracle / SQL Server) using SQL queries, Stored Procedures, Views, Functions, Triggers, ETL.
- Experience with non-relational (NoSQL) databases. (MongoDB, RedShift, DynamoDB, Cassandra)
- Experience with AngularJS/jQuery/HTML5/Bootstrap and other front-end web technologies.
- Experience with cloud technologies and services.
- Advanced skills in MVC Development and WebAPI
- Experience with Visual Studio 2013/2015 Team System.
- Knowledge of FTP and HIPAA compliant ANSI formatted EDI transactions