Lead Application Developer at Princeton University (Princeton, NJ)
Location: Princeton, NJ
Type: Full Time
Created: 2021-05-14 05:00:11
The Web Development Services group provides web content management system platforms and site building services for thousands of Princeton University customers. WDS is also a key provider of custom web applications for individual departments.
The Lead Application Developer is the primary architect of these custom solutions, focusing on the end-to-end development of both large and small scale web applications. This position is responsible for analyzing customer needs and business requirements, defining technical requirements, integrating best-practice code patterns and code libraries, creating documentation, and reviewing code. Operational tasks include administering, maintaining, and supporting a large portfolio of existing applications.
This position offers the flexibility to work remotely within the United States, with the expectation of availability for remote collaboration between the hours of 10 AM to 4 PM. For remote work, employees are expected to have a professional, distraction-free environment with a reliable, high-speed internet connection. Company-paid business travel to Princeton, NJ, for on-site engagement with the WDS team is required once per quarter.
- Strategizes and helps define the short term and long term evolution of WDS' custom application offering, in context with Princeton's larger IT roadmap.
- Partners with WDS leadership to set the direction for cloud hosting, automation, languages, frameworks, and testing.
- Researches new technology, tools, and approaches that support the evolving needs and business goals of WDS and its parent organizations. Makes recommendations to management, architects implementation plans, develops prototypes, gathers stakeholder feedback, and moves projects to completion.
- Leads and directs the work of others assigned to application project teams.
- Works with customers to analyze needs, gather requirements, identify best approaches, define tasks, and scope effort.
- Develops project agreements and estimates resource requirements. Works with management to obtain additional resources, if needed.
- Researches best solutions for incoming customer requests. Creates and modifies web applications to meet customer requirements, using supported technologies and institutional best practices.
- Reviews code and reengineers existing applications to maintain compatibility with current and future dependencies.
- Refactors applications for improved security, maintainability, and accessibility.
- Partners with designers for website and interface design.
- Performs quality assurance testing for upgrades, patches, and new releases.
- Performs security scans and remediations and tests for performance issues.
- Develops custom web applications that comply with the University's accessibility standards.
- When provided access to personal, proprietary and/or otherwise confidential data, maintains such data in the strictest confidence and follows procedures to ensure the privacy, security and proper use of data.
- Submits own work to code reviews and helps review the code of colleagues.
- Follows organizational project management methodologies and technologies.
- Has primary responsibility to support and maintain the server infrastructure (cloud and on-prem) for development and production environments for custom applications.
- Creates diagrams to describe existing and proposed systems. Documents code, creates technical specifications, and writes user documentation.
- Supports packaged application solutions that are under our organization's area of responsibility.
- A minimum of 7 years of web programming experience while working for an IT organization.
- Expert proficiency with building object-oriented PHP applications.
- Very strong interpersonal skills, oral and written communication skills, and the ability to effectively lead project teams.
- Comprehensive understanding of industry standards for creating clean, readable, reusable code. Has a proficiency for rescuing bad code.
- Ability to communicate effectively with a diverse user base having varied levels of technical proficiencies.
- Ability to think strategically about integrating solutions into a CMS or framework.
- Strong analytical and problem solving skills.
- Expertise with continuous integration and deployment.
- Strong experience using Version Control Systems, especially Git.
- Experience with gathering customer requirements, recommending technologies, and architecting solutions.
- Experience with unit testing, test-driven development, and behavior-driven development.
- Solid understanding of W3C Web Content Accessibility Guidelines (WCAG).
- Experience with Azure, including building containers and orchestration.
- Strong system administration skills and comfort using the UNIX command line.
- Professional experience in higher education and customer service.
- Mobile and responsive development skills.
- A working knowledge of Symfony, Python, XML, JSON, Oracle, Linux, and Behat.
Bachelor's degree in computer science or equivalent work experience.
Princeton University is an Equal Opportunity/Affirmative Action Employer and all qualified applicants will receive consideration for employment without regard to age, race, color, religion, sex, sexual orientation, gender identity or expression, national origin, disability status, protected veteran status, or any other characteristic protected by law. EEO IS THE LAW