Fullstack Engineer

HourStack is hiring a fullstack engineer to join our team. This is a backend heavy position though where your primary focus will be our API.

Posted: July 28, 2021

HourStack helps teams of all sizes with a holistic, visual approach to both time tracking and scheduling — easily connect favorite applications with zero disruption to workflow or use HourStack on its own. The all-in-one visual calendar helps you see, plan, and track your team's time across tasks and projects in a complete view. Easily schedule tasks, accurately track time, pull actionable reports, and customize your workspace and permissions.

Based in Seattle, we’re a purposely lean yet diverse group of people with backgrounds in software development, marketing, design, and everything in between. What brings us together is our passion for technology and customer-driven innovation. We share a vision to make work fun and easy and we respect every one of our users and employees as we all work together to create the most simple, flexible time management tool available.

Over half the team is in Seattle, but we are fully remote and work mostly asynchronously with a strong written culture. We optimize for deep work and have no standing meetings for the product team. We believe in simplicity, trust, autonomy, innovation, and enjoying work.

We are building a great product with an incredible team and we are bootstrapping the business, which allows us to do this on our terms and at our pace.

HourStack's RESTful API is in a great spot. Over the last 18 months we've rebuilt it from scratch with our current and future architecture in mind — the ultimate goal of it being pleasant and fast to develop on HourStack for our team and third-party developers.

As a small team, we all have our areas of focus and ownership, but contribute to many aspects of the business to ensure product and marketing are fully synced. From designing, building, and testing, to documenting, hosting, and supporting, you will own the API as your primary responsibility.

This is a backend heavy fullstack engineering role, but you will have some secondary responsibilities such as technical support for the marketing team, internal tooling, and browser extensions where you'll need solid frontend experience.

Here are some of the projects we have lined up for your first year. We'll be focusing on a mix of improving the core of HourStack as well as extending HourStack with a number of new integrations.

  • Budgeting: money and time, fixed or recurring, for clients and projects.
  • Availability: workspace-wide days off, individual time off, availability history, etc. to get 100% accuracy on member availability for scheduling and reporting.
  • Reporting: expansion of reports offered including customizable dashboards
  • Task integrations: Jira, Basecamp, ClickUp, Wrike, Monday.com, etc.
  • Invoicing/Payroll integrations: Quickbooks, Xero, Freshbooks, Gusto, etc.
  • Support integrations: HubSpot, Intercom, HelpScout, Zen Desk, etc.
  • Launch API: for third-parties and marketplace for apps that extend HourStack's functionality.
  • Affiliate program: to earn payouts for referring customers.
  • Referral program: for customers to earn rewards when their friends sign up.
  • Browser extension: to allow creating timers anywhere on the web and running timers from within the UI of other applications.

Our API is built on a LEMP stack hosted with DigitalOcean. Our framework of choice is Laravel and we utilize many tools from that ecosystem, such as Forge for server management, Envoyer for zero downtime deployments, Cashier for managing subscriptions with Stripe, Passport for OAuth, Horizon for queue management, etc.

Our web client utilizes React, TypeScript, Next.js, etc., but our marketing site and admin utilize a Vue.js setup. We are planning on using React for the browser extensions as well, but we'd want to get your feedback on that choice. You'll need familiarity with standard testing and development tools and technologies such as Git, Yarn, Babel, PHPUnit, etc.

For collaboration we use Notion, Slack, Google Meet, and sometimes email.

  • Extensive experience developing performant and reliable APIs with Laravel that have had real-world utilization (a must). We love to learn on the job, but we are expecting a high level of initial knowledge and skill so that you can hit the ground running.
  • Experience building real frontend applications with the technology we use, though we would be happy if you're more biased to backend work as that aligns with this role. We have an incredible UI/UX designer that will provide fully complete designs, including prototypes in Figma, so you don't need strong design skills to be successful with this position. Though a good eye never hurt!
  • DevOps experience is also required. You won't be solely responsible for infrastructure, but you will be a part of helping scale and maintain it as we grow until we are in a position to hire a specialist. We do use some managed and semi-managed services to keep the burden fairly low and would be very happy if you have strong experience here as well.
  • You must love to be productive! We are building a productivity product here, but you will also be working with a small, dedicated, and focused team that knows how to crank out very high-quality work. We all enjoy having significant amounts of uninterrupted work time to maximize our productivity.
  • You'll also need to have experience working remotely and the skills that come along with that such as excellent written and verbal communication, self-motivation, flexibility, reliability, etc.
  • Fun, ambitious, bright coworkers. We genuinely like working together, learning from each other, and brainstorming ways to make our product and customer experience even better.
  • Company culture and product. You'll join a company that has a solid vision, very open communication, and a product roadmap that continually delivers.
  • Plenty of growth opportunities. This is an early-stage company, which means there will be plenty of opportunities to grow as the company matures.
  • Competitive compensation. Salary for this full-time position is expected to be between $85-$125,000 depending on experience, location, etc.

Note: We do prefer US-based employees for the time being as it is more simple to manage at our stage. We have employees in WA, CA, and KY currently.

Benefits include:
  • We utilize an ICHRA, which is a type of HRA that provides you with tax-free reimbursements for individual health insurance premiums and other health, dental, and vision expenses. This allows you to select the perfect insurance for your family rather than us having to chose a one-size-fits-none plan for the company.
  • 401(k) through Vanguard/Ascensus. We match your contributions dollar-for-dollar up to 4% of your salary. You can also make Roth contributions and the plan allows for in-service distributions. You are always 100% vested in the money contributed.
  • We offer flexibility to take time off as needed for vacation, personal, or sick days as long as you are completing your work and you schedule/plan with the team ahead of time when possible to ensure your absence doesn't negatively impact them.

If this role sounds perfect for you, send your resume to jobs@hourstack.com. We look forward to reviewing it! We have a simple process and if we'd like to move forward with you, here are what the steps look like:

  • You'll next have an interview with the technical owner of HourStack. This will be a general discussion to talk about your experience, the role, the business, upcoming projects, etc.
  • We'll setup a simple test project in a GitHub repo that you can clone. We'll explain where the project is at and where we want you to take it. This will help ensure you've got the core skills we need. If you are qualified for the role, this will be very easy for you. We want you to spend less than two hours on this. Alternatively, if you have a recent project that will demonstrate skills sufficient to qualify for this role, we'd be happy to have you walk us through that project, explain the code you've written, etc.
  • From there we'd have a final interview with the product team to cover any last questions from both sides and to ensure we all mesh well together and are excited to work together.
  • We'll extend an offer and we are ready to have you start immediately.