Careers at The Shelf

Full Stack Developer (Senior)

A quick disclaimer to kick things off… a non-developer is writing this. And when I went to our two developers and asked them how to make this job post sound cool to other developers, they said they were too busy. Fair point. So, you’ll just need to deal with the fact that my jokes probably won’t be relevant. And my use of terms like “database bloat” and “celery” are going to be used slightly incorrectly. Apologies all around and in advance. My full-stack humour is a working “development”. 🕺🕺🕺

TLDR

I’ve been told that our job posts are a bit too wordy and that “TLDR” sections would be appreciated for this particular role, so here is the high-level. You’re welcome. 🙂

We’re looking for a remote, full-stack developer to join our team. Currently, we have an incredibly talented development duo who’s done so much over the years, despite being a super small team. This leaves a lot of room for growth, learning, and ownership for whoever joins next! (We know your crowd likes your freedom when it comes to making decisions.)

If you’d like to apply: please send an email to atul@theshelf.com. In the email please answer the following questions:

  • Your name.
  • Your location.
  • Desired salary.
  • A link to your Github.
  • Skype ID (for a call).
  • The job site where you discovered this position.
  • A description of the largest, most complex project you’ve worked on, and your role in that project.
  • This role requires a lot of crossing over between front-end, back-end, and databases. So on a scale of 1 to 10, rank the following, and also provide the years of experience you have with production code: ReactJS /// Python /// Django /// Web-crawling /// Database query optimizations /// ElasticSearch /// Large scale data storage technologies (Petabytes).

About the Role

You’ll be working on an application that is used by our team and our clients for the purpose of running influencer marketing campaigns (so basically, you’ll be helping our company function). This application contains three main components:

  • A large, searchable database of influential media profiles (140,000,000 and growing), along with detailed profiles on each.
  • Campaign management (which is comparable to a CRM combined with a more complicated version of project management software).
  • Campaign reporting (which contains a lot of data visualizations).

As a full-stack developer working on this project, you’ll be hands-on with all three areas of the site. Which means you shouldn’t get too bored around here. To give you a better idea of what you’ll be working on… we’re currently wrapping up our V1 of the product and getting ready to start on V2, so this is a really exciting time to join. That’s because you’ll have ownership over certain areas of the product. And, even more exciting, you’ll be able to write your own code, rather than fixing up years worth of older code. Hooray for new code!

Our current stack is React and Python/Django. We use ElasticSearch for implementing fast, text-based searches. Our application is deployed on Heroku and we use Github issues with ZenHub to manage tasks. Our back-end tasks are implemented using standard RabbitMQ server and Celery (but we are constantly pushing this infrastructure to its limits by scheduling millions of tasks per day). We currently use around 16 back-end servers. We use PostgreSQL to store 2TB of data.

Below are the requirements for both Front-end and Back-end. It’s critical that you are not constantly waiting on the back-end developers of the team to implement something.

Front-end Skills

Absolute mastery of HTML/CSS/JavaScript for web-based applications to build UI components with a focus on usability, reusability, and consistency with our style guide. 95%
Competent in judging and making UI decisions. 75%
Styling: CSS, LESS, JSS. 85%
JavaScript frameworks: ReactJS, Angular 1.2 (legacy code). 95%
JS-based build tools: Webpack. 80%
Component libraries: Material-UI. 60%
Very fast and efficient on the computer & knowledge of influencer marketing. 65%
A personality that isn't going to dig in too hard if we offer a few minor suggestions. 95%

Back-end Skills

API Design and Development, ensuring that these are secure. 95%
CRUD. 85%
RESTful Services. 80%
Celery. (Btw, a recent challenge we solved is that the memory usage with 30MM tasks queued.) 75%
Server-side languages: Python. 100%
Storage technologies: PostgreSQL, Redis, ElasticSearch (you must have a good understanding of writing SQL code and a solid grasp of relational databases and data modeling). 95%
Knowledge of GCS, AWS, Azure, or similar cloud infrastructure. 80%
Experience writing unit and integration tests. 75%

About The Shelf

  • We’re a team of 30.
  • We’re growing.
  • We’re about as scattered as a team can be… East Coast, West Coast, the middle of the country… a bunch of us are in Canada, 1 in Ukraine, 1 in Russia… we like to keep our options open in terms of company retreat locations.
  • About half of us are really funny.
  • We’re currently working with some pretty amazing brands: Famous Footwear, Zenni Optical, KISS, Lenox, a big chain of malls (I don’t think I’m allowed to say who), a big toilet brand (again… I don’t think I’m allowed to say who, but you probably sit on this brand every morning), Honest Co., Hershey, Yelp… just to name a few.

Here Are a Few Additional Qualities

  • You should have a sound understanding of standard Computer Science algorithms, and it should totally make your day (or week, or month) when you can solve difficult problems elegantly.
  • You should be detail-oriented, and someone who uses real data to guide your design decisions.
  • You should be a practical engineer who is able to think about the benefits and risks of a given solution, and propose thoughtful options in front of the team (read: problem-solving and solution-offering maestro).
  • You should have experience with both front-end and back-end so you can participate in a variety of product discussions.
  • You should have great communication skills (able to get on voice calls), be responsive and available, and accountable since it’s a fully remote position.

The Characteristics of People at The Shelf

Generally speaking, a lot of you will probably find this job post in line with your skill set, and I bet a lot of you probably have the skills necessary to perform the requirements of this role. But… the characteristics that define what it’s like to actually work with you are also very important to us. Think of these requirements more in terms of culture-fit requirements:

🕺 Our company has a very fast-paced environment. It might feel disorganized from time to time because we’re also a small company. We need each employee to be the type of person who can go with the flow. Who can adjust quickly. Who is able to embrace chaos with open arms when it decides to waltz through the door.

🏎 Due to the aforementioned fast-paced environment, you should be the type of person who is able to execute quickly… within time constraints. WHILE still maintaining quality. We don’t ask for the impossible. But what we don’t want to see are projects that are slapped together and riddled with issues when we’re in a time crunch. Instead, we’d like to see people make adjustments and figure out how to make it work. We’re looking for resourceful people who approach projects with that there’s-more-than-one-way-to-skin-a-cat attitude.

📈 I’ve never interviewed anyone who has said that they have bad work ethic… but there’s a big difference between people who show up and do what gets assigned to them, and those who take initiative… Those people who take pride in their projects and who go above and beyond because they have that drive for personal achievement and growth. We don’t want to micro-manage. We want to work with self-motivated people who are neurotic about quality.

✅ People who don’t proofread drive me nuts!

👿 While I feel like I shouldn’t have to mention this, we’ve worked with people in the past who ran around like a bunch of crazed loose cannons… yelling at coworkers, constantly complaining, deploying the cold-shoulder on a regular basis… passive aggressive. So if you’re not a nice person… that won’t really work for us. We really need everyone to exude positivity.

👂 You need to be receptive to feedback. This is a quality that we find candidates have trouble self-assessing. But try hard, because we give feedback when needed. We’re too small of a company to just let people do whatever they want to do. (Side-note… no one loves feedback. That’s fine. I don’t either really. But will you take it nicely? Will you incorporate it? Are you going to be passive aggressive while doing it? Have you ever been told not to “cut off your nose to spite your face”? These are questions you should ask yourself).

😺 Influencer marketing is constantly changing, so we’re looking for people who are curious and eager to learn. Let’s say, for example, a client mentions in passing how they’re doing whitelisting on Instagram (and we’ll assume you don’t know what that means). Are you going to just nod your head and say you understand it when you don’t? Or, are you going to jot down a note, do some research, and become a whitelisting expert for the next client conversation? Because we need the latter.

👩🏽‍💻 If you’re working remotely, you need to actually be working. No one likes a freeloader.

👆🏾 Are you ambitious? It’s not a requirement, but if you are… there’s lots of room for career growth. Plus, we like to hire our managers from within the team, so there is a very clear path to the next level (if that’s of interest to you).

Inclusivity

Here at The Shelf, we truly believe it’s our differences that have allowed us to come together and form such a cohesive and all-encompassing whole. Our mission as a company is to help our clients stand out amongst the crowd… to be different and impactful. And since we’re a team made up of diverse people with all different backgrounds and experiences, we’re able to do this naturally. 🙋🏽‍♂️🙋🙋🏾‍♀️🙋🏼‍♂️🙋🏼‍♀️🙋🏾‍♂️🙋🏽‍♀️🙋🏾

We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity and/or expression, status as a veteran, and basis of disability or any other federal, state or local protected class.

So Is This Your Job Jam?

I could honestly go on and on (because I’m long-winded, in case you couldn’t tell that by now), but I’m going to stop here. The point is, you gotta have the chops AND play well with others. And if you’re giddy already, feeling like this job description is just so dead-on-b*lls accurate for you, perfect! We can’t wait to hear from you.

If you’re lacking a skill or two but still feel pumped, feel free to mention it in your cover letter. We’re a small company who’s big into personal growth and supporting up-and-coming go-getters!

Oh, and one last thing… Please add the word Toggle to your subject line when applying so that I know you read this entire post.