Discover more from Matt Rickard
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.