• Senior Software Engineer

    Job Locations US-CO-Lakewood | US-Remote
    Posted Date 4 weeks ago(7/19/2018 10:58 AM)
    Job ID
    2018-1294
    # of Openings
    1
    Category
    Information Technology (Development)
    Travel
    Up to 25% Travel
  • Overview

    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

    The Senior Software Engineer is responsible for developing ACT’s next generation products and services. ACT is a mission-driven, non-profit organization dedicated to helping people achieve education and workplace success. ACT primarily uses AWS, and the best software architecture designs that AWS makes possible. The focus of this position is ACT’s Constructed Response Automated Scoring Engine (both the libraries and tools used by data scientists who train the engine, and the API used to score constructed responses) development using Python, scikit-learn and many other libraries, but there will be opportunities to work on other applications and use various Amazon Web Services. Ability to quickly learn and apply new services, architectures, programming languages, frameworks, processes, and tools is essential, but not sufficient. Passion for learning and continually improving as a software developer, great teamwork, communication and leadership skills, and appreciation for elegant solutions are also needed for success in this position.

    Qualifications

    Typical work-related activities include:

    • Work with a team that uses Scrum based process to deliver software product increments.
    • Write code including unit tests, and follow the established processes (including branching, pull requests, code reviews, merging, etc.) to deliver it to the appropriate Bitbucket Git repositories.
    • Implement model training framework (calibration), item configuration tools, model serving system (prediction), secure API for scoring constructed responses, dashboards, etc. of the Constructed Response Automated Scoring Engine (CRASE)
    • Implement front-end UIs (usually single page applications implemented with modern JavaScript frameworks that access the back-end APIs.)
    • Implement back-end APIs (usually REST APIs implemented with Amazon API Gateway, Lambda and other services like DynamoDB, RDS, SQS, etc.)
    • Actively participate in process improvement, technology selection and architecture design within area of expertise. Recommend tools and standards to ensure software quality and performance standards.
    • Actively participate in team success through mentoring, coaching and advising other team members.
    • Work with DevOps to automate building environments in AWS, and deploying code and configuration.
    • Collaborate with Scrum team to support all SDLC activities. This includes activity in consideration of product scalability, reliability, consistency, and performance, as well as leveraging static code analysis tools, and how we support production monitoring.

    Minimum Qualifications:

    Education:

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

    Experience:

    • A minimim of  5 years of software development experience is required
    • Significant experience with Python and scikit-learn is required
    • Experience with JavaScript is preferred
    • Experience with Java is preferred
    • Experience working in an environment that uses an agile software development process is preferred
    • Experience with AWS is preferred
    • Experience with Git version control and GitFlow is preferred

    Knowledge, Skills and Abilities:

    • Knowledge of Data Science, Machine Learning and Artificial Intelligence concepts is required
    • Knowledge of Natural Language Processing concepts is required
    • Knowledge of JSON and XML is required
    • Knowledge of REST and The OpenAPI (Swagger) Specification is required
    • Knowledge of relational and NoSQL databases (MySQL, DynamoDB, MongoDB, etc.) is required
    • Strong communication and collaboration skills are required
    • Self-motivation and results-orientation are required
    • Demonstrated ability to learn quickly, and write high quality code is required
    • Knowledge of HTML and CSS is preferred
    • Knowledge of a modern JavaScript framework (React) is preferred
    • Knowledge of static code analysis tools (SonarQube, HPFortify, Crucible, etc.) is preferred
    • Knowledge of production monitoring solutions (NewRelic, Tivoli, App Dynamics, SCOM, etc.) and synthetic transaction scripting is preferred
    • Knowledge of test automation frameworks (Robot) is preferred

     

     

    Options

    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share on your newsfeed

    Connect With Us!

    Not ready to apply? Connect with us for general consideration.