Why we’re hiring
We’ve been fortunate over the last several years to find and retain client partnerships across the US, Canada and Switzerland that have allowed us the opportunity to grow dramatically. So this really just boils down to a simple cause and effect — be fiercely committed to producing high quality work and exceptional white glove customer service and voila, you are going to have to hire more people to keep things operating smoothly and live up to high expectations that our loyal clients have.
TLDR: We’re growing and need your help to keep up with the workload.
About Bright Oak
If you go over to our home page you will be able to see the types of services we offer our clients, but I think the biggest thing I want you to take away from that page is our philosophy — that regardless of the problem, there is always a solution. That mindset is what has allowed us to get where we are at today. If you want more to the story, check out this post that I wrote on how we got our name and really how Bright Oak came into existence.
In short, we’re a small young team that loves problem solving and are looking to add a new member to our team to help us better service our client partners. Some other fun facts about us:
- The average team member at Bright Oak has been here for 3 years
- The oldest person is 41, and the youngest is 24 making the average age 29
- We have 5 full-time people in Portland, 1 in California, 1 in Toronto, 1 in Vancouver, 2 in Maryland, 1 in South Carolina, and 1 in Ukraine and then a few other part-time folks peppered around the US
- We have a side project called Pizza for Portland where we go out and buy a bunch of pizza to hand out to the less fortunate around Portland
- Not all of us have met each other in the flesh (yet)
- We all grew up on AIM (rip)
- 4 of us have dogs
What you’ll be doing / what’s expected
Working together with the rest of our development team, you’ll have a hand in creating custom web applications in Laravel, developing modern WordPress sites using Roots Sage, and making improvements to existing client websites on a variety of platforms. You need to be comfortable developing locally using vagrant or docker and utilizing a multiple branch git workflow. Most importantly, we need you to be able to learn quickly, follow high-level instructions, ask good questions, and communicate clearly and often. Here is a more specific breakdown of what we’re looking for:
- You need to be able to debug any PHP application using Xdebug (there’s a reason this is listed first).
- You should possess a deep and thorough understanding of building Laravel applications. You will need experience with the following:
- Advanced Eloquent Model usage including eager loading
- Job Queuing & Laravel Horizon
- Events, Listeners, and Observers
- Blade template inheritance
- Console commands
- Vue components
- You need the ability to create custom, modern WordPress themes (yes, we know).
- Roots Sage 9 is our WordPress framework for building new themes
- We use composer to install plugins so the dependency is noted in the repo but the actual plugin code is not.
- You will need to be comfortable utilizing action hooks and filters to accomplish various tasks.
- Custom Post Types and Custom Taxonomies are common in our themes. Be sure to understand what they are and how best to use them.
- We heavily utilize theme options and custom fields. Be sure you understand the difference between them and when you would use one or the other. We use Advanced Custom FIelds Pro.
- We use PSR4 autoloading to load our custom theme classes (yes, even in WordPress)
- You need to be able to quickly set up a local development environment. We are currently transitioning from Laravel Homestead to Docker via Lando.
- Make sure you possess an understanding of PSR4 autoloading and using it for PHP dependencies. Hand in hand with this is an understanding of PHP namespacing.
- We use yarn and webpack for all frontend dependencies, but as quickly as things change in that space, we may end up using something entirely different before too long.
- Basic server operations are always useful. We use AWS and Digital Ocean, depending on the needs of the project. The majority of duties are provisioning, firewall setup, setting up a project for deployment, and adjusting configuration files for Nginx and PHP-FPM.
- As our team grows, the importance of being able to work in a multi-branch git workflow is paramount.
- Even though we usually abstract through PHP, a deep understanding of MySQL and how relational databases work is of great importance.
- Make sure you’re comfortable using third party API’s as well as implementing custom API’s for others to use. We prefer REST API’s whenever possible.
- Automated testing is an area we have identified as an area for growth for our team and we plan to begin implementing it soon. The more experience you have with PHPUnit, Laravel Feature Tests, and Laravel Dusk, the more value you can add to our team.
- We want all of our developers to be able to become a Laravel Certified Developer. If you are not currently a Laravel Certified Developer, we will support you to make sure you’re able to obtain the certification within six months of coming on board.
- As part of this role, you’re going to be asked to solve problems – whether that’s an existing project that’s broken or real-world problem that a client wants us to solve with code. You need to be able to quickly diagnose problems (even if the real problem is different than what you’ve been told) and identify solutions.
- You need to be able to ask good questions of clients and other team members in order to get the information that you need to accomplish your tasks. Experience in the discovery interview would be helpful.
- Our team is 100% remote, and while we are flexible with scheduling, we need you to be punctual and reliable. If you find you’ll be deviating from your agreed-upon schedule, we’ll need to know as much in advance as possible so that we can manage expectations for everyone.
- You need to enjoy problem-solving. You’ll be doing quite a lot of it – the more you enjoy it, the better off everyone will be (especially you).
Compensation & Payment Details
Here are some basic things to know, but we are constantly evolving the benefits package for our team:
- We will be offering at least $75k for this position and to go north of that will depend on your skillset & experience
- This is a full time & long term position (W2 not 1099 / freelance)
- We ideally need you to be living in/around Portland, OR or in the Pacific Time Zone, but if you’re the right person, you’re the right person
- All of us are in different stages of our lives and want different things, so we tailor our benefits package to you
- There are commission opportunities for helping bring in new business
- Payroll is twice a month via direct deposit
- We provide you with a 100% covered bronze PPO medical insurance plan via United Healthcare
How to apply
This is going to be a pretty straightforward process:
- Email [email protected] and CC [email protected] with the subject line of “Bright Oak Senior PHP Position”
- Attach a copy of your resume.
- Provide a code sample that you believe shows some of your best work. You may attach a file, send a GitHub/BitBucket link, or provide access to a private repository to [email protected]
- Describe for us what it is that this code does and why you’re proud of it.
- In a few sentences, tell us a little bit about your goals for your own professional growth.
Q: What if I don’t live on the West Coast?
A: You can still apply of course, but if it comes down to a tie between you and someone else, we will likely default to whoever is in or closest to the West Coast / Portland. This is because our lead developer is on the East Coast and we want to open up our development window to better accommodate our client base that spans multiple time zones.
Q: When will I start working?
A: Very soon. We are looking to make a final decision by the end of the month if not sooner.
Q: Do we provide equipment?
A: It’s 2019, so we assume you have all the essentials to be productive. For some employees, we do offer reimbursements for critical equipment needs and in some cases will offer to help cover other costs such as internet, mobile phones, etc…