Full Stack Developer, Ballista Redistricting

About Siege Analytics

Siege Analytics is a boutique strategic consulting firm with expertise in geography. We are what you can call a where-first firm – we understand that people who are otherwise similar but live in different places have very different lives, and take that into account in everything we do.  Our job is to help you reach people, make sense of what they tell you and act on it in every part of your work.

In this work, you can’t easily separate analysis, technology, strategy or staff. Personnel is not just policy, it’s also perspective and capability.  We pride ourselves on being multi-modal. There’s nobody here who can’t explain a decision made about a survey, design an experimental framework for a voter analysis, manage a project, architect software and execute it.  We do it all.  We excel in :

  • visual storytelling – showing how the whereness of a problem determine it’s solution
  • polling – helping you understand the people you need to persuade and helping you do it
  • spatial engineering – building software that helps you do amazing geographical work
  • boundary estimation – understand where people live and how by reverse engineering boundaries

Everyone on our team can and will do everything. Nobody is above pulling a sample, making a map for publication, cleaning data, writing development and production code or reviewing the code of team-mates.

About Ballista

We’re making software for redistricting.  Redistricting is the common term used to describe the process by which the boundaries of political districts are arranged, analyzed and decided.   The most visible redistricting happens every ten years in the aftermath of what’s called “the decennial Census”.  The Census is the process by which the national government determines who lives where, and, as such, how representation in districts should change accordingly.  The software that you need to use to do this work is expensive, cumbersome to use and difficult to use, but it needn’t be.  We’re making software with PDI to make it easier for smart, engaged people to do this work.

(Slides, if you want them.)

Where You Fit In

We’re looking for a contractor who would call herself a Front End or Full Stack Developer or Engineer. (Preference to Engineering over Development.). Our understanding of the term “Full Stack” is not that you are excellent in every level of the problem, but that you know how to find answers to your questions in areas relating to:

  • JavaScript and CSS – How does something in the browser get formed and how do people interact with it? We tend to use
  • Python –  How does code executed on the server solve problems that are best solved at that level of computation?
    • Django/GeoDjango
    • Designing REST API’s and working with existing ones
    • What tasks should be done with a scripting language rather than a database?
  • Database – How should information live inside a database or databases and made available to a scripting language?
  • Servers – How do we configure and make use of software on centralized computers that administer and perform tasks?
    • Ubuntu
    • Shell Scripting
    • Other such things
  • Devops – How do we tie this all together in ways that make it possible to make software and let it function?
    • Docker
    • AWS/GCP
    • Continuous Integration/Continuous Deployment

Nobody can do everything and we don’t expect you to.  What we’re looking for, in this case, is someone who is not terrified of any of these things and able to at least ask questions or describe problems in most of them.

What You’ll Be Working On

You’ll be working on building the interactions between user and software to

  • build districts out of atomic data units
  • analyze districts
  • move data in and out of the software
  • manage users and their saved plans of districts

This means that you’ll be working primarily in React and OpenLayers. We’d be eternally grateful if you are experienced and comfortable with other OSGeo technologies, like GeoServer.

Working Conditions

We are a mostly remote team with staff in

If you want to work with one of us, you’re welcome to join us, but you are not required to.

You are free to work on the hours that you want to work provided that you are responsive and reachable when necessary.

We are a small team and a culture of professionalism matters a lot. You don’t need to denigrate anyone to have fun, and if sexism, racism, etc. are your idea of kidding around, this is not a team for you.


Send an email with relevant information to dheeraj AT siegeanalytics DOT com or erik AT siegeanalytics DOT com with what you think is relevant information. It can be a résumé or LinkedIn profile, a link to interesting work or portfolio that you think is relevant or even just an explanation and introduction to yourself: why do you want to work on this problem?