Senior Software Engineer in Research

Posted on: December 9, 2019

Location

US-IA-Iowa City | US-CO-Lakewood | US-Remote

Job Description

The Senior Software Engineer, Research is responsible for the understanding research business and analytics processes and leading the design and development of IT solutions to provide ACT internal and external customers concrete value. This role will participate in the Agile process through domain driven design, user story mapping, and lean process analysis to help develop epics, features, and stories that can be effectively implemented and rolled out for production use. There will also be more ad-hoc and “one-off” projects that require rapid development and a flexible approach while maintaining appropriate degrees of quality and rigor. The most significant responsibility for this role will be developing reference implementation patterns and working with our Researchers and Data Engineers on developing, optimizing, and deploying algorithms, machine learning, and analytics on our Spark based BigData platforms.

Job Responsibilities

Typical work-related activities include:

  • Actively participate in design/architectural discussions, grooming user stories, sprint demos, and daily Scrums, to help establish Domain and Behavior-Driven Development (DDD/BDD) approaches and Information Architecture
  • Solve interesting problems by refactoring existing processes / solutions and designing, building, and tuning new ones – specifically targeting our BlueLake and LEAP platform (AWS, Databricks/Spark, Streaming, ETL, ML)
  • Operate in a fast-paced, distributed, and agile team that ships production code every two weeks
  • Support researchers, analysts, and other team members by driving clarity and actionable objectives through ubiquitous language, process definition, information architecture and measurable outcomes
  • Take responsibility for department success through mentoring, coaching, and advising other team members

Candidate Requirements

Qualifications

Education: 

  • Bachelor’s degree in a related area required, preferably in Computer Science, Engineering, Mathematics, Statistics, or Information Systems
  • Master degree highly preferred
  • Or an equivalent combination of education and experience from which comparable knowledge and abilities can be acquired

 Experience:

  • Minimum of five (5) years of software development experience focused on technology solutions for analytics and research
  • Expertise developing applications, algorithms, and data models based on user story maps, user requirements, use-cases, lean processes, and business cases
  • Experience with “Big Data” and “Cloud Computing” solutions required (Databricks/Spark/AWS)
  • Experience working across diverse matrixed team structure where influence without authority is crucial
  • Experience working in an Agile development environment
  • Experience with algorithm development and optimization across languages and associated industry standards

 Knowledge, Skills and Abilities:

  • Programming: Java, Scala, Python 3, R, JavaScript, D3, Angular, HTML, CSS, C/C++, Powershell, pyspark, and/or SQL
  • Big Data: Spark, Databricks, Hadoop
  • Asynchronous workflows and streaming; Kafka, RabbitMQ, SNS/SQS, Kinesis
  • Database: Oracle/PostgreSQL/MySQL/MS-SQL, Mongo, Cassandra, Dynamo, ElasticSearch, Titan, Neo4J
  • Data: XML / XLS, JSON / JSON-Schema / JSON-LD, CSV, XLSX
  • Exposure to Machine Learning, Natural Language Procession, & Deep Learning frameworks (scikit-learn, TensorFlow, PyTorch, NLTK, spaCy)
  • Web Services and ReSTful API design and implementation
  • Ability to work as part of a Scrum team, following SAFe Agile practices; using Jira, BitBucket (GitHub), and Jenkins
  • Familiarity with Domain Driven Design, Behavior Driven Design, and / or Test-Driven Development
  • Experience with User Story Mapping, Use-Cases, Process Mapping, UML, and requirements documentation
  • Educational field domain knowledge and experience a plus
  • Strong communication and collaboration skills
  • Results-oriented and able to work across the organization
  • Demonstrated ability to support, mentor, coach, and advise other team members
  • Ability to develop innovative solutions to technical issues

Apply For This Job
Stay up to date with announcements from ACTNext x