Icon hamburger
What job do you want?
Apply to this job.
Think you're the perfect candidate?
Apply on company site

You’re being taken to an external site to apply.

Create an account to get recommended jobs that match your resume and apply to multiple jobs in seconds!
On the next page, you'll build a resume in 3 steps thanks to our AI technology
8-15 characters
Contains Number
Contains Lowercase
Contains Uppercase
Contains Special Character

You’re being taken to an external site to apply.

Enter your email below to receive job recommendations for similar positions.

Senior Software Engineer, Research

ACT Iowa City, IA Full-Time
Apply on company site

ACT is a nonprofit organization helping people achieve educational and workplace success.  Our programs are designed to boost lifelong learning in schools and workplaces around the world. Whether it's guiding students along their learning paths, enabling companies to develop their workforce, fostering parent, teacher, and counselor understanding of student progress, guiding job seekers toward career success, or informing policymakers about education and workforce issues. ACT is passionate about making a difference in all we do.

Learn more about working at ACT at act.org!


Please note this role can be filled in Iowa City, IA; Lakewood, CO; or Remote.

Are you expert at taking Research algorithms and data structures from prototypes to production solutions?  

Do you want to help people learn and navigate their educational and professional careers to success?  

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 \u201cone-off\u201d 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.

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 \u2013 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


  • 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


  • 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 \u201cBig Data\u201d and \u201cCloud Computing\u201d 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

Recommended skills

Amazon Web Services
Scrum (Software Development)
Extensible Markup Language (Xml)
Hyper Text Markup Language (Html)
Java (Programming Language)
Apply to this job.
Think you're the perfect candidate?
Apply on company site

Help us improve CareerBuilder by providing feedback about this job: Report this job

Report this Job

Once a job has been reported, we will investigate it further. If you require a response, submit your question or concern to our Trust and Site Security Team

Job ID: 2019-1586


For your privacy and protection, when applying to a job online, never give your social security number to a prospective employer, provide credit card or bank account information, or perform any sort of monetary transaction. Learn more.

By applying to a job using CareerBuilder you are agreeing to comply with and be subject to the CareerBuilder Terms and Conditions for use of our website. To use our website, you must agree with the Terms and Conditions and both meet and comply with their provisions.