A quick disclaimer to kick things off… a non-developer is writing thisAnd 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 busyFair pointSo, you’ll just need to deal with the fact that my jokes probably won’t be relevantAnd my use of terms like “database bloat” and “celery” are going to be used slightly incorrectlyApologies all around and in advanceMy 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-levelYou’re welcome.
We’re looking for a remote, full-stack developer to join our teamCurrently, we have an incredibly talented development duo who’s done so much over the years, despite being a super small teamThis 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.comIn 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 databasesSo 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 siteWhich means you shouldn’t get too bored around hereTo 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 joinThat’s because you’ll have ownership over certain areas of the productAnd, even more exciting, you’ll be able to write your own code, rather than fixing up years worth of older codeHooray for new code!
Our current stack is react and python/djangoWe use elasticsearch for implementing fast, text-based searchesOur application is deployed on heroku and we use github issues with zenhub to manage tasksOur 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 serversWe use postgresql to store 2tb of data.
Below are the requirements for both front-end and back-endIt’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 guide95% competent in judging and making ui decisions75% styling: css, less, jss85% javascript frameworks: reactjs, angular 1.2 (legacy code)95% js-based build tools: webpack80% component libraries: material-ui60% very fast and efficient on the computer & knowledge of influencer marketing65% a personality that isn`t going to dig in too hard if we offer a few minor suggestions95%
Back-end skills
Api design and development, ensuring that these are secure95% crud85% restful services80% celery(btw, a recent challenge we solved is that the memory usage with 30mm tasks queued.) 75% server-side languages: python100% 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 infrastructure80% experience writing unit and integration tests75%
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 roleBut… the characteristics that define what it’s like to actually work with you are also very important to usThink of these requirements more in terms of culture-fit requirements:
Our company has a very fast-paced environmentIt might feel disorganized from time to time because we’re also a small companyWe need each employee to be the type of person who can go with the flowWho can adjust quicklyWho 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 constraintsWhile still maintaining qualityWe don’t ask for the impossibleBut what we don’t want to see are projects that are slapped together and riddled with issues when we’re in a time crunchInstead, we’d like to see people make adjustments and figure out how to make it workWe’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 growthWe don’t want to micro-manageWe 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 aggressiveSo if you’re not a nice person… that won’t really work for usWe really need everyone to exude positivity.
You need to be receptive to feedbackThis is a quality that we find candidates have trouble self-assessingBut try hard, because we give feedback when neededWe’re too small of a company to just let people do whatever they want to do(side-note… no one loves feedbackThat’s fineI don’t either reallyBut 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 learnLet’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 workingNo one likes a freeloader.
Are you ambitious? it’s not a requirement, but if you are… there’s lots of room for career growthPlus, 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 wholeOur mission as a company is to help our clients stand out amongst the crowd… to be different and impactfulAnd 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 hereThe point is, you gotta have the chops and play well with othersAnd 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 letterWe’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.