Software Engineer III
Open Up Resources
Portland, oregon
Job Details
Full-time
Full Job Description
Who We Are
Open Up Resources is a publisher of high-quality open educational resources in core content areas, with a vision of providing teachers with the tools to engage students in equity-centered educational experiences.
Open Up Resources’ portfolio seeks to include the highest-quality, standards-based PK-12 curricula, with validation from respected third-party entities, evidence of efficacy, effective supports for multilingual learners, inclusive strategies for students with disabilities, embedded culturally relevant pedagogy, and professional learning that is inclusive and culturally considerate.
We are transforming instructional materials through our commitment to anti-racism. This intentional commitment infuses every program, partnership, and practice. Our desire is that Open Up Resources' curricula catalyzes anti-racist norms, structures, practices, and policies in education and society.
The Role
The Software Engineer III position will report to the Managing Director of Product Engineering in the Operations team.
What to Expect
On day 1:
- Show up ready to pair with a teammate to get your development environment running, walk through your first code change, and deploy that change to the production servers
In your first 30 days:
- Get to know your teammates and collaborators in engineering, product, product management, and our academics team.
- Gain experience and familiarity with our codebases, conventions, and processes.
- Pair regularly with teammates (as both driver and navigator).
- Begin taking on solo tasks.
- Open your first pull request, and deploy it to production after review and QA approval.
In your first 90 days:
- Regularly complete solo tasks from start to production.
- Actively participate in technical discussions, thoughtfully question existing and proposed approaches, explain alternate ideas.
- Start building a deep understanding of at least one curriculum.
About Our Code
Aside from occasional dev-ops and internal-systems tasks, most of our team’s work is focused on two Ruby on Rails applications: a custom content management system (CMS), and an authentication gateway for our web curriculum. Within the context of those apps, here are some of the things we do:
- Model a full-course curriculum, based on raw source content (e.g. in Word docs or XML exports), to a granular enough level that we can maintain, organize, report on, and flexibly re-constitute the content in that curriculum.
- Write custom ETL scripts to import (and validate the import of) raw source content into those models.
- Create views and queries to generate beautiful and well-structured presentations of the modeled content, for multiple export targets, such as print, web, and third-party platforms.
- Ensure connectivity and high-quality UX for integrations between our web curriculum and other platforms.
Core Competencies
Ethics and Integrity: Behave in a fair and ethical manner toward peers, partners, and customers; instill mutual trust and confidence; acts with honesty and integrity.
Teamwork and Collaboration: Works with colleagues to build morale and team commitment to strategic initiatives.
Diversity: Understands that each individual is unique and celebrates individual differences including race/ethnicity, gender, sexual orientation, age, mental or physical disability, marital status, veteran status, education, training, position, level of authority, seniority, full-time or part-time status.
Continuous Improvement: Continuously seeks opportunities for innovative approaches to address organizational opportunities.
Solution Oriented: Able to take action in solving problems, using reason and a systematic approach.
Requirements
Job Qualifications
- Minimum 5 years of experience as a software engineer.
- Minimum 3 years of experience as a software engineer working with Ruby on Rails in a production environment.
- Extensive experience with web frameworks and a solid understanding of abstract modeling of complex data.
- Clear understanding of relational databases and SQL.
- Ability to thrive in a remote team environment. Self-motivated and generous with knowledge-sharing.
- Strong communication skills. You love to talk about what your code does and why.
Key Responsibilities
- Communicate clearly and empathetically with teammates of varying technical expertise through multiple channels and mediums: source code, diagrams/flowcharts, READMEs, bug database comments, Slack messages, emails, video meetings, and the occasional meetup IRL. You will talk directly to non-technical collaborators.
- Design user-centered software solutions using the best tools for the job.
- Write production code and tests in assorted combinations of:
- Ruby (and Rails)
- HTML5, CSS3, Slim templates
- Javascript (vanilla ES6 so far)
- Work with product owners to vet business requirements, ensuring that they are clear enough for the development team to start confidently iterating.
- Independently identify opportunities to improve system scalability and stability; targeting the sweet spot between perfection, extensibility, and on-time delivery.
- Mentor teammates in your areas of knowledge, thoughtfully deliver and receive code feedback, freely share implementation ideas.
Benefits
- At Open Up Resources, we believe in building and fostering a diverse and inclusive workplace environment. We are proud to be an equal opportunity employer where all applicants are considered for employment without attention to color, religion, sexual orientation, gender identity, national origin, veteran or disability status.
- We are seeking candidates who have lived experience related to social justice, diversity, equity, and inclusion.
- We are a virtual organization with headquarters in the California Bay Area.
- We offer competitive compensation and generous benefits packages including free healthcare, vision, dental, 401k matching, unlimited paid-time-off, and monthly home-office stipends.
- This is a remote, full-time, benefited position with a salary range of $80,000-$120,000.