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!Responsibilities
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:
- 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
Amazon Web Services
Scrum (Software Development)
Extensible Markup Language (Xml)
Hyper Text Markup Language (Html)
Java (Programming Language)