Beware the tech tangents.
I’m settling down to get some coding done, when I realize I need to install a dependency. I forget if I’m using Conda still or venv for virtual environments. Investigate. Get confused checking the Python installs on my machine. Did I use Homebrew? Better update and upgrade that for good measure. I realize I am using Miniconda after all, but I forgot the commands. Google a cheatsheet. Okay, virtual environment is set up, should I install the package with Conda, or pip? Try both, and cross my fingers that it works. We’re good to go! Start into what will surely be a long, highly productive coding session. My algorithm is not great, and I have a suspicion there’s a more efficient way I could be writing this. I can’t quite figure it out, so I turn to my trusty friend, the internet. I can’t figure out how to describe my situation and I try some weirdly worded searches in hopes that Google will somehow read between the lines and understand what I am struggling to articulate. It doesn’t work, but I do stumble across a Medium article about dynamic programming that is very good. The author is a good writer as well as a good programmer. There’s a link to an algorithm course on Udemy, which, I think to myself, would not be a bad idea. I could use more practice in that area. I’m on the algorithm course page, but look at all these other ones! I barely picked up JavaScript in my Web Development class, and that is an important language to know. After all, with my design background, Front-End might be the thing to focus on. On the other hand, I enjoyed Intro to Networks, and if I want to pursue that route, I really need to focus – there’s so much more to learn. After looking at several CompTIA courses, going so far as to read several other articles, in other tabs, discussing the value of various certifications, I feel that I am very nervous about committing to this particular career path. I reflexively Google “types of software engineers” and read several more articles, and now I think I should maybe consider DevOps or UX/UI. On one page I see a random stock photo showing a developer with two desktop monitors. Is that how “real” programmers work? Why am I doing all my work on a laptop? I need an office, with multiple screens for increased productivity. Google “best desktop for programming”. After looking at many models, with wildly divergent specs and price points, I remember a) I do not have money to buy a new computer, and b) even if I did, there is no “best”, just the most appropriate for a particular set of needs and/or restrictions. Admonishing myself, I close all these tabs, including the Udemy course pages (my realization about buying a computer has shocked me out of my rabbit hole). Blinking like I just stepped from a dark room to bright daylight: what was I doing? Oh yes, I was trying to think of an improvement of my code’s implementation. Opening my IDE again, and looking at the block in question – the answer comes to me instantly. It was in my head the whole time.