We are a small consulting company that specializes in scalability and distributed computing, and we’re looking for engineers that thrive on solving complex problems and finding elegant solutions for an inelegant world. We’re not looking for a particular laundry list of skill sets, but we do expect our engineers to learn new technologies and adapt as needed.
We use and encounter a good mix of languages in our projects to date (Java, C#, PHP, Python, Perl, C, C++, Objective-C) and are keenly interested in emerging languages for the JVM/CLR such as Clojure, and Scala, and Jx (where x is your favorite scripting language). In coming in, you’ll be expected to pick up new technologies from your peers, and also to teach those around you.
What we offer
A small team of very smart people who want to solve problems that no one else can. We strive to create an environment where our creativity and internal motivations sell themselves to clients.
What we expect from you
- A strong sense of pride in what you produce and an innate satisfaction in well-crafted code.
- Deep and fundamental understanding of at least one object-oriented language.
- Understanding of multithreading and the issues that come with it.
- Knowledge of relational databases, and an interest in alternative (“noSQL”) persistence solutions.
- A desire to learn, and the ability to teach others.
- The ability to cut to the chase of customers’ needs and direct them to what they want, even when they don’t know themselves.
- How to design software that scales across multiple machines, or a serious interest in learning it.
- Excitement to learn new technologies and languages
Skills (all are helpful, none are required)
At Thumbtack we are technology-agnostic, but below are the kinds of things we screen for when we hire developers.
- Java (Spring, Hibernate, JSP, SpringMVC, Tapestry, etc.)
- Python, Django
- C#, ASP.NET, COM Interop
- Unix scripting, Perl
- Dependency injection frameworks (Spring, Guice, Castle Windsor, or similar)
- Asynchronous design and message-based software. Knowledge of high-speed message queuing systems like ZeroMQ is a plus.
- Idempotence and transactional integrity
- How to design a REST API
- Framework choices (Spring, Hibernate, iBatis, Django, CakePHP, etc.)
- Understanding internals of data structures, and when to use them for what
- Factors to consider when building distributed systems
- Any non-traditional solutions for problems you’ve encountered
- Test driven development
About Thumbtack Technology
Thumbtack Technology is a software development consulting company specializing in advertising/marketing and media platforms at scale.