Sr. Software Engineer
IT@JH Office of the Deputy CIO is seeking a Sr. Software Engineer who will focus efforts on contract development projects as well as enterprise related projects and customers. Application development will utilize some agile development techniques as well as following department defined continuous integration protocols for application documentation, testing, and deployment. Will utilize the Technology Acceleration Group’s preferred technology stack (Angular/Spring Boot) in the development of new applications and maintenance of existing applications. Knowledge of other technologies as required such as .Net and/or Grails to help maintain the TIC’s applications under maintenance contracts.
This position does not have direct reports. However, the Senior Software Engineer will serve as a technical mentor and provide guidance to interns, junior developers, and less senior staff members. Mentoring responsibilities include code reviews, technical guidance on development best practices, knowledge transfer on the TAG's technology stack, and providing support during project assignments. While not a formal supervisory role, this position is expected to contribute to the professional development of team members through collaborative work and technical leadership.
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 & Requirements Gathering
- Define highly 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 highly complex system requirements by meeting with clients and researching existing technology to understand the business requirements and possible solutions for new applications.
Design & Development
- Develop detailed tasks and project plans by analyzing project scope and milestones for highly complex projects to ensure product is delivered timely according to software lifecycle standards. Direct lower-level staff by reviewing tasks and milestones for adherence to quality of deliverables.
- Write functional/technical specifications from the highly complex system requirements, putting them into functional and technical descriptions for use by programmers and business analysts to develop technical solutions. Direct lower-level staff by reviewing their completed work.
- Develop/change data input, files/database structures, data transformation, algorithms, and data output by using appropriate computer language/tools to provide technical solutions for highly complex application development tasks. Direct lower-level staff by reviewing their work.
- Document code and associated processes by adhering to development methodologies, adding code comments and appropriate documentation to various knowledge-based system(s) to simplify code maintenance and to improve support. Direct lower-level staff by reviewing their work.
- Provide monitoring and guidance in application design and development to more junior staff. Give direction and leadership in techniques and tools to lower-level staff.
- Provide experienced leadership for strategic planning in designing and developing comprehensive innovative integrated solutions.
Testing & Documentation
- Create and document highly complex test scenarios using the appropriate testing tools to validate and verify application functionality.
- Test all changes by using the appropriate highly 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 & 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 highly complex problems requiring the highest level of technical expertise 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 highly complex issues to ensure prompt, effective service.
On-Call Requirement
- Participation in on-call rotation is required.
Minimum Qualifications
- Bachelor's Degree.
- Six years of related experience.
Preferred Qualifications
- Experience designing, developing, testing, and deploying full-stack web applications using modern frameworks (e.g., Angular, Spring Boot) following secure coding practices and agile development methodologies.
- Experience designing and developing AI-powered solutions, including chatbots, virtual assistants, and autonomous agents.
- Familiarity with Large Language Models (LLMs) such as GPT, Claude, or LLaMA, including prompt engineering and model fine-tuning.
- Experience integrating natural language processing (NLP) APIs and embedding AI capabilities into web or mobile applications.
- Knowledge of retrieval-augmented generation (RAG) pipelines and vector databases.
- Familiarity with open-source AI platforms such as Librechat, LiteLLM and Langfuse.
- Understanding of AI ethics, data privacy (HIPAA, FERPA), and responsible AI principles in application development.
- Experience deploying AI models in production environments using cloud services (e.g., Azure AI Studio, AWS Bedrock, or OpenAI APIs).
- Proficiency in implementing conversational UI/UX patterns and multi-modal interfaces in AI-driven applications.
- Experience working with analytics platforms to monitor AI system performance, user engagement, and model drift.
Classified Title: Sr. Software Engineer
Role/Level/Range: ATP/04/PF
Starting Salary Range: $85,500 - $149,800 Annually (Commensurate w/exp.)
Employee group: Full Time
Schedule: Mon-Fri, 8:30am-5pm
FLSA Status: Exempt
Location: Remote
Department name: IT@JH Office of the Deputy CIO
Personnel area: University Administration