Full Stack Web Developer

Washington, DC
Nov 23, 2022
Nov 30, 2022
Full Time
The developer performs a range of tasks relating to managing and making available the collections-related metadata and digital historical and institutional assets of the Museum. The rapidly growing digital collection includes nearly one hundred million archival image files and photographs, forty thousand hours of digital video and audio, and is currently implementing an enterprise DAM system to house these assets. The developer is responsible for integrating this collection with multiple external systems containing metadata related to collection materials. The work requires strong attention to detail and may include upgrading systems (eg, migrating to new servers or to the cloud and migrating existing systems to new versions of languages or databases) and troubleshooting errors. These systems are largely Linux-based and are built with Ruby on Rails, PHP, MySQL, Solr, Python, Java, and Linux shell scripts. Back-end systems include export/import and Realtime HTTP integrations using various REST APIs. The main public face of the systems providing access to the collection can be seen at USHMM Collections Search, , which is a highly customized and extended Ruby on Rails application named Blacklight.Write clean, maintainable, and well-documented code in appropriate languages to best achieve required results such as Ruby, Python, PHP, JavaScript, HTML and CSS, Linux shell (eg, bash)Collaborate closely with other developers and with technical and non-technical team members as neededDocument existing systems and code that may lack sufficient documentation, through inspection and interviews with other team membersLearn and become comfortable in a highly complex, evolving technical environment, and feel comfortable asking questions, making recommendations, and proposing technical solutions with technical and non-technical project team membersTroubleshoot and resolve high-priority issues affecting the live environment, which includes sites and applications that utilize a variety of frameworks, data sources, or front-end systemsBe a member of an Agile scrum team; participate in sprint planning meetings, stand-up meetings, and retrospectives; assess progress against tasks and adjust as neededFamiliarity with at least two server-side programming languages such as Ruby, PHP, Python, or JavaFamiliarity with front-end web development (JavaScript and Javascript frameworks, HTML, CSS)Familiarity with at least one MVC framework (Laravel, Ruby on Rails, Spring, Yii)Familiarity with the Linux environment and shell scripting with bash or similarExperience with theory and practice of relational databases such as MySQL or PostgreSQLAbility to diagnose and troubleshoot issuesUnderstanding of the components of HTTP requests and responsesFamiliarity with consuming and creating REST APIsUnderstanding of the fundamentals of algorithm and data structuresExperience with web application security best practices and the design of secure systemsExpertise in software engineering practices including version control (Git preferred)Ability to communicate with other engineers, staff, and managementFamiliarity with textual search engines such as Solr or ElasticsearchExperience migrating database-backed live systems from system to systemExperience with cloud tools and developing in a hybrid on-premises and cloud environmentExperience working with end users to translate requirements into engineering systemsFamiliarity with NoSQL databasesFamiliarity with unit tests, continuous integration, and continuous deploymentBachelor's DegreeJob Types: Contract, Full-timePay: $81,169.58 - $95,000.00 per yearBenefits:* 401(k)* Health insurance* Paid time offSchedule:* 8 hour shiftAbility to commute/relocate:* Washington, DC 20001: Reliably commute or planning to relocate before starting work (Required)Experience:* REST: 1 year (Preferred)* Java: 1 year (Preferred)Work Location: Hybrid remote in Washington, DC 20001

Similar jobs