IT@JH University Information Systems (UIS) is seeking a Full Stack .NET Software Engineer who will participate in and/or guide the development and support of administrative and educational/academic computing initiatives, including the Student Information System (SIS) and its extensions, career services system, admissions system, and other enterprise systems. This position is responsible for the planning, development, implementation, and support of centrally managed systems which support the academic mission of the university. The role supports faculty, staff, and students through the development of enterprise-level applications using technologies such as Microsoft .NET, C#, Microsoft SQL Server, and web frameworks like Vue.JS, with cloud integration via AWS or Azure. The nature of assignments includes both analysis/requirements gathering with clients and project-based software development work, requiring the engineer to define complex business, clinical, and education problems, develop detailed project plans, write functional and technical specifications, and build data-driven solutions according to software lifecycle standards. This is a remote position that does not participate in a 24/7 on-call rotation and does not include supervisory responsibilities, suggesting a level of independence in day-to-day work while collaborating with clients and IT colleagues on complex projects.
Specific Duties & Responsibilities
- The responsibilities listed below are typical examples of the work performed by this position.
- Not all duties assigned to this position are included, nor is it expected that everyone in this position will be assigned every job responsibility.
Analysis and Requirements Gathering
- Define complex business/clinical/education problems by meeting with clients to observe and understand current processes and the issues related to those processes.
- Provide written documentation of findings to share with the client and other IT colleagues.
- Gather complex system requirements by meeting with clients and researching existing technology to understand the business requirements and possible solutions for new applications.
Design and Development
- Develop detailed tasks and project plans by analyzing project scope and milestones for complex projects to ensure product is delivered quickly according to software lifecycle standards.
- Write functional/technical specifications from the complex system requirements, putting them into functional and technical descriptions for use by programmers and business analysts to develop technical solutions.
- Develop/change data input, files/database structures, data transformation, algorithms, and data output by using appropriate computer language/tools to provide technical solutions for complex application development tasks.
- Document code and associated processes by adhering to development methodologies, adding code comments and appropriate documentation to various knowledge-base system(s) to simplify code maintenance and to improve support.
- Provide monitoring and guidance in application design and development to more junior staff.
- Provide thought leadership in designing and developing innovative integrated solutions.
Testing and Documentation
- Create and document complex test scenarios using the appropriate testing tools to validate and verify application functionality.
- Test all changes by using the appropriate complex test scenarios to ensure all delivered solutions work as expected and errors are handled in a meaningful way.
- Author and maintain documentation by writing audience-appropriate materials to serve as technical and/or end-user references.
- Mentor junior staff in testing tools and technologies by reviewing their work.
Implementation and Maintenance
- Implement changes by adhering to the change management policies and procedures for any given project to communicate to all parties the nature, significance, and risk factors of the solution.
- Monitor changes and resolve complex problems by responding as they occur, by reviewing all processing and output of the newly implemented solution, and by proactively ensuring the solution works successfully to satisfy the customer requirements and to provide a smooth transition to the new solution.
- Provide support by investigating and resolving issues, including complex issues to ensure prompt, effective service.
- Other duties as assigned.
Minimum Qualifications
- Bachelor's Degree in Computer Science, Computer Information Systems, Information Technology, Electronic Engineering, or a related field.
- Five years of related experience with computer systems and applications.
- Additional education may substitute for required experience, to the extent permitted by the JHU equivalency formula.
Preferred Qualifications
- OS/Infrastructure: Windows, Linux, Docker.
- Web app platforms: Vue.JS or similar JavaScript framework.
- Cloud integration: AWS or Azure.
- Experience XML/XSL, JSON, HTML/JavaScript/CSS; report development experience with SQL Reporting Service is desirable.
- Experience with .NET Framework, .NET Core, ASP.NET, ASP.NET MVC, Web API, VB.NET
- Experience developing T-SQL objects like views, stored procedures, user-defined functions, etc.
- Experience with AI coding agents for software development.
Classified Title: Software Engineer
Job Posting Title (Working Title): Full Stack .NET Software Engineer (IT@JH University Information Systems)
Role/Level/Range: ATP/04/PE
Starting Salary Range: $73,300 - $128,300 Annually (Commensurate w/exp.)
Employee group: Full Time
Schedule: Mon-Fri 8:30am-5:00pm
FLSA Status: Exempt
Location: Remote
Department name: IT@JH University Information Systems
Personnel area: University Administration