New opportunity

Machine Learning Software Engineer 1

Crowe Advisory LLC · Chicago, United States of America

About this role

Crowe’s Data Science Toolkit Team develops reusable tools, libraries and services for machine learning products. The engineer works on projects lasting approximately 1–6 months, identifies common problems across projects and helps data scientists move models from prototype to production.

Responsibilities

  • Build and promote shared libraries and services; identify opportunities to reuse code and improve existing tools.
  • Support projects across the development lifecycle, including client intake, data exploration, feature development, bug fixes and software releases. Execute assigned tasks with some direction while meeting team code-quality standards.
  • Write maintainable, documented code and comprehensive tests; find edge cases and potential bugs. Contribute through pair programming, code reviews and knowledge sharing.
  • In Crowe’s finance and accounting environment, recognize and escalate risks and support assigned mitigations.

Required capabilities: Programming and software engineering experience; knowledge of algorithm design and data structures; comfort with Linux-based systems and using Docker to develop and deliver RESTful APIs. The role requires autonomy, adaptability, attention to detail and communication with engineers, data scientists and nontechnical stakeholders. No overall years-of-experience requirement is specified.

Preferred or distinguishing qualifications: Python experience is preferred because the team primarily uses it. Familiarity with a lower-level language such as C/C++ or Go, and experience with cloud computing, distributed systems or CI/CD, are pluses. Curiosity about learning algorithms or data preprocessing, continuous learning and a relevant educational, research or hobby background are also valued.

This is a full-time, 40-hour-per-week role with a stated salary estimate of $62,000–$100,000 per year; compensation varies by circumstances and location. The posting identifies Chicago and other U.S. office locations. Crowe offers a comprehensive total rewards package and career coaching. Applicants must be able to verify U.S. work eligibility; Crowe is not sponsoring work authorization at this time. Applications are accepted on an ongoing basis.

For full details about this role, click “Apply on company site” to view the employer’s original posting.

Skills for this role

Machine learningPythonCC++GoAlgorithm designData structuresLinuxDockerRESTful APIsCloud computingDistributed systemsCI/CDData explorationData preprocessingSoftware testingCode reviewPair programmingTechnical communication

Your skill match

Checking your profile…

YOUR NEXT STEP

Get interview-ready for this role

A focused preparation guide, built around this job’s responsibilities and requirements.

✦ AI-generated guide
Preparation suggestions, not the employer’s actual interview questions. Always check the original posting for current requirements.
01

Understand the role

What matters most

  • Build reusable ML tooling

    The Toolkit Team develops libraries and services for common problems, identifies opportunities in existing code, and promotes adoption across projects.

  • Move models into production

    The role collaborates with data scientists to turn prototypes into production machine learning products. The posting specifically calls for Linux, Docker, and RESTful API familiarity.

  • Contribute across the product lifecycle

    Assigned work can span client intake, data exploration, feature development, bug fixes, and releases. The engineer executes tasks with some direction while supporting projects that typically last 1–6 months.

  • Make tools dependable and maintainable

    The posting emphasizes edge cases, potential bugs, clear documentation, comprehensive tests, and code that meets team standards.

  • Collaborate and surface risks

    The engineer communicates with technical and nontechnical stakeholders, contributes through pair programming and code review, and recognizes and escalates risks in a finance and accounting environment.

Likely challenges to think through

  • Balancing reuse against immediate delivery

    Preparation hypothesis: A tool designed for multiple projects may take longer to build than a project-specific fix. Prepare to explain how to identify a genuinely common problem, choose a small reusable interface, and avoid premature generalization.

  • Hardening a prototype without slowing iteration

    Preparation hypothesis: Moving a data scientist’s model into a service may expose edge cases and operational needs absent from the prototype. Prepare an example of adding tests, documentation, and a Docker-based API while keeping changes manageable.

  • Switching contexts while retaining quality

    Preparation hypothesis: Work across 1–6 month projects and different lifecycle stages may compete for attention. Prepare to describe how you would clarify an assigned task, communicate trade-offs, and escalate a risk rather than quietly rushing a release.

03

Practice your answers

Technical practice

How would you identify a problem worth solving with a shared toolkit rather than project-specific code?

What to coverThe Toolkit Team is tasked with finding common problems across projects and opportunities in the existing codebase. Preparation suggestion: explain how you would compare use cases, assess likely reuse, and avoid making a small one-off task unnecessarily general.

How would you design a reusable library that data scientists can adopt across projects?

What to coverThe role involves developing libraries and championing their adoption; the team mainly writes Python. Preparation suggestion: discuss a clear interface, documentation, tests, and how you would gather feedback without assuming every project has identical needs.

What would you check when helping move a machine learning model from prototype to production?

What to coverThe posting explicitly calls for collaboration with data scientists on this transition. Preparation suggestion: cover reproducible inputs and outputs, integration with a service, testing, and how you would resolve gaps between a prototype and a maintainable product.

How would you approach data exploration for a new machine learning project?

What to coverData exploration and support for client intake are stated lifecycle duties. Preparation suggestion: describe how you would clarify the problem, inspect data quality and representativeness, and communicate findings before committing to feature development.

How would you choose and validate a data preprocessing approach for a reusable tool?

What to coverThe posting values curiosity about preprocessing strategies and robust, integrated software solutions. Preparation suggestion: discuss assumptions about input data, consistency between development and use, and tests for missing or unexpected values.

How would algorithm and data-structure choices affect a shared tool used by multiple projects?

What to coverKnowledge of algorithm design and data structures is a stated capability. Preparation suggestion: compare plausible choices using correctness, time and memory costs, and maintainability rather than optimizing without evidence.

How would you develop and deliver a RESTful API using Linux and Docker?

What to coverThe posting calls for comfort with Linux-based systems and familiarity with Docker for RESTful APIs. Preparation suggestion: walk through an API contract, containerized dependencies, local verification, and how you would diagnose a service that works locally but fails in its container.

How would you test a toolkit library for edge cases and potential bugs?

What to coverThe role emphasizes comprehensive tests, edge cases, maintainable code, and clear documentation. Preparation suggestion: distinguish focused unit tests from integration tests and explain how failure cases and documentation would reflect the library's intended behavior.

How would you investigate a bug in a mature machine learning product before a software release?

What to coverBug fixes and work within a release cycle are listed responsibilities. Preparation suggestion: describe reproducing the issue, narrowing its cause, checking for regressions, and communicating the scope of a safe fix.

Where might CI/CD, cloud computing, or distributed systems help a toolkit service, and when would you avoid added complexity?

What to coverThe posting lists experience in these areas as a plus, not a requirement. Preparation suggestion: discuss one familiar example and weigh its operational cost against the service's actual delivery or scaling needs.

Behavioural practice

Tell me about a time you balanced investigating a problem with delivering an assigned software task.

What to coverThe role calls for managing time between research and tool development while executing tasks with some direction. Preparation suggestion: use a real situation, the priorities and actions you chose, and the result.

Tell me about a time you explained the same technical issue to different audiences.

What to coverThe posting names engineers, data scientists, and nontechnical business stakeholders as audiences. Preparation suggestion: describe the situation, how you adjusted your explanation or sought clarification, and what resulted.

Tell me about a time new requirements made you rethink a technical approach.

What to coverAdaptability and context switching are emphasized for toolkit work. Preparation suggestion: give a real example with the original situation, the change, your response, and its result.

Tell me about a time you helped a teammate through pairing, code review, or knowledge sharing.

What to coverSupporting teammates through these practices is an essential job function. Preparation suggestion: explain the situation, your specific contribution, and the outcome without claiming sole credit for shared work.

Tell me about a time you recognized a project risk and escalated it appropriately.

What to coverThe role requires recognizing and escalating risks in a finance and accounting firm and supporting assigned mitigations. Preparation suggestion: describe the situation, what you raised and to whom, the actions you took within your responsibility, and the result.

02

Sharpen your knowledge

Topics to prepare

  • Designing for reuse

    Posting: The Toolkit Team develops generalizable libraries and services for problems shared across machine learning projects. Suggested exercise: Compare two similar project requirements and explain what belongs in a shared component versus project-specific code.

  • Algorithms and data structures

    Posting: The role calls for knowledge of algorithm design and data structures. Suggested exercise: Choose a data structure for a feature-processing task and explain the trade-offs in runtime, memory and maintainability.

  • Prototype-to-production boundaries

    Posting: The engineer collaborates with data scientists to move models from prototype to production. Suggested exercise: Sketch the inputs, outputs and failure cases of a service that exposes a model, then identify which prototype assumptions need checking.

  • Development lifecycle and risk

    Posting: Work spans client intake, data exploration, feature development, bug fixes and releases; the engineer must recognize and escalate risks in a finance and accounting firm. Suggested exercise: Walk through a hypothetical change from intake to release, naming a risk you would escalate rather than resolve alone.

  • Machine learning and preprocessing context

    Posting: Curiosity about learning algorithms or data preprocessing is a distinguishing quality, not a stated requirement for a specific technique. Suggested exercise: Explain how one preprocessing choice could affect a model’s inputs and the software serving it.

Skills to revise

  • Build a reusable Python library

    Posting: Programming is required, Python is preferred, and the team builds shared libraries. Suggested exercise: Implement a small reusable feature-processing function in Python with a clear interface and documentation; explain how another project could adopt it.

  • Deliver a RESTful API with Linux and Docker

    Posting: Comfort with Linux-based systems and familiarity with Docker for developing and delivering RESTful APIs are required. Suggested exercise: Run a small API in Docker on Linux, send valid and invalid requests, and explain how you would diagnose a failed response.

  • Test and document edge cases

    Posting: The role emphasizes maintainable, documented code, comprehensive tests and finding potential bugs. Suggested exercise: Add tests for empty, malformed and boundary inputs to a small library function, then document its expected behavior.

  • Trace a change through a release

    Posting: Assigned tasks can include data exploration, feature development, bug fixes and software releases. Suggested exercise: Inspect a sample dataset, make one small feature change, reproduce and fix a bug, then write a brief release note describing the change and remaining risks.

  • Review and explain code

    Posting: The engineer contributes through pair programming, code review and knowledge sharing, and adjusts explanations for technical and nontechnical audiences. Suggested exercise: Review a small code change for correctness and reuse, then explain the same feedback to an engineer and to a business stakeholder.

04

Your preparation checklist

  • Prepare a reusable-tool project walkthrough

    The Toolkit Team builds libraries and services for problems shared across ML projects. Prepare a concise example, if available, showing the common need, your design choices, how others used the result, and what you would improve.

  • Sketch a prototype-to-production design

    The role helps data scientists move models into production. As a practice exercise, outline how you would package a model behind a RESTful API using Linux and Docker, including inputs, failure cases, and release considerations.

  • Gather evidence of core engineering skills

    The posting calls for programming, algorithm design, and data structures; Python is preferred. Select code or examples you can explain, including why you chose a data structure and how you evaluated trade-offs. Treat cloud, distributed systems, CI/CD, and lower-level languages as pluses, not requirements.

  • Show how you protect code quality

    The role emphasizes maintainable, documented code, comprehensive tests, and edge cases. Prepare a small code sample or account of a bug fix that shows your tests, documentation, review feedback, and resulting changes.

  • Rehearse a cross-functional project account

    The work can span client intake, data exploration, features, and releases. Prepare an example of adapting to changing requirements and explain it at both an engineering level and a level suitable for a nontechnical stakeholder.

  • Prepare a risk-escalation example

    The posting asks engineers in a finance and accounting setting to recognize and escalate risks and support assigned mitigations. Prepare an example, if available, that distinguishes what you noticed, whom you informed, and what you did within your responsibility.

  • Write questions for the Toolkit Team

    Ask how the team identifies reusable problems across its 1–6-month projects, encourages adoption of shared tools, collaborates with data scientists, and defines code-quality expectations for this role.

AI-generated from the job information · Prepared Sep 30, 2026 (UTC)Useful preparation, not a guarantee of eligibility or an offer.

Availability last checked: Nov 4, 2026. Status can change after a check; confirm on the employer’s website. Report an issue · Our checking policy

KEEP EXPLORING

Similar AI jobs

Related skills and specializations in United States of America. Matched to this role, not your profile.

Explore more jobs
Finding similar opportunities…