What we do:

Uptake is a Chicago-based predictive analytics SaaS platform provider that empowers major industry leaders to optimize performance, reduce asset failures and enhance safety. At Uptake, we combine our strengths—machine learning, analytics, data visualization and software development—with the expertise of our industrial partners. The result is enormous savings in development time and resources for Uptake’s partners and a proven industrial grade software platform that delivers value to partners and their end customers.

What you’ll do:

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
  • Run large-sized projects for immediate team
  • Create solutions that impact immediate team or the entire department

What we hope you’ll bring to the table:

  • Bachelor's degree in Computer Science or related field
  • 5+ years above average understanding and practical use of programming in a modern 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
  • Above average understanding and practical use of service-oriented (SOA) and event-driven (EDA) architectures

Preferred skills:

We value these qualities, but they’re not required for this role:

  • Masters or Ph.D. in related field
  • Above average understanding and practical use of:
    • Akka, stream processing technologies and concurrency frameworks
    • noSQL solutions: Cassandra, HDFS 
    • Chef, Puppet, Ansible, Salt or equivalent infrastructure provisioning tools
    • Docker, Kubernetes
    • distributed messaging services, preferably Kafka
    • distributed data processors such as Spark, Flink, Kafka Streams, Hadoop
    • Angular, React, Redux, Immutable.js, Rx.js, Node.js, vue + vuex or equivalent
    • Reactive and/or Functional programming
    • Thrift, Avro or protocol buffers
    •  
    •  
    • Applicants must be authorized to work in the U.S.

Uptake welcomes and encourages applications from all individuals, without regard to any prohibited ground of discrimination, including from people with disabilities. Accommodations are available upon request for candidates taking part in all aspects of the selection process.

Apply for this Job

* Required