DescriptionFunctional responsibilities of the Sr. Application Developer include: development of architecture specifications, object and data modeling, database design, programming, quality assurance, and implementation support. The Sr. Application Developer is guided by an object-oriented software lifecycle methodology.
The Sr. Application Developer role at NYPL is a demanding, highly dynamic, and technically challenging position. He/She will function in a multi-faceted role that offers the opportunity for career growth, intellectual stimulation, creative problem solving, and enjoyment.
A candidate for the Sr. Application Developer position must be experienced in all stages of the software development life cycle: Requirements gathering, Design, Development, Construction, and Implementation. Candidate must be highly proficient in development standards and have a good knowledge of UML concepts.
The Sr. Application Developer must also have solid interpersonal skills and be resourceful in order to manage the software development process.
Reporting to the Director of Application Development, the Senior Applications Developer will:
- Employ object-oriented analysis and design techniques including use case analysis, object modeling, and database schema design to ensure business requirements and design goals are met.
- Work with business teams to clarify requirements and business needs.
- Facilitate requirements gathering utilizing facilitated focus sessions and one-on-one interviews.
- Participate in application architecture planning, including system partitioning and framework design.
- Collaborate with other developers and architects (when appropriate) to determine optimal solution architecture, efficiency, maintainability, and scalability.
- Participate in the development of detailed design specifications for use by the technical team.
- Develop system test plans, ensure software quality assurance (SQA) standards are achieved, and validate that business goals are accomplished.
- Develop detailed estimates for projects, including resource allocation, timelines, and budget.
- Make technical decisions to meet the design goals laid out in product road map and by management.
- Identify issues that require more attention, and work to resolve issues based on an understanding of the business problem being solved.
- Draw appropriate resources together in order to address technical issues.
- Direct and focus the efforts of the technical project team.
- Monitor progress of the team and provide mentoring where appropriate.
- Develop applications to NYPL coding standards and quality.
- Be responsive and customer service oriented to all stakeholders via phone, email, etc. during the engagement. Maintain open and courteous communication.
- Complete projects/tasks on a timely basis, according to commitments made to stakeholders and management.
- Report project/task status to the appropriate Application Development Director on a weekly basis (at minimum).
- Perform other duties as required
- 8+ years application development using Ruby on Rails
- Bachelor of Science in Computer Science, or equivalent knowledge/experience.
- Experience with Fedora Commons and Hadoop a plus
- Experience with the product lifecycle and strong understanding of the role of methodology / frameworks.
- Understanding of object-oriented design and programming techniques.
- Ability to work effectively with, and support the needs of, project team members and the customer support department.
- Strong written and verbal communication skills.
- Possess creative problem solving skills.
- Experience using software design support tools and productivity suites such as Microsoft Visio, Microsoft Office, and Microsoft Project.
- Experience in teaching and/or mentoring professionals.
Last updated: Tuesday, February 28, 2017 23:47 UTC