As a Senior Software Engineer at 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