Full Stack Web Developer - Python, React, SQL (Mid-Level & Senior)

Level 12 · Jun 13th 2018

Apply on StackOverflow Careers

We are looking for a full stack (Python) web application developers to join the team at Level 12:

TL;DR: Why Consider This Position?

  • We give you a lot of information in the job description so that you can figure out if you'd really like to work here.

  • We have a commitment to transparency and offer a “no surprises experience” throughout the interview and hiring process.

  • We practice and preach sound development practices. You are likely to learn and grow as a developer while working here.

  • Our pay and benefits will be somewhere between good and great, depending on what you are used to and where you live (see below for specifics).

  • You will have the option of working from home or our office, whatever suits you best. Let’s make the most of our time and minimize commuting when not necessary.

  • We have a no-drama office policy. We value and cultivate enjoyable working relationships among team members.

  • We emphasize work/life balance and adopt policies that make sure our people don’t get burnt out. For instance, our PTO/Vacation policies are designed so that you actually use them.

  • A commitment to Agile Principles while not being enslaved to any particular methodology.

  • You have the skills and experience to be a mid-level or senior level full-stack web application developer. That is, you need to be able to architect & run with a medium sized project mostly on your own.

  • You like building full stack web applications with technologies like Python, React, SQL, etc.

  • You are committed to automated testing of all the software you write (our apps typically have 92%+ test coverage).

  • You recognized that there is a lot of idealism in the software development community and are not disenchanted with the the day-to-day realities of programming.

  • You like working independently but can contribute to a team as needed

  • If you apply, we will give you a yay or nay response. No black holes here!

Daily Responsibilities

Daily responsibilities primarily consist of coding database-driven web applications and other web-related development work. In a typical day, you will likely work mostly with Python based web applications using frameworks like Django or Flask that interact heavily with a database (PostgreSQL or MSSQL). In the course of that work, you will have to interact with related technologies like JavaScript, React, HTML, and CSS/SASS.

This is not a design job. It will require a lot of in-depth programming and database work including the ability to architect maintainable code that gets the job done.

While we do prefer to do most of our back-end work in Python, we will occasionally take projects in other languages if they seem to be a good fit for us and the customer.

Some days you will jump from project to project as issues come up. At other times you may work primarily on one project for weeks or months.

The ability to take ownership for a project, engineer a sound technical solution, and “drive” a project to completion is essential.

Our customers have varied needs and so we tend to have varied responsibilities and projects. We have a focus on serving the customer and making software conform to their company rather than making the company conform to software.

We run our teams (two currently) in two week sprints.

What We Offer

  • Pay: $75-$100K (mid-level), $100K-125K (Senior/Lead).
  • We are happy to talk about money as one of the first parts of our conversation so we don’t waste each others time if we aren’t in the ballpark.

  • Everyone wants to be paid as much as possible, but the economics of business usually require that we meet in the middle.

  • Our offer will take into consideration your salary history, experience, references, and a skills assessment.

  • Profit Sharing: In addition to a salary, our employees will earn a bonus based on how profitable our company is each year (roughly $1-2K annually).

  • One of the best things about working for us is that we really value work/family balance.

  • We rarely work more than 40 hours a week.

  • We recently gave everyone an extra day off for Valentine’s Day just for extra quality time with their family.

  • We know there are devs out there putting in 50-60 hours a week. We can give them 10-20 hours a week of their life back.

  • PTO/Vacation:

  • Everyone receives 3 weeks of PTO/Vacation per year.

  • Up to 12 sick days per year.

  • 9 Holidays

  • Healthcare: We contribute to an HRA to offset the cost of health insurance or healthcare expenses.

  • Flexibility: While we expect a regular schedule during normal business hours, we are pretty flexible when schedule changes are needed for legitimate reasons.

  • Telecommuting:

  • Remote candidates are welcome to apply.

  • Many of us work from home frequently, even those of us who are local.

  • We do have an office if you prefer to get away from home to focus on work.

  • We Care: It’s easy to say, harder to do. We all need to make a living, our company needs to be successful in the marketplace, and hard decisions sometimes need to be made. But, at the end of the day, we really care about our employees, their families, their needs, and their desires.

Full Job Description & Application Instructions

Above are just highlights. The full job description for both positions are on our website and includes salary information, videos, and instructions on applying:

Skills & Requirements

Character First

Level 12 is founded on biblical principles and has biblically informed goals. Accordingly, the reputation of Level 12 and the character of our employees is of utmost importance. You do not need to share our leadership's religious convictions, but you will need to share our commitment to the following principles:

  • Integrity: honest, trustworthy, reliable, ethical. We have high moral standards and we expect our employees to share those standards. If you use pirated software or media, don’t mind “tweaking” the truth, or think porn == entertainment, this is not the job for you!

  • Good work ethic: you work hard and like to work hard. You also work efficiently, seeking to make the best use of your time.

  • Dedicated: you really desire to contribute to and improve our company; you are not just earning a paycheck. You demonstrate a high level of “ownership” for and initiative with projects that are assigned to you.

  • Teachable: you have a willingness and desire for feedback/correction. You are always looking to improve. You are willing to ask for help even if it makes you “look bad.”

  • Resourceful: you know how to solve problems or are at least able to explain that the problem is not solvable with the requirements given. You use all resources at your disposal in an efficient manner to troubleshoot. You know when to ask someone for help and when more effort is needed on your part.

  • Technical Prowess: you just “get” programming, computers, technology. The thought of solving a problem in an entirely new programming language, one you have never even heard of before, excites you.

  • Technical Diversity: while we all have our preferences when it comes to programming languages or operating systems, you should be willing to work with anything, in any language, if that’s what it takes to get the job done. If you are easily lead into a “______ rocks, everything else sucks” mentality, this isn’t the job for you.

  • Flexible: we are small, things change. You should be able to “roll with the punches.”

  • Professional: at the end of the day, you like what you do, you take your job seriously, you do it extremely well, and you pay attention to the details!

Senior Developer

The candidate for the Senior Developer position will usually have 6-10 years relevant experience and meet the following requirements:

  1. Technical Skills
  • Are able to write modular, well-tested, and maintainable code

  • Know a software development domain really well and radiate that knowledge to our team and beyond

  • Are able to work on multiple projects as needed

  1. Leadership
  • Leads the design for customer projects with feedback from other engineers

  • Proposes new ideas for improving the development team, customer projects, and/or our tech stack

  • Adheres to and promotes our development culture and mission

  • For Team Leads (see below): invests in other team members to see that they are growing as individuals and to facilitate productivity within our team.

  1. Code quality
  • Leaves code in substantially better shape than before

  • Fixes bugs/regressions quickly

  • Monitors overall code quality/build failures

  • Creates tests religiously and makes sure the rest of the team is doing the same

  • Proactively identifies and reduces technical debt

  • Proactively defines and solves important architectural issues

  1. Communication
  • Provides thorough and timely code feedback for peers

  • Able to communicate clearly on technical topics

  • Keeps issues up-to-date with progress

  • Helps guide other merge requests to completion

  • Helps with recruiting

  • Is able to manage conversations directly with customer contacts when needed.

  1. Performance & Scalability
  • Excellent at writing production-ready code with little assistance

  • Able to write complex code that can scale with a significant number of users

  • Avoids premature optimization

Mid-Level Developers

The candidate for the Mid-Level Developer position will usually have 3-6 years relevant experience and meet some but not all of the requirements listed above for senior developers.

Leadership

In addition to the leadership expectations noted above, some of our senior developers will also be involved in leading other developers and interacting with customers. We realize not every senior developer is as good with people as they are with code and that’s ok. We need and value individual contributors. But if you like and are good at interacting with people, we will have opportunities for you to lead teams and/or projects.

Everything Else

  • General Requirements
  • Experience developing database-driven web applications, preferably with Python backends.

  • If you don’t have Python experience, we would prefer to see experience with dynamic languages (Ruby, PHP, JavaScript (Node)), MVC (ish) web architecture, and experience in two of the following: SQL, modern front-end JavaScript (React preferred), or automated testing (TDD a plus).

  • You agree with and would be pleased to work under our development mission statement and guiding principles.

  • You can reason about software, algorithms, and performance from a high level.

  • You are committed to automated testing in your software development process.

  • Strong oral and written communication skills

  • Self-motivated and have strong organizational skills

  • US citizen or ability to work in the United States without sponsorship

  • Bachelor’s Degree in computer science (or similar degree) or ability to demonstrate comparable education & experience

  • 4+ years developing database-driven web applications in a dynamic programming language

  • Languages & Tools on a scale of 1 (novice) to 5 (expert)

  • Proficient (4): Have significant experience working with Python in a web context.

  • Proficient (4): Database Development (SQL, multiple-joins, views, triggers, stored procedures)

  • Competent (3): Common Python libraries: Django, Flask, SQLAlchemy, Celery, Requests, pytest, etc.

  • Competent (3): HTML(5), CSS/SASS, web standards

  • Competent (3): JavaScript, Ajax, JSON, React, etc.

  • Competent (3): Writing unit and functional tests. Believing in a TDD approach is a big plus.

  • Competent (3): Version Control (Git, Mercurial)

  • Competent (3): Networking fundamentals (HTTP, DNS, TCP/IP, etc.)

  • Competent (3): Linux and related tools

Full Job Description & Application Instructions

Above are just highlights. The full job description for both positions are on our website and includes salary information, videos, and instructions on applying:

Apply on StackOverflow Careers