Some context, on a few things:
- This wasn’t written as a blog post, I just started writing a journal, and because my issues are not very personal, I figured why not post them on my blog? So for future posts (conveniently labelled with “Journal”), some of the information might be incomplete, because the intended reader is… me. Maybe I will try to give some context on posts, if it otherwise won’t make any sense at all.
- Hopefully I don’t accidentally sound like too much of an asshole.
- Of course, some things I write about in my journal actually are personal ;). Maybe one day.
- Here’s context for this post. Machine learning (ML) is an area of computer science, closely related to AI. ML is why self-driving cars are a thing, why Facebook can recognize your face, and much, much more. ML is easily the most sought after jobs, and undoubtedly one of the most lucrative.
- Funnily enough, it was the process of writing this post that made me decide to quit caring about machine learning. Maybe not the best way to base your life decisions, but hey, it felt right.
Because I couldn’t think of a better title. And no, this isn’t the continuation of my story (my private story: sorry blog readers). That might have to wait.
Why am I so set on trying to do something with machine learning? Let me try to make a timeline:
- I liked math (ever since I was young).
- I got into college, I still liked math, and I was pretty good at math.
- I heard about machine learning (freshman year). What’s that? I don’t know, but sounds kind of neat.
- Learn more about machine learning. Turns out, she’s kind of a big deal (I tried to make this a mocking tone but there’s no text formatting for that).
- I take a machine learning class. I’m not too invested. I copy all the programming assignments. The computational problems (i.e., the math), can be fun sometimes. I take the final. I get the highest grade in the class. I think this was the moment things started to go wrong.
- I enter into my professor’s research lab. Proceed to do nothing for the rest of the year, for a variety of reasons.
- Decide to get my Master’s, with the intention of specializing in machine learning.
- Start job at Microsoft, decide machine learning is my passion, begin to try very hard to land myself in a data science role.
So what went wrong? Well, it seems I’ve effectively crafted a passion out of nothing. Like I said, my main motivator for doing machine learning? Getting a good score on the final. Literally. The moment that happened, I started questioning what I should be doing with my life. I’m so good at this thing, and that thing also happens to be the most lucrative… thing there is right now, so what am I doing if I’m not doing it?
Nothing else I’ve ever felt passionate about that has followed this logic. Take running. Was I the fastest runner in the school? No. Was there something in my mind, telling me I should definitely be running, because the people who run are the most successful? Of course not. I ran because I enjoyed it, it made me feel happy and fulfilled, it was something I could actually get excited about. Despite truly having no good reason to do it, I still invested so much time and energy. I’ve been trying to fix my knee problems for a year and a half, going to countless PT sessions, just so I can have that option open to me, to be able to run again.
OK, you might say, but you can’t compare hobbies and career goals. For most people, it’s inherently different. But take computer science. I fell in love with coding in eighth grade. I read pages and pages of that completely unnecessarily thick book, just because I was amazed at everything my computer was able to do. You think I was thinking at the time, damn, I better get on this coding early, so I can be better prepared for my career as a software developer in the future? It’s hard to keep coming up with ways to say “hell no”, so: hell no. I never thought I was hot shit at coding either. I came into college with the expectation that I was going to get my ass handed to me. But it didn’t matter to me, I was still going to keep coding all the same, because that was what I loved.
My experience with machine learning hasn’t been anything like that. Before I got that grade back on that final, what was going through my head? “That was nice, but I don’t really think machine learning is for me”. So all of a sudden, I get lucky on one test, and there’s my future? It seemed like such an obvious option at the time, and it was easy to convince myself I wanted to do machine learning for the rest of my life. But doing well in something can’t be your motivation. I also did great on my signals final, so I should be an electrical engineer, right? (Fun fact, I considered this for about half a second before I came to my senses). But of course, there’s that lucrativeness I mentioned before. Tell anyone you’re interested in data science, they’ll say go for it, that’s what’s changing the world nowadays. Tell someone you’ve got some damn good potential too? They’ll think you’re crazy for doing anything else.
You are probably reading this and wondering why I was interested in all this in the first place. As of now, I sound like a child who got good grades and was forced by his parents and societal pressures to become a lawyer. But really, there is something there in machine learning that I really do enjoy. Except now I realize: it’s just math. Remember how I said I loved math as a kid? I still do. And let me tell you, in a typical research university curriculum, machine learning and math, they aren’t so different. Endless formulas, derivations that go on for pages, probabilistic interpretations of every little thing. This is the stuff that most people hate about machine learning, they wonder why we can’t just quit the bullshit and start sticking our globs of data into some neural net running on the cloud somewhere. It’s also the stuff people struggle with the most. Everyone goes through it, because they have to, because everyone is told that that’s the most important part of machine learning. No mathematical intuition, and you’re not going to be anything more than a little script kiddie.
The problem for me is, I think the exact opposite. Those page long derivations I mentioned before? I live for that stuff. I remember studying for my ML final being some of the most fun I ever had studying. Finally grasping that deep intuition for all these statistical models felt enlightening, in a way. Yeah, I wanted to get a good grade in the class, but I also wanted to use that opportunity I had to learn all this cool stuff. So basically, I was studying for a math class. An applied math class, yes, but still math. The problem was, I wasn’t really in the mood to “apply” anything. I copy pasted the solutions to all our coding assignments. Why would I waste my time fiddling with precisely how to use Python to run this ML model, when I already understood exactly how it worked? It wasn’t really exciting to see the things we learned in class apply in the real world. We already did the proofs to show why it works, so why do we need to waste the time coding it?
So now we get to the real crux of the problem: that part of ML that I don’t enjoy, that’s what ML is like in the real world. You hear it everywhere: the actual underlying ML of the vast, vast majority of systems is very simple. We learned decision trees within the first two weeks of the intro ML class, and now you’re telling me that that’s all 99% of systems will ever need? What’s all that other stuff I learned good for, then? Don’t get me wrong, having that mathematical intuition is super valuable. If your model isn’t producing good results and you don’t know have any clue why, you’re kind of dead in the water. But those instances are rare. And usually, not at all needed. And yes, this is exactly the same story with essentially everything you learn in school. The only difference is, the work surrounding the ML is just not interesting to me. Learning about how TensorFlow effectively computes static graphs for all your ML goals really doesn’t get me going. The idea of feature engineering for weeks to improve your model’s performance by 5% (if you’re lucky) seems like cruel and unusual punishment. I honestly feel that the majority of issues you face in day to day ML work are more scientific in nature than mathematical. Everything is just like one big experiment. And let me tell you, I never enjoyed doing labs.
It’s funny, because I write all of this with very little experience in actual ML. I talk like someone who’s been in the wrong profession for years, when the most amount of work I’ve done was in one class almost a year ago. But I just think the act I’ve been putting on for myself and others has been wearing me down. Maybe it’s not such a good idea to go ahead and create passions out of thin air. Like I said, ML is something I’ve enjoyed, but the amount of work I’ve put into it has been extremely disproportionate to that enjoyment. ML really shouldn’t have the privilege, yet, of being on that level. Instead of telling myself how much I enjoy it, I think I should try to see if I actually do enjoy it. Quit with all the learning, all the talking, just sit down and do a project. If I don’t enjoy that, there’s not much left. Research is an option, and I think it’d be doing a disservice to myself to not at least attempt that. But these should be small, actionable items, not a change in my entire lifestyle and mindset. If I build a small project in ML that I can’t get excited about, then I think it might be time to stop. Rather than prepping for a future of ML, I instead need to take a second and ask myself if I even like ML. Because I do like other things, such as:
- Spending my time doing things I actually enjoy.
- Having passions I care about.
- Getting excited about things I actually want to get excited about. If devoting my life to ML clashes with these goals, I absolutely should not do it.
Now, for even more thoughts (I really need to stop pouring my heart out every night: will I ever stop wanting to talk about myself?). Maybe I feel like I have to devote my life to ML because it feels like I need a purpose. Before, my purpose was just to enjoy life, while committing myself to things I enjoy. Now, it’s all about being the best person I can be. But I think that maybe I need to take a step back and think again about what my real goals are. Maybe ML isn’t going to get me there. Say I did devote myself, I became a hotshot data scientist. Then what? Great, I’ve taken on even more responsibilities for a role I don’t even enjoy. Yeah, I make more money, yeah, I’m more successful from a career point of view. But so what? I don’t think I’ve ever cared about these things before people told me I should care about these things. I’ve been happy by doing things I love. Being successful at something I love? The best feeling in the world; running under five still makes me tear up (yes, that includes right now). If the most data science is going to be for me is just a somewhat interesting job that pays very well, I don’t think I should put so much effort into it. If the most data science is going to be for me is a job I don’t really like that pays very well, I don’t think I should do it at all. Being successful by metrics whose importance is directly influenced by other’s opinions isn’t going to do anything for me in the long run. The bottom line: I need to see if ML is right for me, so I need to build something with ML. By myself. Like a real engineer. If that can’t happen, then hey, guess what, I’m not going to want to be an ML engineer! And then, I can decide what does really matter to me.