Senior Application Developer
Created:
April 3, 2012
Description
Functional 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.
Responsibilities:
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.
How to apply
Metadata
Published: Tuesday, April 3, 2012 22:25 UTC
Last updated: Tuesday, February 28, 2017 23:47 UTC