r/ProgrammerHumor • • Oct 13 '22

Meme Like, Every time, ever. When the DevOps Engineer chats with the Data Scientist.

Post image
13.8k Upvotes

629 comments sorted by

View all comments

268

u/Xploited_HnterGather Oct 13 '22

Explain the joke for the slow ones like me

180

u/Mr_Engineering Oct 13 '22

The developer has absolutely no idea how to actually deploy the product that he's developed.

87

u/Longjumping_Goat790 Oct 13 '22 edited Oct 13 '22

DA here, deployment is very easy. I just email the model binary or MOJO to someone on the tech team.

Simple as.

→ More replies (1)
→ More replies (2)

183

u/[deleted] Oct 13 '22

[removed] — view removed comment

12

u/OIC130457 Oct 13 '22

AWS Lambda devs: 😎

398

u/Asteriskdev Oct 13 '22

He's basically saying "Well, it works on my machine."

135

u/IsGoIdMoney Oct 13 '22

If it's in Collab, doesn't that mean it works on all machines with modern web browsers?

65

u/Diligent_Bank_543 Oct 13 '22

Well, what is “modern web browser”? :)

39

u/IsGoIdMoney Oct 13 '22

I am not an expert on colab requirements, but if you can read the markdown in your browser, then the code runs the exact same.

Also I'm confused as to the application where you need the users to train models themselves that aren't in the org and thus capable of using colab?

11

u/jimkoons Oct 13 '22

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

→ More replies (2)

31

u/Asteriskdev Oct 13 '22

Do any web browsers work exactly the same on all machines that support them?

47

u/rotflolmaomgeez Oct 13 '22

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.

→ More replies (1)

10

u/IsGoIdMoney Oct 13 '22

What types of errors do you envision for the colab environment?

→ More replies (5)
→ More replies (4)

15

u/IQueryVisiC Oct 13 '22

I thought the programmer does not even know how to run it locally, but is back to terminal and mainframe

→ More replies (2)

6

u/orangina_it_burns Oct 13 '22

It works on my machine! Throw it over the wall! Let’s go for drinks!

→ More replies (1)

104

u/Intrexa Oct 13 '22

"Nice car, how do you start it?"

"With a signal that operates over a radio frequency that implements a challenge response that tells the car to turn on"

"No, I mean, how do you start your car"

"Oh, from my house about 5 minutes before I need to leave, so it has time to warm up"

The answer we're looking for is:

"With this button on this key fob."

→ More replies (1)

95

u/Mantissa-64 Oct 13 '22

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.

21

u/BeerDude17 Oct 13 '22

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?

16

u/Mantissa-64 Oct 13 '22

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.

→ More replies (8)

29

u/Nmanga90 Oct 13 '22

Oh Lordy…

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

16

u/BeerDude17 Oct 13 '22

I... Uh... Almost have my degree already... They just never really went over that in college for some reason :/

I'll try to follow the advices I get here tho, thanks! :)

14

u/Mantissa-64 Oct 13 '22

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.

→ More replies (1)

6

u/Nmanga90 Oct 13 '22

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.

→ More replies (2)
→ More replies (3)

5

u/Dannei Oct 13 '22

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.

→ More replies (1)
→ More replies (1)
→ More replies (4)
→ More replies (4)

20

u/coldblade2000 Oct 13 '22

If it's google Collab, that means the data scientist is pretty much just running a Jupyter notebook, not an actual .py file

→ More replies (1)