Senior Full Stack or Backend Engineer
Posted by Matthew
East Coast (Pittsburgh based company)
Senior Fullstack or Backend Engineer
Salary/Benefits: $100k-$120k, Equity Options, Health, Dental, Vision
Experience/Pay Levels: Senior, Lead
Location: Remote, East Coast or Central Timezones
About the job
UpContent is growing! We’ve found our market and we’re ready to take our platform to the next level. To help us get there, we’re looking for an empathetic, experienced, and growth-oriented Senior Fullstack Engineer to take a leading role in improving our existing Python backend and Vue frontend. If you’re an eager self-starter, excellent communicator, and passionate relationship-builder, you just might be our person.
We help marketing, HR, and sales professionals deepen relationships and build trust with their audiences by serving as their “air traffic control” for third-party content. Our platform, UpContent, helps users discover, collaborate on, and distribute this content for use on social media, an email newsletter, a website, or even their company’s digital signage systems. Our integrations and partnerships with other content marketing tools like Hootsuite, Buffer, HubSpot, Mailchimp, Getty, Wix, and more, make curation even more streamlined and accessible.
Our values of trust and relationships carry through to how we “get things done”. We believe you work best when well-rested and living a whole life and while we require some time flexibility as a startup we believe that goes both ways and offer flexible hours, unlimited vacation (3-5 weeks suggested), and remote work. About the Role The major projects we’re looking to complete over the next year are heavily focused on our web crawling, search indexing, and machine learning and data science capabilities, along with significant performance, scaling, and UX improvements. We’ll also be continuing to ship features and new integrations and expect these positions will help us increase our speed of delivering features with a large degree of openness to how.
Our backend stack is primarily Python with some other languages on select services, deployed to containers and serverless functions in AWS. Our main app frontend is in Vue with other frameworks in use for secondary apps.
We are looking for someone we can hand a project to and handle said project independently, as part of a team, or as a mentor to the team as the needs of the business dictate. This role is focused on someone that can work across systems and make connections between those systems and with some breadth but we are realistic that we can’t expect one person to be experienced with all technologies or patterns we use. About the Team UpContent is currently made up of 7 people. The Engineering team has 4 people: the Engineering manager, a UX Engineer, and 2 Backend Engineers.
- You enjoy a high degree of autonomy and responsibility in the technical direction of the backend architecture.
- You thrive working both independently and as part of a team.
- You’re able to see the big picture while managing the small details that make the big stuff possible.
- You are comfortable taking initiative and finding new, creative ways to solve problems or delight the customer. You’re always learning and growing and experimenting with new tools and processes.
- You appreciate constructive feedback and aren’t afraid to ask questions.
- You are kind and empathetic.
Ideal candidates should be:
- Either fluent in python or have practice picking up multiple new languages
- Joining with at least 5 years of experience
- Would consider 4 years with experience with python, docker, lambda, and cloudformation or similar
- If no python experience looking for at least 7 years and experience with multiple languages
- Experienced with at least a few of the following and interest in picking up the rest quickly
- Data science
- Machine Learning
- Web scraping
- Frontend build tooling
- Serverless architecture
- Pub/sub and/or queue based architectures
- Infrastructure as code
- Motivated to take a leading role in how we scale UpContent’s architecture and improve our algorithms.
- Solid communicators and be able to manage work independently
- Excited about being part of a growing company and having an “owner mentality” that cares about the growth of the business
- Self-motivated and responsive to the needs of the team
- Comfortable working with integration partners and customers on occasion
- Able to effectively mentor other engineers on coding practices
- Able to independently make architectural decisions including doing necessary research as well as the ability to independently learn any new technologies needed to implement these decisions
- You have experience in working in a startup environment.
- You aren’t afraid to experiment with outside-of-the-box ideas and strategies.
- You have an understanding, and appreciation, of the problem we are working to solve.
- Comfortable mentoring and onboarding developers as we grow
We view the interview process as a collaborative discovery process where we work together to determine whether we are a good match for each other. Questions are not only welcomed but encouraged, at all phases of the process.
We favor a higher number of shorter rounds since we’re remote and that can be easier for candidates’ work schedules but keep total time commitment under 8 hours with an optional additional hour to meet the team. If you have specific time constraints and can keep answers concise and focused feel free to ask about shorter interview time blocks but most candidates do use the full time.
Application: Apply with a resume and a sentence or two, or a short paragraph, about what in the job description made you want to apply.
Round 1 (1.5 hr, 8 candidates max)
- Video or Phone Interview (1hr): We try to get to know you a little, clarify your resume/experience, talk about experience levels and talk about rough pay range numbers. Conducted by the Engineering Director.
Round 2 (1.5 hr, 5 candidates max)
- Video Interview: Mix of non-technical questions and technical but non-coding questions. Conducted by the Engineering Director.
Round 3 (4 hours, 3 candidates max)
- Code Assignment (2 hours): We do have an “on your own schedule” code assignment. In some cases, we may waive this requirement or accept open source portfolio/side project work depending on candidate experience level, and other factors. There is no time limit but we expect it to take about the following for different levels. Assignment will be provided earlier in the process but does not need to be completed till this stage.
- Video Interview (2 hr): You will be meeting with the Engineering Director to discuss the code assignment and pair program to add to or finish the code from the assignment. We may have other technical or non-technical questions depending on how far we get in the previous round. At the end of the interview, we’ll try to narrow down the compensation range further - to continue ensuring there is alignment. Conducted by the Engineering Director.
Round 4 (1-2hr, 2 candidates max)
- Phone Chat with CEO (1hr): Chat with our CEO. Usually, talk about growth and just get to know each other to jointly evaluate if you’ll work well together. While we’ll touch on things like an exit strategy, time frames, and other similar topics prior, this is a good time to dig into any hard business or financial numbers you want to know.
- (Optional) Meet the Team (1hr): If you wish to meet the team you will have the opportunity to do so at this stage. The Engineering director will join for the first half to make introductions and will leave for the second half so you can ask any questions of the team without worrying that their manager/your interviewer is in the room.
Salary Formula and Salary Negotiation
At UpContent in order to reduce bias, and set fair salaries, we use a salary formula. You will have access to our salary calculator as part of the interview process. If there is interest in the values underlying the calculator, we will provide them upon request (after the phone screen), and on the condition of keeping this information confidential - as these values are subject to change. Because part of the purpose is to reduce bias we expect that this calculator/formula will be used to frame any negotiation around compensation, such as jointly determining your salary level, as defined by the calculator - or other factors not captured in the formula. We’re open to the fact that our salary formula doesn’t capture everything but we want to make sure that when we encounter those cases we are adding them back into the formula to the best of our ability.