Learning To Code And Problem Solving With The Community
In 2020 a friend of Kim’s introduced her to the idea of coding as a career change. “She was an opera singer before software engineering, she went through an immersive program and recommended I get into tech as well.
“I decided to shop around for different routes as another friend of mine had also gone through the same program as her, but had some regrets and mentioned Codesmith was a great program I should consider instead. I checked it out and it had in-person free classes in JavaScript.”
She started attending Codesmith’s JavaScript the Easy Parts classes and enjoyed returning to learning. “It was 2020, I hadn’t been in school for a while, so it was fun feeling like I was back in classes again, I liked the structure of the classes.”
In the beginning, she approached coding like she does all things, with a spirit of curiosity and excitement over the potential of what she could do with the tools she was learning to use. But the more she learned the more questions she had.
How did a developer make that graphic, why did they choose that programming language, and how did they arrive at this piece of front-end-facing logic?
“Pair programming and that was the number one thing that solidified my skills as you can learn so much about how you interview and handle thinking under pressure”
Kim was initially daunted by Codesmith’s pair programming sessions — where two programmers code together simultaneously talking through the code to solve problems and improve technical communication — and software engineering did not at first feel like a space open to someone like Kim. However, when she found her work in these sessions was going to be evaluated by another woman of color she felt a sense of safety.
“Software engineering previously felt like a locked door to me, then I realized I could knock on it.”
It didn’t take long for her to feel she wanted to go further into coding. “I started doing JavaScript for Beginners three months into Codesmith, because I felt like I was at a point where I was ready to commit.”
After graduating to JavaScript the Hard Parts, “which was really hard” soon Kim was spending her Monday and Wednesday nights at Codesmith, adding pair programming to her training.
“It was still in person at that point in time and it was a great experience. I did a ton of pair programming and that was the number one thing that solidified my skills as you can learn so much about how you interview and handle thinking under pressure. I used that to get into the immersive.”
However, that transition wouldn’t happen as soon as Kim hoped as the world ground to a halt due to the pandemic.
“As I was still working as an analyst at that stage, work became more strenuous, so I put coding to one side for a time.”
It meant needing to relearn many things when she had time to return to code but, in what Kim sees as a stroke of luck, her employer in healthcare ended up letting her go during lockdown.
“I got laid off during COVID, and it was great, it gave me time to focus again on coding. At this point I was used to pandemic life. I spent a couple of months relearning the things I had forgotten.”
Following this she joined the Los Angeles Full Time Remote Immersive program, despite living in Brooklyn, New York. “The immersive was challenging, but it was great for me. My cohort was amazing, we hung out a lot virtually and even have met in person since we all graduated.”
The hours were long, she admits, but they didn't feel that long. “Once you're in it, you just grow accustomed to it and I was so glad that it was online because I would have hated commuting.”
Although she had never imagined she may end up with a career in software engineering, Kim is enamored with the systematic problem-solving nature of coding. “It was a pleasure that I stumbled into all this, rather than it being something I was searching for,” she says.
Looking back she says she has even been surprised by how social the world of coding turned out to be, in contrast to the stereotype of quiet coders thrashing away at a keyboard in the corner of a room.
It was this strong sense of community within coding that Kim has found a way to solve the neverending problems that arise in her work.
Today she solves problems best by sourcing information from the crowd, and today when facing a tough challenge she usually starts to solve it by throwing some debugger statements into her code.
“I just don’t believe that the solutions I’m looking for don’t exist”
Then she “chases the rabbit,” stepping through functions to see what’s calling what, who’s calling who, playing telephone to see if some data is getting passed incorrectly.
From there, she follows the knots in her thread until she finds the big tangle, but if she can’t find it, or she’s not sure how to untangle it when she does, she turns to the community.
“I’m the type of person who wants to see a problem from every angle, and it’s hard to do that by yourself, so I go to my peers for help,” she says.
Whether that’s in person or on online forums like Stack Overflow, of which she declares herself a disciple, “all of her decisions are basically a smoothie of everyone’s advice that I blend together to work for me.”
“The style of engineering work I love could be done a million different ways, and I have to find the unique one that works for me”
“The style of engineering work I love could be done a million different ways, and I have to find the unique one that works for me”