Hi! I am a junior SWE at Facebook doing somewhat ML stuff, you know, the kind that doesn't require a PhD degree, data preparation, training models and deployment and stuff. Recently I feel less and less confident about my career choices and here's why: a) I don't have a CS bachelor's degree, which means I lack concrete foundation of the knowledge system, e.g. I never took one single OS class. I have tho, a CS master's degree, which looks like a joke to me because I didn't really learn much except it helped me landing the job. What's worse, I am a girl, and no gender offense here but girls tend to lack confidence in this field, so my situation is bad. I have worked for a year, and it did not help building confidence at all. b) With my current company, this position is a mixture of using internal training platform and writing all kinds of shitty code all the time. So I AM ALL SPLIT UP. I write SQL, C++, Python, php, but I don't get better at any of them. Feels like I am just completing tasks day by day without getting any improvement. This is worse in my case as I said in a). c) So I started job searching (sadly yes), hoping to find some company that will appreciate my ability of being a don't-know-much-in-either-ml-or-backend engineer. And as a lot of you know, companies are hiring ml engineers with asking deep ml questions which frighten me, and for systems engineers with OS and basic CS questions that frighten me as well. With all the factors above, I just feel like I am caught in between and cannot find the anchor to my career. I don't want to get a PhD, yet my interests are in ML, but it seems I just cannot do the things that interest me? Did I make a bad career choice of going into ML? Should I just abandon the idea and turn to front end for example?? This has been very tiring and comfusing and frustrating for me, so any sincere help is very much appreciated here. Thank you!!
why not switch to management or other non technical field?
Biggest thing for you is getting more time. Night school graduate stats class will fix your math enough to self study ML without fear. CS fundamentals you can read and YouTube about. Then try making projects for yourself at work. Fit the new stuff into your projects even if you turn whatever in later as a result. Ideally it'll be related enough that it improves your results, so justifiable
Thanks so much lkT22o! I really agree with getting more time. In fact that's a large part of the reasons why I am leaving. Right now I don't have the say in projects nor the time to self-improve. I do believe I have the math background and ability to catch up with CS basics, but not using them in daily work certainly makes you forget a lot. Thanks again.
Where did you do your MS in CS? Strange that OS wasn’t part of the curriculum.
What was your BS in then? That seems like a relevant factor Also, what other reasons are leading to you leaving?
I suggest registering for one of many online MS degrees available in machine learning . My favs : UC Berkeley , Georgia tech
I have a super strong CS background, did BSc in Software Engineering, Master's and PhD in ML. I was coding since I was like 10. And with all that, I don't get any ML tasks at all. I'm actually envious of you getting to do ML. I think all the time I should stop pursuing ML and just do work. I changed many companies and at least worked for 4 big companies. I believe now it's companies fault that they don't use my skills. So just something for you to consider and be a little less insecure about your background.
For your points: a) enroll in something like udacity or coursera if you haven't done so b) it will be literally the same in every other job you get - bunch of random shit. c) It is rare to have access to ML type of work - use it to gain experience
Thanks very much piora! Good advice.
You are describing things I used to feel. I have questioned myself just like you did 6-8 months ago. Here is what I realized. There is no easy way out. First step make sure to figure out what you like/want to do. A good portion of job hunting is to know what your are looking for in your new role. Most of the HM will ask you this. Next put things on your resume that are relevant to what you want. I removed SQL even tho I worked on it. I can't deal with that crap anymore. About not knowing CS fundaments, that is something only you can fix. Just do some online classes. Overtime you will get good. I have mentored interns from top CS schools. Trust me not all of them are strong in CS fundamentals even tho they have taken classes in it. You being a girl is irrelevant :). Starting the interview process can be scary. Since it's unclear how good/prepared you are and you don't want to get rejected. Trust me those fears will go away once you start interviewing. You will get rejected by some and you will learn what kind of questions they are asking based on your experience.
Thanks so much LEETCODER 😭😭😭I really appreciate your advice and comfort. I just really need to land in a job that can give me a break of all this. About what I like/want to do, that's my major confusion here. I am sure I am more interested in ML and I have a great math background, but it just seems to be a long-term thing, not sure if it aligns with the short-term goal here, which is to land a job and build confidence. (I have seen junior people doing great in e.g. Android, that's why I am hesitating.)
There’s a lot of good motivation and advice in this thread. I work on ML infra and I meet so many ML PhDs that are clueless. Including those in our interviewing (ML sys design). I’ll be frank, most of the ML that we hire PhDs to do is feature engineering, data prep., analysis, etc. Most of these engineers will leverage the work being done by AML/FAIR and apply it to their own areas. Here’s what I recommend: figure out what you like to do. You just got out of college, it took me years before I found an area I like. You don’t need a PhD for ML, but you do need strong fundamentals. You will need to invest in online courses and continuing education (the area is moving very fast)! There are a lot of good ML conferences, you should ask your manager about letting you to attend. Confidence is going to take time. Don’t just focus on ML, because you don’t know CS fundamentals. Learn CS fundamentals (there are free online courses). You have already identified your weaknesses, work on them. Also, once you get comfortable in the technical areas. Remember most of the career progression is based on direction, so work on that too.
hi throwaway0! Thanks and great advice! I wonder what exactly do you mean by direction?
How about switching teams to something non-ML? Seems easier than interviewing for new jobs. Gives you a chance to explore, and possibly gain some useful experience.
Hi Oscar! Thanks for the advice. I did intern on another team which is non-ML and yes back then I felt a lot stronger in things like writing a specific language. However I decided to go into ML with full-time job and we ended up here. I am leaving due to other reasons as well so switching teams is off the table, but yeah the focus here is whether to choose ML or not.