Senior Software Engineer
As a Senior Software Engineer at Uptake you’ll help build and expand a complex analytics platform that is already changing the way large industrial companies manage their assets. Senior Software Engineers are encouraged to work with, and experiment with, cutting-edge technologies in the fields of distributed systems, data ingestion and mapping, and machine learning, to name a few. We strongly promote innovation and collaboration throughout our engineering team, and are committed to helping Senior Software Engineers find the perfect balance of productivity and personal growth.
Responsibilities:
As a Senior Software Engineer, your responsibilities may include, but are not limited to, the following:
Create interactive visualization tools and dashboards
Build a highly scalable framework for ingesting, transforming and enhancing data at web scale
Develop a web services based platform that can grow with the business
Establish automated build and deployment pipelines
Implement machine learning models that enable customers to glean hidden insights about their data
Qualifications:
Bachelor's degree in Computer Science or related field
6+ years experience programming in a modern object oriented programming language
A passion for DevOps and an appreciation for Continuous Integration/Deployment
A passion for QA and an understanding that testing is not someone else’s responsibility
Solid object-oriented programming and design skills
Outstanding programming and problem solving skills
Strong passion for technology and building great systems
Excellent communication skills and ability to work using Agile methodologies
Ability to work quickly and collaboratively in a fast-paced, entrepreneurial environment
Understanding of SQL and noSQL database technologies
Understanding of structure and usage of RESTful web services
Experience with service-oriented (SOA) and event-driven (EDA) architectures
Experience using the full Spring Catalog
Preferred skills:
We value these qualities, but they’re not required for this role:
Masters or Ph.D. in related field
Experience as an open source contributor
Experience with Akka, stream processing technologies and concurrency frameworks
Experience with noSQL solutions: Cassandra, HDFS and/or Elasticsearch
Experience with Data modeling
Experience with Chef, Puppet, Ansible, Salt or equivalent
Experience with Docker, Mesos and Marathon
Experience with distributed messaging services, preferably Kafka
Experience with distributed data processors, preferably Spark
Experience with Angular, React, Redux, Immutable.js, Rx.js, Node.js or equivalent
Experience with Reactive and/or Functional programming
Understanding of Thrift, Avro or protocol buffers
If you think you would be a good fit for this role, and are interested in joining the best engineering team in Chicago, please provide your resume and a cover letter.