Who we are
We're Best Practical Solutions, a small software company located in Somerville, MA. We build software and sell support, training, consulting, and custom development services. Our flagship product, RT (Request Tracker), is the premier open source issue tracking system. Our secondary product, Request Tracker for Incident Response (RTIR) is the leading open source incident handling system for computer security teams and is widely deployed across security, academic, and government agencies. We've been around since 2001 and are entirely self-funded.
We think Best Practical is an awesome place to work. Our jobs are enjoyable, challenging, and rewarding, with talented coworkers who know how to have fun.
Real-world problem solving
At Best Practical, we solve real-world problems with a system that is essential for our customers. For many of our customers, RT receives all of their support email, making it the first point of contact for their customers, and much of that customer contact comes in as email. We've seen some crazy samples of email from "the wild" and we need to make it work since RT can't drop a customer contact.
RT sits in the middle of a complex stack of dependencies, many of them also open source, like Linux OSes, Apache, MySQL, Postgres, and a bunch of Perl code from CPAN. When you work at Best Practical, you learn about the entire internet ecosystem by troubleshooting OS issues, packaging systems, web servers, MTAs, databases (MySQL, Postgres, Oracle), and Perl code at the core of it. We're able to work closely with the groups that support many parts of this ecosystem and often solve issues with them to keep things running smoothly. Our work makes us experts in how the internet works, from web servers to email.
As an open-source solution deployed on customer sites, we're also challenged by heavily modified systems on all sorts of platforms. Customers like the fact that they can modify the RT source code, and we work closely with them to make sure these changes can co-exist with the standard RT distribution. The diversity of platforms, configurations, and customizations brings out the best CSI skills in our team as we work together to solve tough problems, often with limited information.
Being open source also allows us to work in the open on many of the features of RT. Our code is on github for everyone to see. When you work at BPS you're building your credentials as an open source programmer, not working on some small section of code locked away where no one will ever see it.
Our clients are businesses, universities, governments, and organizations of all sizes, but RT is used by many more people than just our customers. The user and developer community is active and busy every day. We jump in and engage with our mailing lists and IRC channel, lending advice, triaging bugs, fielding pull requests, and hashing out desired features, all with people who want to make RT better.
A voice in the company
We're not afraid to speak up. Opportunities abound for every employee to voice their opinions which influence product decisions, future directions, and the beer in the fridge. Rather than dictate what must be done, we try to get everyone talking and collaborate on a solution.
Who we're looking for right now
About the job
We are looking for a motivated, customer service oriented engineer to participate in all aspects of the software development cycles including requirements gathering, design, development, implementation, upgrades, maintenance and documentation. You will be responsible for ensuring that new or upgraded systems are fully deployed and functioning per the clients specification. You will also design and code new functionality or add new functionality to our products to add new features. Other responsibilities will include debugging issues and correcting defects reported by our users, testing new releases and updating code to address errors and overall performance. We work in a very dynamic and fast paced environment so you will need to be flexible to handle a consistent variety of things on a daily basis.
You will be working from our office in Somerville, MA. The hours are somewhat flexible (East or West coast business hours), and we all telecommute some of the time...though we work from our office in the heart of Davis Square, Somerville on most days. While we do a fair amount of our collaboration in-person, you should also be comfortable using email and instant messaging to coordinate and get work done, as we have a few employees in other parts of the globe.
You should be a self-starter who has 3+ years experience with Perl, as well as some experience with at least a few of the following buzzwords:
- Open source development practices
- Distributed source control (git, branching, patches)
- Test driven development (smoke testing, Test::More)
- User interface design (HTML, CSS)
- Documentation (user-facing, API)
- SQL databases (MySQL, PostgreSQL, Oracle, SQLite)
- Optimization, profiling and debugging
- UNIX systems administration (web servers, mail servers)
It's ok if you don't know everything out of the gate but you should be able to learn on the fly and be comfortable asking questions before you get in over your head. Being vocal is a really important quality and being able to manage competing priorities with the help of your colleagues and project manager is key. RT is a large codebase to dive into, so you should be prepared to work with a project that's too big to hold in your head all at once. If you want to see what you'll be getting yourself into, you can find all of our open source code on github.
How to apply
Please send something approximating a cover letter, a resume in plain text, HTML or PDF, and a sample of some code you've written to firstname.lastname@example.org. If you're involved in open source development of one kind or another, please tell us about it. If you have a CPAN ID tell us what it is; we won't consider applications without some sort of code example to look at. We'll be paying particular attention to the readability, comments, and tests.