Senior Software Engineer
Technology – Tech
Senior software engineers at Civis amplify the contributions of their colleagues by leading engineering teams or tackling our hardest, riskiest, or most complex technical projects. Depending on interest, roles for senior engineers may focus on team leadership or individual contribution; either way we’re looking for judgment, ownership, and autonomy. At Civis, you will be responsible for making good choices about technical questions, and also about what technical projects are worth pursuing. You will play an outsized role in making Civis a great place to build great software products.
What's great about being an engineer at Civis? We believe in ownership of our work and continuous learning, and we run our team to reinforce those values.
We trust engineers from all over our team to pick the right architecture, library, or framework for the job at hand. They help make decisions about new products in cross-functional design sprints and take quarterly hack weeks to try out new ideas and new technologies. Civis engineers push code to production on their second day and quickly ramp up on projects of increasing responsibility. We’re looking for senior engineers to make a big impact in their first few months.
We want to never stop learning. Everyone has a mentor from day one and tracks their personal development alongside their technical deliverables. We staff projects based on what people will learn, not just who knows it best today. Engineers collaborate across departments with our data scientists and analysts who are not only the best and brightest in their fields, but are also eager to teach and learn from you. Finally, valuing continuous learning also means recognizing that our strongest contributors stand out for their capabilities and not their credentials.
We are smart, fun, and a little bit weird. Does this sound like you?
- 5+ years of experience as a software developer/engineer, including experience taking a leading role in significant technical projects
- Experience building complex web applications with modern languages and frameworks
- Comfort building on top of relational databases and fluency in querying them with SQL
- Love of problem-solving
- An ability and eagerness to constantly learn and teach others
- Graduate degree in Computer Science or related subject
- Significant experience with several of the following:
- Developing large web applications or web services
- Leading technical teams
- Experience with project management and/or UI/UX design
- Python, Ruby, and/or Go (golang)
- Designing and building APIs
- Query optimization, database administration, analytics databases, and/or NoSQL
- Scaling and ensuring reliability of large SaaS applications
- Automated software testing and continuous integration
- Cloud application deployment and monitoring
- Proficiency working with Amazon Web Services (AWS)
- Data visualization for the web (using D3 or similar)
- React or AngularJS
- Statistics and predictive modeling (using tools like pandas, scikit-learn, NumPy, SciPy, R, STATA)
- Political technology and data