Senior Full-Stack Laravel Developer

Location
+/- 3hrs PST Timezone
Employment Type
Full Time Contract (35-40hrs/week)
Contract Term
6 months minimum, likely to extend
Rate
$70-$100/hr CAD + Company Performance Incentives
Stack
Laravel, Inertia.js, React, Tailwind CSS

About Springloaded

We're a small remote team based out of Vancouver, Canada. We really love shipping software on the web. We built our business around delivering the most value we can to our clients and customers, and as a result all of our business to date has been through referrals. We're growing because we deliver exceptional results.

About the Job

We're looking for a full-stack developer to join our team and help us build great software with Laravel. If we had to put a designation in front of the title, it'd be senior. You'll be working on a small and focused team organized around a single project within an interesting domain, devliring work for an exceptionally good client.

The project you'll work on is a Laravel 9 application built on an InertiaJS/React/TailwindCSS stack, with just over a year of active development to date. We also use Laravel Nova to handle some of the backend admin. We use Storybook to manage our front end component library. We use Horizon to manage our queues, and our infrastructure is deployed via Envoyer to EC2 instances managed by Forge. We really love the Laravel ecosystem and make full use of the tools it provides.

We've worked with Laravel a long time now, and you might say we've forked the "Laravel Way" into the "Springloaded Way". We've been putting our models into their own namespace for a long time. Our application is organized by domain, and we use single action, invokable controllers. Other than that, everything else is the same old Laravel defaults you're used to.

We write well tested code, and lean heavily on integration tests. Sometimes we take a test driven development approach to writing our features, other times we'll write the tests after the feature is complete. We don't believe in prescriptive solutions to programming - if you want to write tests first, great. If you want to write them later, also great. We don't mind as long as there's good coverage.

Day to Day

We're a company of developers, and we prefer to optimize our time for doing just that. Our processes are intentionally lean, with enough structure to deal with the complexities of the systems we build. We run our project management through Linear, in a kanban style format. Our repos reside in GitHub, and we review and merge code through pull requests. We try to avoid meetings where we can and favor async communication. That said, we're always more than happy to hop on a pair session.

Here's some examples of things you might work on:

  • Take an existing Entity Relationship Diagram and build out the migrations, seeders, models, relations, and nova resources for the entity
  • Working off a Figma design, implement the design in our React front end while reusing existing components from our library in Storybook
  • Create the required controllers for a CRUD resource, with form request validation and test coverage on the happy path and the not so happy path

We're happy to help you get up to speed in areas that may be new to you, as long as you are eager to learn them. We do need to hit the ground running, so a foundation in Laravel is a must. If other pieces of the stack are new to you, let us know if you have relevant experience that might translate over.

Contract Position

While this is a contract position, the existing team members working on this project have been working on it for over a year now, and we'd prefer a 6 month commitment to start. We hope to end up as your favorite client. There is potential for this role to transition into full time employment for Canadian applicants if that's of interest.

How to Apply

If you're interested in applying for this position, shoot us an email with your resume and cover letter at [email protected]. Feel free to use the email body for your cover letter, and we'd really prefer your resume to be in PDF form. Make sure you clearly include the timezone that you'll be working from.

We'll be collecting applications for this position until the end of May 2024, at which point we'll begin contacting applicants. We look forward to hearing from you!