The Johns Hopkins Center for Talented Youth is a nonprofit dedicated to identifying and developing the talents of academically advanced K-12students around the world. We provide today’s brightest students with fun, challenging courses; a community of engaged learners; and a strong foundation for future success in college and their careers. Want to join our team? We’re looking for mission-driven problem-solvers who can thrive in CTY’s diverse, collaborative, fast-paced, and results-driven work environment. We value innovation, creativity, integrity, and a shared commitment to the bright young people we serve. In return, we offer employees the opportunity to be part of the Johns Hopkins community and to take advantage of our generous benefits package, which includes affordable health-care options and tuition assistance for employees and their families.
General Position Summary:
Senior level software engineer with strong application architecture and data modeling background. This role will be responsible for delivering relevant technical solutions based on best practices primarily. Successful candidate should be self-driven, able to work with minimum supervision and have extensive experience in Data Modeling, Data Warehousing, SQL, ETL processing, and Reporting. Candidate will be expected to work as an individual contributor as well as provide oversight and direction to other technical resources as required.
Responsible for full life-cycle of large sized/long-term complex projects; strong technical skills; strong ability to understand complex business processes. Typically manages multiple projects of varying complexities. Based on expert technical knowledge, develops broad-based solutions involving multifaceted technologies, and business processes. Leads overall strategy, design & architecture for solutions.
Position’s Roles & Interactions:
- Clients are internal to IT, but the technology platform involves all of CTY’s students, families and employees
- Schema design, architecting
- SQL reporting/BI Tools (SSRS)
- Development and maintenance of datawarehouse
- Must be able to function independently with little oversight (strong technical knowledge)
Specific Systems, Applications, Projects for which the Position is Responsible:
- SQL Database
- Development of datawarehouse, web services, BI reporting tools, data analytics
Scale/Size of Area, Project and/or System Supported:
- +60,000 users (registration); +2,500 employees
- Interfaces with Collegeboard, SAP, numerous 3rd party systems
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 highly complex business and 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 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 AND DEVELOPMENT
- Develop detailed tasks and project plans by analyzing project scope and milestones for highly complex projects in order to ensure product is delivered in a timely fashion 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.
- Responsible for design and development of data architecture and ETL dataflows in support of enterprise risk management, analytics and reporting
- 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.
- 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. 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.
- Work effectively with the Development teams to ensure that all approved development and deployment procedures are followed.
- Provide monitoring and guidance in application design and development to more junior staff.
- Provide production support from development teams for existing systems, troubleshoot data and/or system issues
- Identify root causes and resolve data related issues
- Review and optimize query performance
TESTING AND 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 handling 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 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 in order to satisfy the customer requirements and to provide a smooth transition to the new solution.
- Provide support by investigating and resolving issues, including highly complex issues to ensure prompt, effective service.
Minimum Requirements: Bachelor’s degreerequired with 6 years of related work experience with computer systems and applications. Additional experience may be substituted for education.
Equivalency Formula: 30 undergraduatedegree credits or 18 graduate degree credits = 1 year of experience. For jobs where equivalency is permitted, up to two years of non-related college coursework may be applied towards the total minimum education/experiencerequired for the respective job.
Required Special Skills and Knowledge:
- Knowledge in the assigned application as well as the platform on which it runs.
- Extensive experience with database development tools, ETL and integration technologies
- Experience with Agile, test-driven development, and continuous integration process.
- Experience developing large scale systems
- Experience developing interfaces to SQL-based databases
- Experience working in controlled development, testing and production environments
- Experience in Data Modeling, Data Warehousing, SQL, ETL processing
- Familiarity with development toolkits & source repositories, SQL interpreters, IDEs, etc.
- Aptitude for debugging problems in complex, unfamiliar code
- Strong written and oral communication skills
- Excellent problem-solving and quantitative skills
- Ability to maintain confidentiality
- Must be able to work on multiple priorities effectively and prioritize conflicting demands in a customer-service oriented team.
- Demonstrated ability to work as part of a team
- Solid work ethic, self-driven with the ability to work with minimal supervision
Physical Requirements for the Job:
- Ability to sit in a normal seated position for extended periods of time
- Dexterity of hands to operate a computer keyboard, mouse pad and other office machinery
- The incumbent will be required to communicate regularly via telephone and face to face with internal and external customers and must be able to exchange accurate and timely information in these settings
- Position also requires a degree of mobility common to working in an office environment; bending, kneeling or standing during events and presentations may be required.
- Must be available to be in an on-call rotation to ensure 24-hour uptime and address off-hour issues.
- Experience with additional programming languages (C#/.Net, Java, etc.).
- Job Req ID: 674