Full Stack Web Developer

To apply, send your resume and cover letter to Diego

Responsibilities

  • 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 empower our users by participating in our support rotation.
  • Monitor and optimize code in production when necessary.
  • Create and maintain ASPNET Web Api endpoints that power our client side application and our public API.
  • Create and maintain our AngularJS components that power our client-side app

Benefits

  • Fully remote. You can work anywhere you have reliable and reasonably-fast internet.
  • Small team. You'll know everyone who works here by name, and what they are doing on the weekend.
  • Bootstrapped. We've been profitable for over thirteen years and we only answer to our teammates and users.
  • Vacation. We don't track vacation or sick time, so take the time off that you need.
  • Health. We have a generous health/dental/vacation package that can cover you and your family.
  • Retirement. We offer a 401k plan with matching
  • Education. We'll assist your skill growth by assisting with books, conferences, online courses, or other ways you want to keep sharpening the saw.
  • Retreats. We get the entire company together someplace tropical to plan out our road map and bond together. Last few locations include Cozumel, Costa Rica (twice), Bahamas and Puerto Rico
  • Make a difference. You'll be working on a product that helps our customers maximize their impact, which often means helping under-served populations or groups.
  • Best tools. We'll provide you with the tools you want to be successful (choose your own laptop, monitors, software, etc).

Requirements

  • Timezone Overlap. You need to have at least 4 hours of overlap with the US East Cost (you are in a timezone from UTC to UTC-8, i.e. Americas, Western Europe, Western Africa).
  • Independent. We're a remote company across many time-zones so you'll be expected to be able to self-direct and self-manage your time. We care more about what you accomplish than the hours you clock in.
  • English speaker. You'll need strong written / verbal English speaking skills to interact effectively with the team, clients and providers.
  • Consistent schedule. We all know life is unpredictable and events pop up, but most weeks your work schedule will be predictable.
  • Team player. There's lots of smart, opinionated people working here who care a lot about our users. You are be able to contribute to the conversation as well as listen critically to others.
  • Travel. You are be willing to travel internationally about two weeks per year. Often this is to meet up with the rest of the team, but it might be to assist with an on-site training for one of our clients. We're a US company so you'll need to be able to travel to the US as well.

Must-have skills

  • Computer science/engineering background. We work with reasonably sized sets of data, so a good understanding of algorithms and data structures is important. We care about understanding, not accreditation, so self-taught is just as good as a degree.
  • Test-driven development background. We move fast and try not to break things so we have lots of automated tests. You should be comfortable with and enjoy writing tested components.
  • Git. We use it for our VCS, so you should be comfortable using it daily.
  • Full Stack: You should be comfortable building components with HTML/CSS/Javascript and then jumping over to doing ASPNET Web Api endpoints that talk to a SQL Server database. The current version of our web application uses AngularJS, experience with it being a strong plus.
  • Half Stack: If you aren't a full stack developer, then you should be really strong in either front-end technologies or back-end technologies listed above.

Nice to have skills

  • Azure experience. All of our software runs on Azure. We use a mix of managed services and virtual machines.
  • IIS and SQL Server administration. You know how to setup, configure, and diagnose issues with our server platforms.
  • Modern web development skill set. The web is changing every day, but it'd be great if you had some exposure to things like Webpack, ES6, SCSS or similar tools.
  • Containers. You know your way around docker / kubernetes.
  • Optimization / debugging. You know your way around profiling tools or advanced debuggers for SQL Server, .NET and the web.
  • 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.
  • CSS Design. You know how to make HTML look good and consistent across pages and browsers.
  • Startup mindset. You understand the strengths and weaknesses of startups and enjoy working in a startup environment. You might put on a lot of hats and you might face problems no one knows the solution to.
  • Domain knowledge. You have worked with Aid/International Development organizations and M&E before.
  • Remote working. You have worked remotely before and can maintain your productivity and a strong work ethic without going to an office every day.

What success looks like

  • Day 1. You'll get your environment configured, get an introduction you 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 domain 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 on implementing a well-defined feature from start to finish. You will be able to assist an implementation team lead with a user training session.
  • Month 6. You'll feel fully capable of tackling any task in our backlog on your own. You'll be able to design features for others to work on.

Our hiring process

  • Technical interview (~60 minutes)
  • Phone call (~30 minutes)
  • Paid pairing day
  • Meet the team / QA session (~60 minutes)
  • Offer

Diversity

We do not discriminate based on gender, sexual orientation, race, religion, age, nationality or anything else that is not related to your ability to work with us.

That said, we have a diverse team and we'd like to keep making it more diverse. Women are especially encouraged to apply.