Full Stack Web App Developer – Mid-Level

TL;DR: Why Consider This Position?

  • 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 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 recognize 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!
  • Hard requirements: At this time we are only considering candidates who can work in the U.S. without sponsorship and live in Eastern, Central, or Mountain timezones. We'll post to our career notifications newsletter (see careers page) if that policy changes in the future.

Who Are We?

Level 12 is development firm that specializes in building custom software for our customers. We manage the entire process including planning, managing, and building software exactly as the customer needs it. We serve customers in diverse industries including: railroad, automotive, manufacturing, and retail payments. We set ourselves apart by digging into the customer's problem until we can own it and then delivering highly functional software that brings significant value to the customer's organization. That may not sound unique, but the longer we do this, the more we encounter people who have been burned by bad development experiences with other firms. We look for long-term relationships with our customers and have some that go back to 2005. We may not be changing the world, but we are impacting the lives of our customers and their employees. You don't have to take our word for it, checkout some of our reviews by our customers.
Please watch the video to learn learn a bit more about our iterative development process (< 2 mins).

Emphasis on Development Best Practices

Behind the scenes, we are using software development best practices to ensure that the code we deliver is flexible, maintainable, and works well for the user for years to come. We know what it's like to work in a substandard development environment or culture that accepts or maybe even promotes practices that kill developer productivity and enjoyment. We work hard at promoting development best practices and ingraining them into our culture. If you come work for us, you can look forward to:
  • All projects managed in a Git
  • Development workflow using GitHub for pull requests, issue management, code coverage (using CodeCov), CI integration (using CircleCi), etc.
  • Developer friendly project setup: all our projects can be run locally on a developer's machine.
  • Test-centric development methodology:
    • Asking "how can we test this" is ingrained into our engineering and development workflow.
    • We have Continuous Integration (CI) running for all of our projects for at least the backend code (Python mostly) and some of the projects also run the JavaScript tests in CI.
  • A focus on Agile Principles while not being enslaved to them.
  • A openness to changing our processes and using new technologies when those changes add value to Level 12 and/or our customers.
If you'd like to learn more about what makes us tick, our Chief Executive Developer (CED) gave a talk on the importance of CI and automation in an agile software development process (embedded video) and has given other talks and presentations on various topics.

Opening for Full Stack Web Developer

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.

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!

Mid-Level Developer

The position we have open is for a Mid-Level Developer. Mid-Level Developers usually have 3-6 years relevant experience and meet most of the following requirements:

  1. Technical Skills
    • Are able to write modular, well-tested, and maintainable code
    • Know at least one software development domain (SQL, Front-End, Back-End) really well
    • Are able to work on multiple projects as needed
  2. Leadership
    • Contributes to the design of customer projects with direction from the team lead and 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
  3. Code quality
    • Leaves code in substantially better shape than before
    • Fixes bugs/regressions quickly
    • Monitors overall code quality/build failures
    • Creates tests religiously and encourages the team to do the same
    • Proactively identifies and reduces technical debt
    • Identifies architectural issues that may hinder development, may need assistance from the team solving such issues
  4. Communication
    • Contributes to the code review process
    • Able to communicate clearly on technical topics
    • Keeps issues up-to-date with progress
    • Helps guide other merge requests to completion
    • Is able to participate in conversations with customer contacts when needed
  5. Performance & Scalability
    • Competent at writing production-ready code with little assistance
    • Is able to identify potential performance bottlenecks
    • Avoids premature optimization

Everything Else

  • General Requirements
    • 3-6 years developing database-driven web applications with (preferably) Python backends
      • Candidates without Python experience may still be considered but we will need to see experience with other 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 (or are willing to be) 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
    • Reside in US Eastern, Central, or Mountain timezones
    • Bachelor’s Degree in computer science (or similar degree) or ability to demonstrate comparable education & experience
  • Languages & Tools on a scale of 1 (novice) to 5 (expert)
    • Competent (3): Have significant experience working with dynamic languages (Python, PHP, Ruby, Node) in a web context.  Experience working with Python is a big plus.
    • Competent (3): Database Development (SQL, multiple-joins, aggregates)
    • 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.)
    • Familiar (2): Linux and related tools
    • Familiar (2): Common Python libraries: Django, Flask, SQLAlchemy, Celery, Requests, pytest, etc.

What We Offer

  • Pay: Somewhere around $80K-$105K.
    • 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
  • 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 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 (5+ weeks total):
    • Everyone receives 3 weeks of PTO/Vacation per year
    • 5-12 sick days per year
    • 9 holidays
  • Healthcare:
    • We provide Health Insurance through an Anthem Silver Blue Access PPO
    • The plan has a broad nationwide network which should give all our employees, regardless of where they live, plenty of options for in-network providers
    • The PPO is matched with an Health Savings Account (HSA) and we match employee contributions to the HSA
  • Flexibility:
    • While we expect a regular schedule during normal business hours (fitting in the window of 8-7 ET), we are pretty flexible when schedule changes are needed for legitimate reasons.
    • It's not uncommon for our employees to take time off during the week and make it up during the evening or weekend so as to avoid needing to use PTO.
  • Telecommuting/Remote:
    • Remote candidates are welcome/encouraged to apply.
    • Many of us work from home frequently, even those of us who are local.
    • We do have an office if you are local and prefer to get away from home to focus on work.
    • We have a remote-first mentality.  That means our tools (Slack, Zoom, GitHub, etc.) and planning are designed to work for a distributed team.
  • 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.

Have Questions?

It's hard (impossible?) to cover everything in a job description. If you have an important question that the job description didn't cover, and you would like it answered before formally applying, please email it to us: hrteam@level12.io

Finally...Ready To Apply?

If you have read all of the above, carefully, and are interested and qualified, then here are your next steps:

  • Please send an email to start the process. We will be notified immediately and we WILL respond to you promptly.
    • Subject: Mid-Level Web Developer Application
    • Body:
      • include a bit about yourself. We hire humans, not robots. 🙂
      • include answers to the "Application Questions" below.
    • Attach: resume, preferably in PDF
  • No cookie-cutter cover letters please!

Application Questions

  1. Based on your experience, how do you grade a developer? That is, what makes the difference between a mediocre developer (1 of 5) and stellar developer (5 of 5). Where do you fit in?
  2. What excites you about programming? What discourages you?
  3. What makes a company's culture enjoyable to you? Not enjoyable?
  4. Based on this job description what do you find most attractive about this position? What do you find less attractive?
  5. Based on our company website and anything else you may know about us, what most attracts you to our company? What concerns you?
  6. Where did you originally find this job posting?
  7. Where do you live (city/state)? Do you want to stay there and work remotely or are you looking to relocate to the Louisville, KY area?
    • Note: as stated above, US Citizenship or ability to work in the US without sponsorship is a hard requirement as is residence in the Eastern, Central, or Mountain time zones.
  8. Are you potentially interested in a 30-90 day contract-to-hire position?
    • We typically evaluate candidates to join our team as full-time W2 employees.
    • However, if your current job situation is such that you'd be interested in working full-time (or close to FT) for 30-90 days while we got to know you better and vice-versa, please answer in the affirmative.  It's not a guarantee we'd offer or even consider you for this arrangement, just good to know for those who are interested.
    • Answering "no" to this question will not have any adverse effect on your application.
Regarding Authenticity: as you answer these questions, please keep in mind that we prefer authenticity over flattery and we are under no delusion that this is the perfect position or we are the perfect company. Likewise, we don't believe there are any perfect candidates. We understand that companies and people are made up of both strengths and weaknesses and the better we understand both your strengths and weaknesses the more likely we are to make a wise hiring decision. Please take time to answer the questions thoughtfully and accurately.

Check your SPAM!!!

If you don't hear from us, check your SPAM folder. Recently, for unknown reasons, some of our emails to candidates have been getting flagged as SPAM. All emails that we send will come from the domain "level12.io".

Our Promise If You Apply

Ever send a resume in only to never...hear...anything? We promise we won't do that. If you follow the directions above, you will receive a response from us within a week or so. If you don't hear anything back from us, you probably didn't follow the instructions above. 🙂

Hiring Process

Our hiring process is outlined roughly below.

But, before you get there, we want to apologize in advance if this process seems...imposing.  We have put considerable thought and refinement into each one of these steps in an effort to make sure our hiring process is as well crafted as our software.  And just like software, hiring is a lot more complex than it might seem on the surface.  Our hiring process is far from perfect (like our software), we are still learning and tweaking, but we want to assure you that each of these steps gives us crucial information regarding you and your development abilities that is essential for helping us to determine if this is a good match.

Consider this: our entire process is less than a week's worth of effort to make sure that where you spend the next 1-5 years of your life is a good fit.  Isn't that worth it?  Keep in mind that we have deliberately structured our process so that the earlier stages require less effort.  Our hope is that if you make it to the later stages of our process, where the time commitment increases, you will have had a chance to get to know us a bit better so you can decide if the time investment on your part is worth it.  We care about your time (and ours) and do our best not to waste it!

Our process:

  1. Evaluate resume and initial email correspondence
  2. Technical skills questionnaire
  3. Skills evaluation: 60-90 minute exercise
  4. Phone interview: 75-90 minutes
  5. Skills tests - phase I: three real-world programming challenges, no trick questions here (paid)
  6. Skills tests - phase II: project-based skills test: we give you a small project description and you build the best app you can (paid)
  7. Skills tests review interview: 2-3 hours on a Zoom meeting with our dev leadership team to get to know you and review your skills test results
  8. On-site interview (1-2 days):
    1. As close to a typical work day as we can get. We just want to see what it's like to work with each other.
    2. Travel expenses paid.

If at any step we don't feel like it's a good match, we'll let you know immediately. We ask that you do the same for us.


We appreciate GitLab letting us copy some of their content for the developer requirements.