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

231–240 of 309 posts

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

#231
My spouse started a bootcamp last year and I've helped her with many algorithm assignments. Even though I have a CS bachelor degree I still struggled with a lot of the algorithms exercises out there. It requires practice and there are actually a lot of subtleties that you don't experience while working on software projects.

A lot has to to with mathematics as well. You can work on projects with hundreds of thousands of dollars and face zero mathematical problems.

I spend a lot of time, dozens and dozens of hours, helping her with these algorithms on paper, whiteboard and writing them in code. I also struggled along with her through online algorithm and coding interview platforms like Hackerrank. Solving these algorithm is difficult and often ridiculously theoretical and out of touch with the daily routine of a software/web developer.

My spouse was very worried about not being able to solve these problems. She was scared that she will have to solve these things during the internship, but of course there are no mathematical algorithms to solve when you are working as a frontend developer.

I think the trend of mathematics during development courses and theoretical algorithm exercises during interviews are not doing us any good. Most companies are not Google and you can be a very valuable developer for 99% of the companies out there without being a whiteboard algorithm expert.

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

#232
> I've worked with a few "complicated" (they were to me) projects in the past, but now I'm being tasked with guiding my fianceè with this course.

You should not solve those problems for her anyway. Help her with tools and such where necessary, but let her figure it out as much as possible. Don't do homework for her, it beats the purpose.

If the course is any good, the answers to questions are going to be easier when you attend lectures etc. If you cant see them, maybe let her explain you what was said there. Explaining someone helps to understand, so it alone would help her a lot to learn and understand.

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

#233

Earlier quoted context omitted.

It's when you swap the left and right branches of every node, e.g.: def invert(node): if node is not None: left = invert(node.left) right = invert(node.right) node.left = right node.right = left return node

Or simply node.left, node.right = map(invert, (node.right, node.left))

Coalescing those four lines onto one is fine, but writing:

    map(invert, (node.right, node.left))
is definitely not simpler than:

    invert(node.right), invert(node.left)

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

#234

Application developer is to computer scientist like car mechanic is to physicist. You've been conned into thinking Computer Science prepares for Software Engineering. That's not true. While you may need some Computer Science knowledge from time to time (and in fact there are some rare jobs heavy in Computer Science knowledge) almost all typical development and especially entry level software engineering jobs are all…

I'm happy I studied EE to work in Software/System Engineering. I always found it more helpful to think in terms of complex systems.

[deleted]

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

#235

Earlier quoted context omitted.

It's when you swap the left and right branches of every node, e.g.: def invert(node): if node is not None: left = invert(node.left) right = invert(node.right) node.left = right node.right = left return node

Or simply node.left, node.right = map(invert, (node.right, node.left))

Indeed - I just wanted to write it in a form that could easily be mapped to languages which don't support multiple simultaneous assignments :)

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

#237
> I'm a programmer and have been for around 5-6 years, I started with VB.NET since I first started learning, then progressed onto Web Development at a large agency for 4 years (PHP, JS, React) and I'm now back with VB.NET.

The running joke amongst "real" developers with CS background is that VB or web developers aren't real developers.

> It makes me question how I was hired in the first place.

Because your job require you know basic CS material? As long as you get the job done, that's all that matters.

> Sorry for the rant, but I was just wondering if anyone else felt like this.

I personally haven't because I have a CS degree but I'm sure many have. I've known musician, construction workers, bartenders, etc working as VB or web developers. As long as people get the job done, nobody really cares.

I wouldn't get too worked up about it since you are at a point where interviewers will never ask you basic CS questions.

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

#238

Honestly, I'm appalled by some of the stories being shared in this thread; smug interview panels pressure-cooking candidates as they try to whiteboard obscure CS gotchas is a system perfect only for assholes and masochists. I've now run three tech companies and hired dozens of developers by having really intense, thoughtful conversations with them. I asked them to tell me war stories and encouraged them to share insi…

Holy fuck I'd work for you in a heartbeat.

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

#239
I'm a little annoyed by the people who call these simple problems. There are no simple problems. Calling something simple is very insulting and demoralising.

It really depends on your experience and knowledge for what is simple for you.

You can have 20 years of experience developing projects and acquired a ton of valuable skills but when I shove a whiteboard in your face and tell you to solve some algorithm it's completely new and not simple at all.

Just as someone with a lot of theoretical CS knowledge will struggle if I present them with a failing dependency tree of 30 thousands NPM packages. Good luck solving that when you have never done it.

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

#240
I've been a programming since I was a kid in the 80s and for money since the late 90's and I'd struggle with what a computer scientist would consider simple problems.

It's a mismatch of domains.

Computer science !== Software engineering (though obviously there is overlap).

In practice I find that at least 50% of my job is getting requirements out of people's heads into a structured form I can explain to the high speed idiot.

The rest is working methodically, testing and documentation.

I work in the enterprise domain though so obviously YMMV if you are in machine learning, graphics programming etc.

Programming is a vast field with a huge number of sub-fields, find one you are good at and excel in that and let someone else worry about writing the compiler.

Post reply on HN