Live data from Hacker News

Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

news.ycombinator.com

101–110 of 309 posts

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#101
post #44

Earlier quoted context omitted.

What exactly did you have trouble with? These really are simple problems, all you need are an understanding of loops, ASCII character codes, and basic arithmetic. To be honest, I'm surprised a seasoned developer of 5+ years can't do these, or at least have a decent stab at them.

Why would you expect the modern application developer to even know what ASCII is? There is a chance I wouldn’t know what ASCII encoding was if my exposure to programming didn’t start in the 8 bit era. C is foreign to a lot of self taught programmers.

ASCII does still map to the most commonly used parts of Unicode, so there is that. I would agree that I wouldn't have the foggiest idea what most of the ASCII character codes are if I hadn't cut my teeth on archaic stuff like QBasic; I remember a lot of silly little toy assignments doing rot13 or manually upper and lowercasing strings. But they do come up from time to time when you get into, for instance, JS keydown/keyup events. But any competently designed modern API ought to at least have named constants for this kind of crap

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#102

Earlier quoted context omitted.

I am guessing you don’t work in the Bay Area.

Nowhere near it - and neither do most other developers in the US.

Wasn’t trying to imply that’s the case. I’d love to move out of the Bay Area, just to get away from the whole “leetcode or GTFO” interview style, but the fact that there are so many opportunities around here keeps me here for the moment. Well, that and I can actually make enough money to pay my student loans while living somewhat comfortably and saving a little money. If I knew anyplace that had decent weather where I could do those things, I’d be looking at the next flight out.

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#103
post #62
post #41

Earlier quoted context omitted.

Is there a particular part of these problems that is stumping you? Perhaps breaking them down into smaller sub-problems? Where is it something else? Based on your original description I was expecting something more heavy on straight CS theory. “how do you sort an unordered binary tree in place“ kind of thing.

> heavy on straight CS theory. “how do you sort an unordered binary tree in place“ kind of thing. I was having a related conversation earlier, and feel like I'm reprising the same argument for a new audience, but... I don't see what is either Computer Science or theoretical about that. It seems like an eminently practical task: Handling things in a tree structure, sorting items, and doing work in-place to conserve re…

If you are writing a webapp in PHP you need none of these things.

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#104

Earlier quoted context omitted.

Nowhere near it - and neither do most other developers in the US.

Wasn’t trying to imply that’s the case. I’d love to move out of the Bay Area, just to get away from the whole “leetcode or GTFO” interview style, but the fact that there are so many opportunities around here keeps me here for the moment. Well, that and I can actually make enough money to pay my student loans while living somewhat comfortably and saving a little money. If I knew anyplace that had decent weather where…

Give SoCal a shot. You can get very competitive salaries when compared with NorCal right down here, and the cost of living is not quite as bad.

I'm hiring Ruby devs down in Costa Mesa, and I don't ask any algorithm questions :)

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#105
post #61

Earlier quoted context omitted.

Putting aside the damage that issues with correctness can cause, the problem is exactly that if you e.g. wrote something that grows with n^2 instead of n log n, you cannot scale by "brute force" anymore, as the inefficiency very quickly outgrows the amount of resources you can add. Seriously, your thinking that "algorithmic inefficiency" can be countered by "scaling" is almost proving the point. CS is by far not just…

Scaling an application's operation does not directly relate to its algorithm's efficiency, is my point. Of course a really inefficient application can eventually become unusable, but even terribly performing applications can be "worked around" and thus scaled higher. Say your app is using bubble sort. Egads!!! What a shit design. Clearly this is going to become a nightmare in real world scenarios. But wait - we can t…

but even terribly performing applications can be "worked around" and thus scaled higher. [...] How can we achieve this? By monkeying with the dataset, queueing and batching operations, invalidating operations that take too long, artificially limiting the number of requests per second, or just passing the request to a completely different app depending on use case.

And that's a good thing? Part of my point is that this can be avoided, or at least have a higher probability of being unnecessary, if the proper basics were learned.

Wouldn't you wish the author would have just known how to properly sort a list[1] in the first place?

"Scaling" the development process can significantly reduce the amount of time needed to solve problems, or complete new features. It can be more beneficial to be able to ship code faster and more reliably, even if it isn't the most efficient code

Agreed to that, but as said, computer science is not just about runtime complexity. Knowing computer science might help you avoid those situations, or resolving them quicker.

I know that shitty stuff can work, even work "well enough", but going back to my original comment: Maybe it could work much better, simpler, more profitable if that's your favorite metric, with just the application of some basics, if they are known.

[1] Noting that "sorting a list" is a stand-in for all sorts of tasks that benefit from CS-knowledge.

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#106
post #55

Earlier quoted context omitted.

As a self-taught programmer who doesn't have a CS degree, my experience has been that this is not a significant hurdle to any workplace that I would seriously consider applying.

As a self-taught programmer who doesn't have a CS degree, my experience is substantially different. There are many places where I would seriously consider applying (FAANG) that this would be a significant hurdle. I've taken to competitive programming as a way to prepare myself, but I'm a long way away from being at a level where I'm comfortable applying to the companies I'd like to work for. I think a lot of people l…

As a person without the degree that works at one of these companies, I can honestly say that it's incredibly difficult to get in. What I haven't seen anyone talk about is how it haunts you constantly. Not necessarily coming from other people, but knowing that if someone wanted to call you incompetent, it'd be on you to prove otherwise since you dont have the degree to back up your knowledge. I wish I could go back and get a CS degree just to tame the thought that it could all fall apart so easily.

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#107

Earlier quoted context omitted.

Except when it comes to getting a job. Forget any of the rest of your skills, because we all know the only thing that matters when interviewing is an ability to recite CS algorithms out of memory and solve obtuse puzzles while pretending you've never seen them. I’ve been a professional developer for 20 years and have never had to recite CS algorithms or solve obtuse problems. My last three jobs I had to whiteboard an…

Good for you, but your interview experiences would be atypical these days

Right. Having my own companies and hiring people over the last 20 years has jaded me. lol

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#108
post #55

Earlier quoted context omitted.

As a self-taught programmer who doesn't have a CS degree, my experience has been that this is not a significant hurdle to any workplace that I would seriously consider applying.

As a self-taught programmer who doesn't have a CS degree, my experience is substantially different. There are many places where I would seriously consider applying (FAANG) that this would be a significant hurdle. I've taken to competitive programming as a way to prepare myself, but I'm a long way away from being at a level where I'm comfortable applying to the companies I'd like to work for. I think a lot of people l…

I am self-taught and work at Apple and the interview process is team by team. My team doesn't care whether or not someone has a CS degree and we don't ask algorithms questions. We care a lot about software engineering as a craft, though, and ask architecture questions.

Of FAANG, I only know of Google having a standard interview for all software engineers across the company (and one that is algorithms-heavy).

Plug: If you do iOS engineering, we are hiring: https://twitter.com/conradev/status/1035244142488506368

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#109
Depends on your area of focus. Schools tend to be much more focused on the academic / math than practical application development.

CS isn't as critical until you have to worry about efficiency, scale, or creating radically novel solutions. At which people you naturally will pick up more CS as you try to solve these problems.

Building something and building something that can scale are almost 2 completely different tasks. Asking questions like how much disk space will this take? How long will it take to perform a lookup? How do these factors change as the data grow?

Another area where CS becomes more important is when you want to come up with new abstractions.

To do what others have already done you don't need much CS knowledge because others have created libraries for you and have already established the design patterns. But CS becomes more important when you want to invent new paradigms and algorithms.

Re: Ask HN: I've been a programmer for 6 years, and I can't solve basic CS problems

#110
The point of studying data structures and algorithms that you may not use on a day-to-day basis is that they make you learn to think abstractly about problem solving. That is the whole point of getting an undergraduate degree in CS. I'm sorry that you have trouble with this stuff OP, it would be a good idea to do the cs50 course with your wife until you're comfortable with this stuff. I'm sure it will pay dividends in your future.
Post reply on HN