Learning Tapestry Logo Learning Tapestry
Learning Tapestry Logo
@

Senior Full Stack Engineer

💰 $75,000 - $100,000 📅 10/17/2023

Apply

Job Description

**About Learning Tapestry**
Hi! We're Learning Tapestry. We're a 25+ person all-remote, global
organization dedicated to making digital learning "just work" for educators
and learners alike. We solve hard problems in complex education technology
environments. We’re a triple bottom line company: we make a profit like any
good business; our work makes the world better (“social impact”); and we
strive to create a healthy internal work environment for everyone who works
here. For our staff we believe in flexible work locations and working
arrangements. We empower all of our team members to manage their schedules and
adjust as necessary. We're focused on results and impact, not locations and
hours. We hire people with great technical ability, but we also expect
everyone at Learning Tapestry to have strong character and solid communication
skills. We highly value effective software architecture, test-driven
development methods, and good project management methodology. We believe in
having a strong CI and deployment pipeline that enables us to focus on writing
good software.

**What We’re Looking For**
You’re an exceptional professional software engineer with at least 7 years of
software engineering experience. You’re comfortable in multiple languages, but
in particular you are strong in backend coding using Ruby or Node.js, and
frontend engineering React (or you are expert in an alternative frontend
framework and are willing to learn/use React for some projects). Our ideal
candidate is available 30-40 hours per week, with at least 4 hours overlapping
with business hours in the US Eastern time zone, and at least 1 hour
overlapping with business hours in the US Pacific time zone. We ask everyone
who works here to be fluent or strongly proficient in written and spoken
English, and easily understood by US-based speakers (we ask for this to allow
everyone in the company to be able to communicate with each other, rather than
having to go through intermediates).

**Required Skills and Experience**

* At least seven years of Software Engineering Experience, with a minimum of five years doing senior engineering work such as solution design, architecture, code review, full stack engineering, or similar tasks..
* You have very good written communication skills, fluent written English, and comfortable, clear spoken English.
* Must have availability that overlaps with our clients at least 4 hours/day in New York (UTC -5) and at least 1 hour/day in California (UTC -8)
* You can write in multiple languages fluently, efficiently, and reliably, and are expert in writing in Ruby or Node.js, and React (or similar modern JS framework).
* Help maintain professional standards for the entire organization.
* Has deep, substantial expertise in multiple programming environments.
* Capable of running and directing small teams of engineers for substantial projects.
* Capable of executing projects across multiple technical domains (“full stack,” data architecture, devops, etc).
* Has an interest and ability to learn new technical subjects when you need to solve new types of problems.
* Can pursue investigation and problem solving into issues to resolve them, and can also recognize when it’s more efficient to ask for help vs push forward to solve a problem. Believes that all technical problems are solvable with enough effort.
* Has humility and kindness with regards to others and their own abilities. Seeks to help others; seeks to share what they know; wants to see their work have impact in the world.
* Substantial, practical expertise in implementing:

**SQL-based databases**
* Can design complex data structure implementations.
* Can write SQL queries and make performance optimizations.
* Can implement standard connectivity to/from SQL servers.

**DevOps**
* Deployment and CI/CD
* Has a solid knowledge of designing and implementing devops pipelines, using tools such as docker, kubernetes, or related systems.
* Can design basic, secure (cloud) networks for web server type systems.
* Can develop strategies for managing cached data to optimize performance, using tools like Fastly, Cloudfront, Cloudflare, other CDNs, Varnish, or Redis.
* Can develop or integrate coding projects with cloud-based architecture such as AWS API Gateway, Route66 (and DNS generally), SSL certificates, cloud-based private network routing, etc.
* Understands basic infosec principles to design, evaluate, and operate systems securely.

**Solutions Design / Systems Architecture**
* Can work with business analysts, product managers, and senior executives to understand the business problems and propose, adapt, and design technical solutions to meet those needs.
* Can translate technical concepts to non-technical audiences and simplify complex concepts without oversimplifying.
* Ability to explain technical issues in actionable ways to non-technical people.
* Can design and configure/operate the technical systems required to implement a technical solution.
* Will understand the business purpose and continually reflect on how the technology is meeting that purpose, and will push back when the alignment between product, tech and business purpose seems “off.”
* Understands cryptography and security enough to design systems that use existing login/identity standards securely (OAuth2, JWTs, etc).
* Is not overly enamored with brand new technologies, and has the maturity and experience to evaluate new technology against existing solutions objectively.
* Can write clear, simple specifications to reflect how a system will be built.

**Testing and Reliability Engineering**
* Understands TDD vs manual QA Engineering, and where each is appropriate in developing software.
* Insists on building automated testing frameworks when necessary for software pipelines, and knows how to implement “enough testing” without relying on a “test everything” approach.
* Can design functional monitoring solutions for uptime management.
* Capable of implementing test automation using tools such as Cypress, Postman, Swagger/OpenAPI.
* Can write developer docs for a project to assist a new engineer in learning to develop in a codebase.
* Can define uptime failure recovery documentation: what to do when a system fails.
* Can debug and analyze production systems for faults.
* Can use New Relic, Skylight, JMeter, and similar tools to find performance and design faults and improvements.

**Bonus skills**

* Experience in Ed Tech Field (Education projects)
* Experience with Project Management tools, such as Github boards, Trello, Asana, or Jira. (We generally use Github boards.)

**To Apply**
Apply with your resume and a cover letter. **In order to be considered for
this role, please specify in your cover letter the hours and times that you
expect to work in this role. Please specify these days and times as US Eastern
time zone times.**

**About You**
You’re comfortable in a remote work environment, with team members from
different time zones. You manage your own time well and are a self-starter.
You have a distraction-free place you can use for work that offers reliable
Internet access (suitable for voice/video calls and development uses), either
in your home or a local co-working facility.

You are experienced and well-versed in the productivity tools we use, like
Google Apps & Hangouts, Slack, and Harvest for time tracking.

You’re fluent in written and spoken English.

Please do not hesitate to apply if you do not match these requirements exactly
but think you could be a good fit for this position.

**Equal Opportunity**
Learning Tapestry is an equal opportunity employer and encourages individuals
of all ethnic and racial backgrounds, sexual orientations, and gender
identities to apply. We are also particularly interested in individuals who
have lived in or worked with underserved communities such as low-income,
gender nonconforming, disabled, or indigenous peoples.

Learning Tapestry focuses on Open Source and Education Technology. Their
company has offices in San Francisco Bay Area and Washington DC. They have a
small team that's between 11-50 employees.

You can view their website at <http://www.learningtapestry.com>