Software Engineer - Backend
IL, Buffalo Grove
Software Engineer – Backend
*Looking for various skills levels and years of experience
Buffalo Grove, IL
OBJECTIVE OF ROLE
Your objective will be to build and support robust tools and applications that support our business. To be successful in this role you must be the kind of software engineer who can produce fast, space and memory efficient code. We have endless data being shipped around between applications and we cannot afford to fall behind. We don’t care if you taught yourself, attended a boot camp, or have a Computer Science degree; we care that you know your stuff. This means you have superb software engineering fundamentals, produce thoughtfully designed code that is reliable and maintainable. All of that is meaningless without thorough testing, of course.
ESSENTIAL JOB FUNCTIONS
Technologies in Place
- The language you use doesn’t have to match what we use. However, for transparency we use Python almost exclusively on our backend but that doesn’t mean we wouldn’t use the right tool for the job moving forward.
- As you are developing, testing should be at the forefront of your mind. Everything moving to production should have a unit test along with it.
- We also utilize Docker, Kubernetes, Istio, RabbitMQ among others.
- For our databases, we heavily rely on Elasticsearch, MySQL, and Redis. We have a couple other platforms in use throughout our applications.
- Our cloud platform is currently AWS but are transitioning to GCP. It’s important to understand the tools and services offered by a cloud service provider in order to choose the best option for your application.
- git push origin source-control
- Are there others? Yes. Is our stack fun? Yes. Will you get to work on what interests you? Yes. Should you apply? Yes.
- Degree in Computer Science, a related technical or scientific field, or equivalent experience
- 2-6 years’ experience as a software engineer
- Familiarity with continuous integration and build tools
- Mastery of one programming language and working knowledge of at least one other
- Familiarity with multiple frameworks from languages and domains
- Understanding of multiple programming paradigms
- Good grasp of design patterns and anti-patterns