What is a life of a machine learning engingeer is like?
I have an interest to work as a software enginner and focus on areas like artificial intellgence and machine learning. However, I am wodering what specific tasks would an engineer do.
Archuleta recommends the following next steps:
- collaborate in order to find creative solutions
- they are passionate about learning and exploring new ways of doing things, new ML libraries
- read and write science academic papers
- write code
- find datasets in order to test their algorithms (or generate artificial datasets)
adding to what was already said: as a ML engineer, you also have to do stakeholder management to a certain degree. In this case, stakeholders are managers and other decision makers (product manager etc.) inside the company. Sometimes it is forgotten that you have to ensure that what you are coding also fulfils the stakeholders expectations; and sometimes you might disagree with them. A book I can recommend is "Designing Machine Learning Systems" by Chip Huyen. In the beginning, she describes the different roles and responsibilities.
A ML Engineer can mean 2 separate things from an industry viewpoint and the role of a ML engineer usually differs across companies. Let me talk about these 2 things briefly first -
1. You have a business problem at hand that can leverage ML. You have to figure out a working solution to this problem in form of a ML model by running various experiments. You interact more with features, frameworks such as PyTorch (and many others), and more research-based-implementation concepts such as neural networks. You can be working on different types of problems - predictive modeling, time-series forecasting, NLP, Computer Vision, etc. You may even find yourself doing some "Data Science" work, specifically running SQL queries, interacting with the databases and data engineering aspects, etc.
2. You have a ML model at hand that works well and will solve the given business problem. But how do you make this model easily usable and adoptable by the company's use-cases? You will have to figure out the correct infrastructure and the corresponding engineering effort to serve this model to consumer-facing use-cases, and ensure it's scalability and availability. You will be mainly focusing on finding ways to make the model development processes quicker, setting up inference services, and contributing to maybe a broader data or ML platform.
Now, as a general trend, a small(er) company would want you to wear several hats and probably do (almost) all of the tasks mentioned above. A large(er) company, instead, may have these 2 roles separated out to a great extent, and would be looking for a specialized engineer to only do a specific set of tasks. It really varies a lot for each company, so you would want to go through job descriptions in more detail to understand what that particular job is expecting from a candidate.
That said, it would also be helpful for you to figure out which aforementioned path you want to take, and look for such opportunities.