site banner

Wellness Wednesday for July 12, 2023

The Wednesday Wellness threads are meant to encourage users to ask for and provide advice and motivation to improve their lives. It isn't intended as a 'containment thread' and any content which could go here could instead be posted in its own thread. You could post:

  • Requests for advice and / or encouragement. On basically any topic and for any scale of problem.

  • Updates to let us know how you are doing. This provides valuable feedback on past advice / encouragement and will hopefully make people feel a little more motivated to follow through. If you want to be reminded to post your update, see the post titled 'update reminders', below.

  • Advice. This can be in response to a request for advice or just something that you think could be generally useful for many people here.

  • Encouragement. Probably best directed at specific users, but if you feel like just encouraging people in general I don't think anyone is going to object. I don't think I really need to say this, but just to be clear; encouragement should have a generally positive tone and not shame people (if people feel that shame might be an effective tool for motivating people, please discuss this so we can form a group consensus on how to use it rather than just trying it).

2
Jump in the discussion.

No email address required.

Progress Update (alt title "Dummy learns to code after wanting to understand funny programming memes"):

I'm going to be traveling the half a day it takes to get to my med school to wrangle with the Dean in order to get him to wrangle with the ECFMG regarding the certification of said med school. I can only hope there isn't a lot of money involved, since they're cheapskates, but at this point I think the return from me becoming eligible for the USMLE would outweigh expenses as high as $100k, not that I'm going to offer to pay that much unless I have no other choice. The longer I put it off, the higher the odds that when it finally does happen, they'll throw up their hands and say that they can't vouch for the standard of education at the time I was a student.

In the meantime, my coding saga continues. I've done a handful of leetcode problems (easy, I got my hopes up regarding tackling a medium until I realized that my intuitive approach of using arrays would go FUBAR, and that I need to figure out how to use linked lists and dictionaries, two concepts that were never tackled in my odd 2 years of high school programming experience, meager as it is).

I've done a metric fuckton of MIT OCW problems, though the majority seem to be finicky edge case teachers rather than true concepts, but I'm aware that a fine eye for the edge cases is something programmers need to cultivate.

I try not to use GPT if I can help it, but it often serves to better explain certain concepts I struggle with than even the otherwise excellent MIT professors providing the video lessons of the course. As a note:

Avoid using ChatGPT 3.5 (the free one) for learning to code

From my experience, it makes subtle and fucking annoying errors in about 10% of the problems I ask it to tackle, and I had to beat my head against a wall a few times when it hallucinated issues in the code that didn't exist, or proclaimed that a solution authoritatively, only to walk it back when challenged.

Actual GPT-4 API/Bing are much better, if they're making subtle errors in the code, then it's still running, and the problems are far beyond my capacity to deduce.

I already feel bad for the people in companies who can't use it as a coding assistant, because it makes tidying up spaghetti and fixing syntax errors a breeze. I do my best to grok concepts even when I'm using it, often telling it not to correct any issues in the code or underlying algorithm unless I've personally spotted it, or am utterly stuck.

I finally know how to actually write recursive code, scary as it is, as opposed to having a theoretical understanding of what that involved. That's the first concrete step outside my old curriculum, and it isn't really that hard as long as you adapt to mentally juggling what variables you're tossing back.

My interview went well, and I'm currently on track to get a post in the oncology department at a rather upscale hospital. It's sleepy work, well, if not sleepy, then when patients deteriorate I'm not the one on the hook, but I'd be better served with ER experience, so if I get in, I'm going to badger them into letting me kill a few people once in a while haha.

You know what? I kinda like programming, barring the tedious minutiae. I used to hate maths back in school, but here I get to throw teraflops at knotty little issues till they cave in. Plus you get a visceral sense of progress that studying medicine doesn't provide, as well as regular "aha!" moments. The relative lack of rote memorization is refreshing, and I'm putting in the work while I can.

PS: Do not visit the discussion section in any leetcode problem. My fellow Indian brethren are busy living their wannabe programming influencer dreams in there.

In the meantime, my coding saga continues. I've done a handful of leetcode problems

This is good start but in the long term remember programming and in particular practical ML/data science work involves building something to solve a problem. Once you get some basic skills I recommend finding some real problem of interest to you then building the thing to solve it and struggling with that rather than maxing out leetcode imperial exam style study. If coding is carpentry then learning all the various cuts, tools, joints and types of wood isn't enough. Eventually you need to build the something real that will be used. While that uses some of the leetcode skills, it's a whole other issue to determine what is needed then construct it. These meta skills are important to actually getting stuff done. I preferentially hire those who makes stuff (of whatever type) of their own initiative over the academically gifted for their autonomy and problem solving skills.

On the other hand, leetcode-like problems can be quite refreshing if your job is the equivalent of making flat-pack furniture using System 32: you have learned all the various cuts, tools, joints and types of wood, but all you see every day is particle board, edge veneer and a couple of drilling templates.