Ask HN: Moving into ML as a DevOps/Security Guy
* My background is in Security (i.e. pentesting/red teaming, security engineering) and I spent some time as a "DevOps" guy. I'm comfortable with designing and building cloud environments, worked a lot on Kubernetes, poked around Kafka. I've reviewed security for event driven architectures etc. So I've seen a few things around the block and I know how things fit together in modern environments. I'm Senior in my security role.
* I can "code" but I'm no "software engineer". I can throw together whatever several hundred lines of Python I need to get anything done, I've built quite a few frontend and backend services for side projects over the years, worked with MQs etc. but I'm no software architect. If I wanted to get hired as a software engineer I'd probably be looking at junior-mid-level positions, but I feel I would ramp up quite fast given transferable skills I have from Security and "DevOps". Probably what I'm lacking most is theoretical CS stuff that would come up in interviews.
* I'm doing the MITx "Statistics and Data Science MicorMasters" part-time.
* I have enough savings to quit my job and spend a solid year (or even two) re-skilling without emptying the bank account.
* I'm not under the illusion that I can transfer to ML after a puny MicroMasters and start doing some hardcore theoretical stuff. That's not the objective. I do seriously want to wrap my head around the work of others though.
What is your advice to someone in my position who wants to work on the exciting "new world" stuff driven by our progress with ML?
If you work somewhere doing awesome things with ML, where do you think a guy with my background would provide good value, with some reskilling?
9 comments
[ 3.2 ms ] story [ 31.7 ms ] threadAs someone working in ML (a couple of years of experience), I'd much rather be in your position than mine.
Just about everybody was able to tweak some parameter in models, some can explain themselves, others can't, the end result doesn't differ that much.
The way I see it, there's 2 ways you can walk around this. By being a software engineer that deals with the underlying ingestion/infra (that's increasingly a solved problem too), or be the guy that actually write the ML package themselves. Only the latter will be anywhere near secure, but that's almost 0 percent of the current supply.
I'm glad I got out of machine learning/data engineer role for a pure software engineer.
Some thoughts Taken with grain of salt
- before quitting try to figure a few positions that you want to head to after your masters and study. Is it ML scientist, Data scientist, ML engineer, Data engineer, PhD in ml etc., use that to figure out your plan. This will help if you want to add more time to learn algorithms and programming too.
- what are your strategies to get a Ml job Or higher studies once masters is complete
- tradeoffs — a part time masters gives you the flexibility to see if you truly enjoy, switching to fulltime has the advantage of compressing time to speed up your learning
- if you can intern in a ml position while doing masters nothing like it. Network as much as possible, on campus,instructors, alumni etc
Probably in devops/security stuff
It's a play version of our internal tool to which we invited around thirty students of one of our colleagues for their ML projects.
This way you can concentrate on the actual courses instead of the nightmare of setting things up and the usual ML specific problems. This should speed up your progress, because people lose an ungodly amount of time on these issues. Well, maybe not on course projects, but in real projects they do. I'll also add you to the Slack workspace in case you encounter issues.
I'm sure a mechanic would figure out their broken car; it just is not ideal to do so everyday on their way to their new job/course.
Plus, in this case, it is not only about mechanics (devops). The window jams and doesn't close when it's raining. The fuel the car can fire changes every week. The seats were salvaged from a 1920's car. Seat belts are too tight and thin. The pedals are slippery. The sequence to turn on the car is in their colleague's head, and he's often absent. The tyres start skidding on certain streets. The door handle are the house door's handle and they must transfer them back and forth every time they take the car, and the refrigerant liquid is leaking, but there's a funnel on the dashboard the driver has put an upside down bottle to automate filling canceling the leak.
Offering them a car that just works is in no way doubting their competence, but merely a catalyst for the change in state they want to happen. Consider it reducing the activation energy.
I gather from your other comment you have a couple of years of experience in machine learning. I suppose with real deadlines and money on the line, with colleagues working on the same project? Can you tell us more about your workflow? How do you deliver value without dealing with jammed windows and leaky reservoirs? Or how do you deal with that?
What's lacking? What's getting in your way? Why does the value take so long to reach end-users?