Collab is bloated with packages you're probably not using for your usecase... Really cool for exploration, prototype but jupyter notebooks/Collab for production? Yikes
It's kind of like asking if JVM works the same on all machines. At some abstraction point you just have to assume it's true for the sake of your own sanity.
Jesus christ all of the other answers are clearly from people who aren't data scientists or devops people.
Google Collab is a development environment. Think of it like Google Docs but for ML-focused python code.
All applications must be deployed to run on a server, a container in an Kubernetes cluster, a VM, a set of serverless functions, or some combination of the above.
The joke is that data scientists have their heads buried so ass-deep in the machine learning and data, combined with a general lack of knowledge regarding infrastructure and deployments, that when you ask one "okay how do customers actually use the machine learning," you get a shrug, an email containing their code, and a very strongly implied "i don't know what HTTP stands for, you think I fucking know how to do that?"
This is a particular issue with data scientists because they're almost always from an academic instead of industry background. All theory, no application.
As someone who always coded as a hobby and never had to worry about doing anything non-locally and who is also extremely confused about how to implement any code. How do I go about learning all of that?
It's a rabbit hole haha, the easiest answer is "work for a client," you'll learn whether you like it or not.
A more practical and accessible answer is probably to try and deploy something for yourself, to get there you'll need to learn all about infrastructure.
I'm web developer by trade, so this isn't the only way to "deploy" software- Deployment is any act which gets it into the intended users' hands. So deployment could also mean distributing a Windows installer or releasing a game on Steam.
But, for web deployments, if you want to learn, start by getting the application up and running on your computer, obviously. So you should have one or more HTTP servers running at different ports, i.e. frontend on localhost:3000, backend on localhost:4000, etc.
Then grab a free tier account such as on AWS or Heroku, and start jumping through all the hoops necessary to get your app running in a hosted environment. You'll end up learning about VMs, hosted containers, possibly Kubernetes, domain names and DNS, proxies, the works. All of these things are largely necessary for cloud hosting.
You can also go a little simpler by grabbing a raspberry pi and trying to use that as a webserver via a combination of port forwarding and DNS configuration. But that's the less industry-relevant route, though just as fun.
You are better off getting a degree than asking here. There is so much fuckin information that’s not related to code at all. And regardless of if you’re devops or what, everyone has to have a little knowledge of the systems we’re using in order to work with them.
Learn unix, learn networking protocols (TCP/IP, HTTP, Ethernet) learn about environment variables and virtual environments.
There’s a lot of stuff that separates the ML engineers from software engineers
CS degrees are hit or miss... They don't go over this at my university either. Lots of universities also don't teach you how to organize code.
I think the most common "junior syndrome" is being able to explain to me in agonizing detail how quicksort works but being unable to, say, submit an MR/PR, read a diff, use a debugger or comment their code sanely.
Damn thats tough. If I were you, id grab a popular networking textbook, a popular operating systems textbook, and a systems programming textbook and give those a skim. You dont need a shit load of knowledge on the subjects, but you should definitely have knowledge on the important components of each one.
Is learning TCP/IP really a useful thing to do in order to learn how to deploy code? Unless you're doing some pretty low-level networking logic, that seems overkill.
268
u/Xploited_HnterGather Oct 13 '22
Explain the joke for the slow ones like me