Full Stack Web Developer
16 Dec 2020
Salary: $90,000 - $150,000
To apply, send your resume to email@example.com along with a few sentences telling us why you'd be a good fit.
- Live our Values and follow our Code of Conduct.
- Build new features and maintain existing ones.
- Find and fix issues in the product.
- Review other engineers’ pull requests to maintain a high-quality code base.
- Support and engage with our users by participating in our on-call rotation.
- Monitor and optimize code in production when necessary.
- Create and maintain ASP.NET Web Api endpoints for our client-side app and public API.
- Create and maintain AngularJS components for our client-side app.
- Be an owner. We take turns in leading development of new features and expect you to be able to own a project from start to finish. Any experience you have on this front is applicable.
- Be independent. We're a remote company across many time-zones so you'll be expected to be able to self-direct, self-manage your time, and report back on progress. We care more about what you accomplish than the hours you clock in.
- Be enthusiastic. Advocate for things you feel strongly about, and commit and execute whether or not decisions go your way. Volunteer eagerly and take your turn when necessary. Find a balance between working on things you're passionate about and doing tedious things that benefit the team or our users.
- Be empathetic. You contribute constructively to discussions, look out for your teammates’ well-being, and exercise respect when interacting with others. Recognize successes publicly and point out errors privately.
- Be engaged. Invest time and energy into the team, the processes we operate by, and the culture we live as well as the app. You’ll be writing code and specs, communicating with clients, pairing with less-technical teammates, helping plan team retreats, and proposing new processes.
- Understand the constraints of working in legacy software and enjoy making incremental improvements. Ability to operate in a "mature" codebase that has various technologies and patterns
- Enjoy working on a small team. You’ll be the tenth team member and might put on a lot of hats and face problems that no one knows the solution to. You should also feel free to carve out your own niche or take on responsibilities outside of this job posting and work on projects you feel passionately about.
- Enjoy remote work, are effective at mitigating its downsides, and can maintain your productivity without going to an office every day. This includes maintaining a schedule with at least 4 hours overlap with 9-5 hours in the U.S. Eastern Time Zone.
- You can communicate clearly in written English with clients and colleagues who range widely in technical expertise.
- Ability and willingness to participate in periodic on-call rotation. The pager rarely goes off outside of business hours, but there's a busy week every now and then. Previous on-call or user-facing experience is a plus.
- Deep expertise, passion, or perspective that will round out our team (whatever it is - front end UI/UX design, accessibility, refactoring experience, etc.)
- Test-driven development background. We move fast and try not to break things so you should be comfortable with and enjoy writing tested components.
Nice to have skills
- Viz. We use D3.js a lot here so it's great if you know your way around it and know how to make visualizations that make sense and look good.
- Design. You know how to make usable, accessible (WCAG compliant), and intuitive interfaces for the web with consistency across pages and browsers. Good UI/UX design sense that accounts for a broad range of users' technical capacities, and enhances the "curb appeal" of the app for potential customers.
- Domain knowledge. Data science, visualization, or analysis experience or background. You have worked with international development, humanitarian, or other social good organizations and/or monitoring, evaluation, research, and learning (MERL) teams before. These are the fields our clients work in.
- Interest or experience with business development and management. It’s not strictly part of the role, but on a small team there's ample opportunity to feed into business strategy discussions, look over a balance sheet, or identify a new market we have yet to tap into.
- Leadership experience. A leader takes responsibility for their team's morale and performance. On such a small team, no one can be merely a cog. We're better when each of us develops ideas, seeks buy-in, and shepherds goals across the finish line.
- Fluent in languages other than English; customer support and localization are sometimes easier for polyglots.
- Previous experience with some or all of our stack (Webpack, CoffeeScript, TypeScript, AngularJS, SASS, .NET Framework, Entity Framework, C#/VB, SQL Server, Azure, GitHub)
- Familiarity with any of the following: advanced programming concepts, dependency injection, testing harnesses, security/privacy regulations and best practices, developing secure web apps.
- Optimization / Debugging / Observability / DevOps -- You know your way around profiling tools or advanced debuggers for SQL Server, .NET and the web. You’ll build and run the app and need to know how to diagnose and fix things that show up in production.
What success looks like
- Day 1. You'll get your environment configured, get an introduction to some high level concepts, and we'll probably ship some code to production together.
- Week 1. We'll work on some tasks, investigate issues, write tests, and write/review some pull requests together.
- Month 1. You'll be able to tackle some small, well-defined tasks on your own. You'll be able to navigate the code base. You'll have started contributing to more advanced features. You'll have gone through our user training so you'll understand the world as it exists to our users. You'll still have a lot of questions though, so we'll still be assisting you.
- Month 3. You'll feel confident fixing bugs and implementing a small, well-defined feature from start to finish. You'll be able to design features for others to work on.
- Month 6. You'll feel fully capable of tackling any task in our feature queue as a full member of the engineering team. You’ll be able to co-captain a sprint with a client-facing teammate, including planning, developing, and documenting.
Our hiring process
- Quick online programming challenge (~10 minutes). After you submit your work, you’ll hear back from us within one week.
- DevResults has a salary transparency policy and makes decisions about salary based on a company-wide formula. Once you provide detailed information about your experience and education, we provide a negotiation-less salary should you receive an offer.
- Technical interview (~60 minutes). After the technical interview, you’ll hear back from us within one week.
- At home project (~4 hours - paid)
- Half pairing day (~4 hours - paid)
- Meet the team / QA session (~60 minutes). After the project, pairing, and QA session, you’ll hear back from us within one week.
- Flexible start date
We’re a small team enjoying several years of sustained growth, but find ourselves at an inflection point. We want to continue building on the success of our platform, but more than that, position ourselves for rapid growth. That includes both ‘upwards’ with bigger clients such as government agencies and major international donors, as well as ‘outwards’ with forays into new markets as well as into smaller, more numerous organizations within our current market.
We primarily serve development and humanitarian professionals, but increasingly social good organizations in general. In order to make good on this broader vision, we need to broaden our team. That means new skills, different professional experiences, but also fresh ideas and unique perspectives that will add new energy and vitality to our team.
As much as we care about the work, we care more about those who do the work. We offer competitive benefits, strive to maintain and build upon an inclusive company culture, but most importantly, we have each others’ backs. We’re proud of what we’ve built so far and fully aware of where there is still work to be done. If you think you can add as much to our team as you can to our product, we can’t wait to talk to you!
- Fully remoteYou can work anywhere you have reliable and reasonably-fast internet.
- Small teamYou'll know everyone who works here by name, and what they are doing on the weekend.
- BootstrappedWe've been profitable for over thirteen years and we only answer to our teammates and users.
- VacationWe don't ration vacation or sick time, so take the time off that you need. In 2019, DevResults employees took an average of 6 weeks of vacation.
- Parental LeaveDevResults provides a minimum of 12 weeks with 100% pay to new parents.
- HealthWe have a generous health/dental/vision and life insurance + long term disability insurance that can cover you and your family.
- SabbaticalsEarn 12 weeks of paid sabbatical with five years of service.
- RetirementWe offer a 401k plan with matching.
- Transparent SalaryDevResults does not negotiate salary or pay raises, instead we use a spreadsheet model to calculate everyone’s salary based on experience, education and tenure.
- EducationWe'll assist your skill growth by assisting with books, conferences, online courses, or other ways you want to keep sharpening the saw.
- RetreatsWe take time to meet in person as a company to create our upcoming strategy and plan out our roadmap together as a team.
- Make a differenceYou'll be working on a product that helps our customers maximize their impact, which often means helping under-served populations or groups.
- Best toolsWe'll provide you with the tools you want to be successful (choose your own laptop, monitors, software, etc).
- Quarterly BonusesWe play a quarterly bonus game that requires us to work together towards a common goal and reward ourselves a bonus based on our performance.
- Annual profit sharingA slight simplification: we take half the annual profits of the company and split them equally between our employees.
We recognize that marginalized groups face discrimination in their daily lives, and we want our company to be a safe haven and a place where people of all backgrounds and identities enjoy working.
We are committed to confronting discrimination and harassment based on race, color, ethnicity, national origin, sex, gender identity or expression, sexual orientation, marital or familial status, religion, age, personal appearance, political affiliation or beliefs, disability status, and any other identity that makes you who you are.
We have a diverse team and we'd like to keep making it more diverse. People of marginalized genders (especially in tech); Black, Indigenous, and other people of color; and people of Hispanic origin, are especially encouraged to apply.