Optical Engineer
We are seeking an Optical Engineer who will be responsible for the creation, implementation, maintenance, performance, production support and documentation of various departmental and enterprise-wide application systems. This includes installation, modification, and testing of new and/or upgraded applications (packages or home grown), operating systems, file structures, hardware, communication devices, and productivity tools. Apply analysis techniques and procedures to gather and then translate business requirements into functional/technical specifications and designs. Using functional specifications and designs to produce all or part of the deliverables. Maintains databases and application system code.
Responsible for the full life cycle of large/long-term highly complex projects. Typically manages multiple projects of varying complexities. Based on expert technical knowledge, skills and experience, develop broad-based solutions involving multifaceted technologies, and business processes. Leads overall strategy, design & architecture for solutions.
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.
Minimum Qualifications
- Bachelor's Degree.
- Six years of related experience.
- Additional education may substitute for required experience and additional related experience may substitute for required education beyond HS Diploma/Graduation Equivalent, to the extent permitted by the JHU equivalency formula.
Preferred Qualifications
- Knowledge of the assigned application as well as the platform on which it runs.
Technical Skills
- Agile Methodology Advanced
- Algorithms Advanced
- Application Programming Interface (API) Authority
- CI/CD Advanced
- Cloud Serverless Computing Architecture Advanced
- Code Review Authority
- Data Architecture and Design Advanced
- Data Structures Advanced
- Debugging Advanced
- Dev Ops Advanced
- Integration Testing Advanced
- JIRA Advanced
- New Product Development Advanced
- Secure Coding Advanced
- Service Orientated Architecture Advanced
- Software Design Patterns Advanced
- Software Development Life Cycle Advanced
- Software Engineering Authority
- Unit Testing Advanced
*The core technical skills listed are most essential; additional technical skills may be required based on specific division or department needs.
Classified Title: Sr. Software Engineer
Job Posting Title (Working Title): Optical Engineer
Role/Level/Range: ATP/04/PF
Starting Salary Range: $43..84 - $76.82 HRLY (Commensurate w/exp.)
Employee group: Casual / On Call
Schedule: M-F/Varies
FLSA Status: Exempt
Location: Hybrid/Homewood Campus
Department name: Department of Mechanical Engineering
Personnel area: Whiting School of Engineering