Who are we?
We're Spantree, a small and nimble boutique consultancy based mostly in Chicago. We're looking for another smart person to join our team in the West Loop. This candidate should enjoy learning new things and solving hard problems. Ideally, we're looking for a broad-range generalist with deep expertise in at least one area.
We work quite a bit with OSS and we're not shy about jumping into other people's code to figure things out. We constantly hunt for smarter ways to do things, so we're often experimenting with emerging tech with little or no documentation. You should be motivated to submit pull requests and hunt down project committers on Twitter and IRC when you're stuck.
Who are you?
- A nice person
- An effective communicator face-to-face, on the phone and over the web
- A pragmatic engineer that can quickly go from problem to solution to working software
- A lazy programmer who leverages test, build and deployment automation wherever possible
- An opinionated teacher of what they know and a humble student of what they don't
- An altruist who wants to participate in open-source projects
Stuff You Should Know
- One or more fun languages: Groovy, Clojure, Kotlin, Scala, Ruby, Python, Elixir, etc.
- One or more boring languages: Java, C#, C++, etc.
- One or more web frameworks: Spring, Rails, Phoenix, Django, Play, etc.
- One or more databases: SQL, NoSQL, NewSQL, we like it all.
- Git, or a colorful excuse for not knowing it.
- The typical software development toolchain: text editors, IDEs, step debuggers, issue trackers, etc.
What do we work on?
Our clients range from small and scrappy startups to large insurance companies. We have about 6 or 7 projects going at any point in time. Historically, most of the stuff we've worked on has not been public-facing: it's either guarded behind the client's firewall, neatly tucked away as a library or jammed into the minds of the developers we've mentored. But we're starting to diversify from "behind-the-scenes" work to more early-stage product development. Our ideal blend is probably 50/50.
Helping people make better decisions is the central theme of most of our projects. This can take the form of a search engine to help people find interesting stuff to do on a Saturday night, a complex workflow management system for evaluating health insurance claims or a matchmaking and scheduling system to help people book face-to-face meetings at conferences.
We're constantly on the lookout for new customers with hard problems to solve; customers on a mission to make life a little easier for their developers, their users and the world.
Our (ever-evolving) tech stack
As mentioned before, we are constantly on the hunt for better ways of doing things. Here's a list of some of the technologies, in no particular order, which we commonly work with. We're not married to them, nor do we claim to be experts on all of them, but we're looking for people interested in them.
An awesome little programming language with support for mixed typing that compiles down to Java bytecode
A relatively young language on the JVM making
A versatile language that is quickly becoming known for building powerful data solutions
An opinionated framework that blends quick prototyping and powerful integrations
A RESTful search service that runs on top of Lucene, with rich support for full-text search and deep analytics/aggregations
Enables portable, lightweight containers for just about anything. Leaves virtualization in the dust
A distributed scheduling system that allows you to treat a datacenter as one big computer, distributing batch jobs and long-running processes across a cluster
A distributed system for automating deployment, scaling, and management of containerized applications
A Devops-friendly automated deployment and provisioning toolkit
The ubiquitous cloud platform that powers a fair chunk of the modern web
A rising competitor to AWS with excellent Kubernetes integration
A highly-efficient rules engine and complex event processing toolkit, allowing our team to compose complex business logic declaratively and react to changing knowledge over time
A powerful tool used to automate browsers for scraping, automation, and testing
A map-reduce oriented distributed processing framework
A wicked fast, stream-friendly, simpl(er) data processing toolchain
PostgreSQL, MySQL, DB2 and Oracle mostly
A non-relational document database
A high-performance, transactional graph database supporting highly connected data and complex querying
A durable distributed caching system
Highly performant, persistent and serializable messaging broker originally written by the folks at LinkedIn
A high-throughput, language-agnostic messaging system that supports complex routing
A sane and friendly ETL and batch processing pipeline for the JVM
A minimalistic interface between Clojurescript and React.js powering blazing-fast client-side applications
An innovative framework to build mobile apps that blends rapid prototyping with solid performance
A platform powering Android phones, tablets and embedded systems, providing native support for Java and other JVM languages
A platform powering iPhones and iPads, providing native support for Objective-C and Swift