Software Engineer JOB DESCRIPTION: The Software Engineer will design and develop complex new software products, or make significant enhancements to existing software. The ideal candidate is a hands-on developer with significant experience in developing scalable data platforms, with experience in business intelligence, analytics, data science, and data products. They must have strong, firsthand technical expertise in a variety of big data technologies and the proven ability to fashion robust scalable solutions that can manage large data sets. They must be at ease working in an Agile environment with little supervision. This person should embody a passion for continuous improvement and innovation. QUALIFICATIONS: 1. Bachelor's Degree in Computer Science, Electrical or Computer Engineering or a related technical discipline, or the equivalent combination of education, technical training, or work/military experience. 2. 8 to 10 years of related software development experience. REQUIRED KNOWLEDGE/SKILLS: 1. Hands-on experience with modern programming languages including Java, Java Script, Python, and other non-relational databases. 2. Hands-on experience working with Elastic Search, Mongo DB, Docker, Kubernetes, Rabbit MQ, and NiFi. 3. DevOps experience building and deploying cloud infrastructure with technologies like Ansible, Cloud Formation, Puppet, etc. 4. We are looking for a candidate with hands-on experience and is familiar with one or more of the following software/tools: * Experience with monitoring technologies like ELK, Prometheus, Grafana, etc. * Experience with building APIs and services using REST, Hadoop, Map Reduce, Spark, etc. * Experience with build automation technologies like Maven, Jenkins, etc. * Experience with Linux (preferred) or Windows operating systems. KEY RESPONSIBILITIES: 1. Design and develop a processing platform using various configuration management technologies. 2. Provide ongoing maintenance, support, and enhancements in existing systems and platforms. 3. Troubleshoots complex problems and provides customer support for software systems and application issues. 4. Provide recommendations for continuous improvement. 5. Work alongside other engineers on the team to sustain and advance our organization's capabilities.