The Value of Software Generalists
We’ve always known that software engineering skills are key to unlocking the power of ML. Some large companies (FAANG) have gone as far as adopting a preference of hiring software engineers and teaching them ML to work on applied problems (rather than the reverse)
LLMs really put the elephant in the room. All of a sudden the ML is abstracted away and the jobs to be done are design, engineering, UX, etc. Yes LLMs/NLP are only a subset of ML, but seems like a tipping point with respect to how people think about skills.
– Hamel Husain
A familiar story: taking software engineering's best principles and injecting them into auxiliary technical stacks – the modern data stack (data observability, versioning, orchestrators rebased on Kubernetes), the machine learning stack (cloud-native distributed training and inference on Kubernetes), or even domain-specific "Ops" like FinOps and HRMs (human resource management).
There's immense value in being a software engineering generalist. Knowing how to build and deploy a service. Knowing how to write a script to transform some data. Knowing how to do common tasks like authentication, querying a database, setting up a developer environment, SSH-ing into a machine, compiling software, debugging, and more.