First Post

So, ever since summer term ended I’ve been looking for ways to try and improve my software engineering skills outside of the (online) classroom, which I imagine most other students are doing as well. I started a flutter project, skimmed through a lot of my old notes and assignments, and got a few chapters into a book about Unity. Along with all of this, I started using Leetcode.

Now, just to back up a little bit to explain how I got started using leetcode. I saw a post a while ago (over a year) by someone on the OSU Computer Science post-baccalaureate sub-reddit hiring thread saying that the only reason they got hired at their company is because of the classes that they had taken at OSU, and also because of all the problems they had solved on leetcode. I had never heard of it before that point, so I googled it and tried out one of the problems.

I did the very first problem, two-sum, just using a simple for loop. I wasn’t really thinking about the optimized way to solve the problem or anything like that, I hadn’t even taken Analysis of Algorithms at that point. So I did a brute force approach, not even realizing I could’ve used a hashmap. After solving that problem, I moved on to a much harder one. I can’t remember which one exactly, but after being stuck on it for over an hour, I never wanted to log in to leetcode again.

It probably took a few months before I logged back in again and retried the problem I had gotten stuck on. After another hour, and watching a youtube video breaking down the problem, I finally got it. After that, when I had a little bit of downtime between schoolwork, I would try to do another leetcode problem, and I always inevitably got stuck and gave up on leetcode for a few weeks while I focused more on school.

But when summer term ended and the realization started to become heavier that I was close to the end of the program, I thought I’d go at leetcode a little harder. It’s been about six weeks since then, and I’ve completed about thirty-five leetcode questions. As I wrote before, I’ve also tried to work on a few other things during that time.

I think the point I’m trying to get at is that in a weird way, I think using leetcode has made me a better software engineer in some ways. Some of the questions can seem so simple, yet have a complexity beneath them that can be frustrating to wrap your head around at times.

Using leetcode, though, has also made me wonder about what actually makes a good software engineer. I’m not sure if it’s taught me anything that I can directly apply to the Capstone project, for example. Although, maybe it has. It just makes me wonder if there’s a way to quantify when someone’s ready for a software engineering job, or when they’re “good enough” to actually be considered a software engineer.

Until I find the answer to that question, I guess I’ll keep practicing on leetcode.

Leave a comment

Your email address will not be published. Required fields are marked *