career change pt 2
This is part two of a multi-part series. See part one here: https://careerchange.bearblog.dev/career-change-pt-1/
In the first part of this series, I wrote about why I wanted to change careers and what I want to do in the future. Now, Iām staring down that decision trying to figure out how to do it. Where do I start? What should I do? How will I know Iām on the right path? I obviously donāt have all the answers, but Iāve learned a lot in my journey so far; part two of this series will discuss what Iāve learnedāand what I still donāt know.
Thus far, Iāve managed to finish a couple of short online courses, complete two Kaggle projects, and feel incredibly frustrated and adrift the entire time. I donāt feel qualified, at all, to write this. But, it can be hard to find articles or blogs by people in the middle of a career transition like this. Usually, people only write about their experiences after the fact. After theyāve made the change successfully and forgotten all of the frustrating moments: the hours of despair when youāre certain youāll never fix that bug, the disorientation of learning a new library, the certainty that you were wrong to even think you could learn to code. The euphoria of finishing a project and achieving a goal obscures all that. But, finding out how to push through the dread and the frustration (and, sometimes, the anger), whereās the guide for that?
Well, my guide isnāt perfect, but I think it can be helpful to you in some way. Iāve learned a mix of things: some quite specific to learning Python, some about learning to code in general, and some about struggling to make a career change happen.
First things first: you have to have a plan. My broad takeaway here is to get a broad sense of a specific programming language. For data visualization, either JavaScript or Python will be your best bet. Iām going the Python route. A huge mistake I made at first was only learning the ādata visualization partsā of Python. This really limited me caused tons of false stars and give ups on projects I wanted to attempt. It wasnāt until I had read about one million blogs, including this one, that I finally realized I needed to take a more holistic view. As soon as I started doing that I felt like I actually had a grasp on the language. Thatās obviousāand might seem dumbāin hindsight, but how could you know if youāve never done it? The advice to start broadly was helpful to me, but a more specific thing I learned was to do more projects. There is absolutely no replacement for learning by doing. One healthy, robust project is worth more than one thousand hours of YouTube videos. In particular, Iāve found picking projects from Kaggle to be useful. On Kaggle, you can see what others have successfully done with datasets and get ideas, help, and direction. They have lots of ideas for beginners. My recommendation: pick a dataset that interests you, use several highly rated kernels as inspiration, and make your own kernel. One piece of advice youāll always see online is to āask for helpā from more experienced others. If youāre incredibly shy and anxious like me, Kaggle is a great way to āaskā for help by leveraging other kernels.
A quick word on completing projects: figure out how to solve the problem anyway you can. I canāt tell you how many times I sat there, head in hands, frustrated that I couldnāt solve a problem the ārightā way. Hooey. Just worry about getting the work done. Iām not really sure what caused this realization for me. I think it was just the fact that I was getting so bogged down I wasnāt making any progress. At some point, that had to give. Hopefully it doesnāt take you as long to realize that as it took me. Before you can just jump into projects, though, youāll more than likely have to take one or two online courses just to get your bearings. I certainly did. And what I realize now is this (Iām saying it again): there is absolutely no replacement for learning by doing. When you first start, skip the YouTube videos and head for the tutorials. I found that FirstPythonNotebook and FreeCodeCamp are great places to start. This is easier said than done, but donāt worry about understanding everything at the beginning (or really, ever). Just get the work done. Even if you have to copy and paste an answer from StackOverflow without understanding anything about the code. I have found that the understanding comes from seeing the output of your work, so just get it done.
By the way, make sure to go over, in detail, the syllabus of any course or tutorial that you choose to do. Definitely read a lot of reviews! Donāt just look at the star rating. Actually read the comments. The last thing you want to do is to sync a bunch of hours into a course only to give up halfway through because you arenāt learning anything
At some point, probably early on, you will face a crucial fork-in-the-road: youāve been working through your plan for a while, chugging along learning a lot. Then, you hit a wall. It lasts for a few days or more. You feel unmoored and arenāt sure if you can get back on the right path (if you were ever even on the right path to begin with). This is the crucial moment. What do you do now? Almost all of the time, you should keep going. Think about it: it is highly, highly, highly unlikely that that JavaScript project or course will be completely, utterly useless in 6 months. The extreme version of this that we all imagine is: after weeks and weeks of learning a new language, you come up for air only to look around and see that what you just learned was a total waste of time because youāll never, ever use that language. That wonāt happen! Even if you learn something like Vue and you later end up using a lot of Node, they are all in the same family. When youāre learning code, youāre learning a new way of thinking. Anything you can do to practice that way of thinking is a good thing.
Be careful, though, of a mistake that I have made multiple times already: giving up too early. I often lack the confidence that Iāll be able to figure out a hard problem. āOk,ā Iāll say, āIāll work on this for the rest of the night and then if I canāt get it by then Iāll move on to the next project.ā The reality is that coding is complex and layered. It often takes several hoursāmultiple nights of after work focusāto reach a breakthrough, more when youāre just starting out. For me, it often feels like it is taking forever to make progress. āDidnāt I start this last weeks ago?ā But the smart thing to do here is to adjust your understanding of the scope, rather than give up too early. Giving up too early is much worse than hanging on too long (at least in this situation).
Sometimes you are on the wrong path, though, and should abandon it for another one. The uncertainty of when to make that call is made all the worse by the lack of good plans out there. There are barely any resources or courses for how to break into data visualization, much less data journalism. Any resources that are out there have a fundamental problem, which is that they donāt match your situation. They might assume tons of prior knowledge, be too expensive, or not go deep enough on a particular skill to be worth your while. This was especially troublesome for me when I was starting out because I knew I wanted to do something with data viz/writing, I just didnāt know exactly what. There was no path that I could easily follow. The truth is that Iām still forging my own. Hacking away at the jungle. Surely, there has to be a better way? I know there isāitās called asking for help.
No matter what path you pursue, ask more experienced people for help. Iāve had some success here, but want to do better. The challenge Iāve faced is that I donāt really know anyone who can help! It can be really hard and intimidating to reach out to people you donāt know and ask for help.
How do you find people, though? Well, reading and looking at blogs. YouTube, finding Slack groups. The key thing is to take a deep breath and put yourself out there. That worst case scenario that youāre imagining in your headāthat the person will be aggressive and rude, that theyāll screenshot your request for help and put it on Twitter where it will go viralāthat wonāt happen. Just nicely ask for specifically what you want (it helps if you can tie it to work theyāve recently done). Think about if someone reached out to you for your expertise. Youād probably feel at least a little flattered, even if you were too busy to help out. Also, be persistent. Following up a couple of times is totally normalāassuming you gave the person a week or more to respondāand itās really up to the other person to be an adult and tell you if they canāt help.
I donāt have any guarantees this will all be worth it, but what I know for certain is this: what Iām doing now is not worth it so I might as well give it all Iāve got. The time will pass anyway.