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

71–80 of 309 posts

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

#71

> Some of the problems which she is expected to solve are pretty simple problems, but I just can't seem to get the hang of any of them on my own. So what are some examples of those problems? No one can really tell you if this is something unusual or not without having an idea of what the problems are. And CS courses and algorithms vary from pretty simple to actually really hard.

Probably something like implementing a red-black tree or merge sort, stuff no one does in the real world :) There is a considerable disconnect between programmers who have a CS degree and those who don’t. I’ve run into programmers who’d never heard of the term “boolean algebra” before and knew about regular expressions but didn’t know what a state machine was. For the most part it doesn’t matter, but it’s always a li…

Well, red-black trees and merge sorts don't grow on trees (ahem), even in a real word :)

But yeah, those are gonna be tough to just come up with on the spot without actually studying them. On the other hand, OP could be talking about stuff like tree traversal and similar simple stuff that is also included in introductory CS courses.

Edit: OP chimed in elsewhere in the comments, it's not even about CS stuff.

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

#72
post #63
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.

We probably underestimate how many people out there are just copy/pasters. No offence OP but I hope you dont work on anything that handles money/user data/requires security.

I do! I develop bespoke add-ons for the accounting software Sage 200. Fear not, my work is peer-reviewed by my boss who has 35+ years experience in the field.

If I get something wrong, my boss lets me know, I learn from my mistakes and ship out good quality software.

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

#73
post #57

Earlier quoted context omitted.

Thanks for your reply. To be honest, I'm only just able to write a program in C, which is the required language for these CS50 tasks. I've never been asked to do this kind of work before, so I had no idea where to really start. The walkthroughs provided in the course gave me a high level overview to the solution required, but being able to translate that pseudo-code, if you will, was the part which I was completely s…

Have you reviewed the lectures and other course material or just jumped into the problem sets? A thing that may help: Approach this CS50 material as if you have no knowledge of programming. Set aside your preconceptions about both your ability and the nature of programming itself (to the extent that this is possible). Review the materials and read/watch all of it, even the things that you know . You may know them, bu…

At the beginning of the course, this was one of my problems. My fianceè would give me the specification of the program and that's it.

I've since learned to also follow along using the walkthroughs provided, since they provide answers to the most basic of questions that I would have asked.

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

#74
post #51
post #43

Earlier quoted context omitted.

The examples you gave are very helpful in giving more context. I'm guessing that you're productive in your job, because you know the details of how to use language ABC, framework XYZ and the various patterns for solving common industry problems using ABC and XYZ. The part you seem to be weak in, is abstract problem solving. Ie, coming up with a pseudo-code algorithm that will accomplish some abstract goal that you've…

Your first paragraph hits the nail on the head. This is exactly me. Thank you for your reply. I do intend to work further on my skills in order to get better!

I went through this too! I'd definitely recommend giving it a go if you're up for it. You may have those moments of utter confusion, but you'll definitely learn a lot!

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

#75
post #55

Earlier quoted context omitted.

>And that's okay! Inventing new algorithms with theoretical significance is not your job! You have other skills and they're of much more immediate value! 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.

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.

Where do you find jobs to apply to? I am also a self-taught programmer without a CS degree, and it seems that a surprisingly large portion of companies use obtuse algo/whiteboarding interview questions. My objection is less that I don’t know or can’t learn them and more that it seems like a waste of time to prep for stuff that isn’t useful.

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

#76

Think of it this way: application development, software engineering, and computer science (and data science and ... etc) sometimes use the same tools but are all different disciplines. Universities traditionally focused on Computer Science and their graduates would often need a lot of grooming before they could really be independently and reliably productive in the commercial words of application development or softw…

>And that's okay! Inventing new algorithms with theoretical significance is not your job! You have other skills and they're of much more immediate value! 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.

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 architectural diagram of a system, come up with a 90 day plan to create a software development team (I didn’t know I was applying for a lead position), and describe how I would introduce Devops, redundancy, traceability, etc into a system

The closest I came to a CS style interview was my second job out of college when I had to explain high level different data structures. That was actually important since we were writing cross platform, C that had to be highly optimized.

I’ve gone on lots of interviews with only two rejections - the rest I took my name out of the running once I got the job.

I came up as a traditional computer geek - learned how to program in Basic and assembly on an Apple //e in middle school, fell in love with C, spent way too much time on comp.lang.* groups etc.

One of my best friends who I worked with across three jobs graduated from one of those infamous for profit schools, for years wouldn’t know an algorithm if it hit him in the face, but spent a lot of time on side projects, reading best practices from books, etc. and is one of the best architects I know.

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

#77

Earlier quoted context omitted.

seconding this, creating value is orthogonal to knowing CS. see the creator of homebrew, Max Howell infamously failing to invert a binary tree in an interview: https://mobile.twitter.com/mxcl/status/608682016205344768?la...

I have yet to see a definition of what “invert a binary tree” even means.

I think "mirror" is a more intuitive description of the problem, but essentially you reverse all of the left and right subtrees. This Quora question [1] has a few different approaches listed.

[1]: https://www.quora.com/What-is-the-algorithmic-approach-to-in...

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

#78
I think you are seriously underestimating how valuable you are.

CS 101 data structures is all fun and great but the majority of businesses out there exactly require the skill set that you have.

Sure there are positions that demand deep knowledge on how algorithms but those are few..

You needn't to look further than Google itself.. they have many engineers that can apparently solve BigO problems, yet they fail to deliver a simple email client that works..

You deliver business value to companies, help them grow, create jobs and make profit.

This is something you should be proud of

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

#79
It's certainly not required. I work with a guy whose degree isn't in CS, and he's a fine coder. He doesn't know the theory, but he's paid enough attention over the years that he knows what works, what the pro/cons of the various data structures are — he understands the code that well enough to understand why. (And practically, that's probably more beneficial.)

The CS backing can definitely help, though. We've had plenty of problems at my job that involve writing a parser for often very tiny languages. Having an understanding of CS theory here — the various language classes, what an FSM is and where it is useful, etc. — definitely helps. However, often the language at hand is simple enough that a handrolled parser that skillfully uses a few regular expressions to get the job done suffices just as well. Googling for a parser library and just using that suffices, too.

Or we have to build a somewhat custom file format, or parse a somewhat custom file format. I've interviewed a fair number of candidates that are not comfortable reading or writing bytes to a file. (And of course, this is not the only question we judge them on. But very few candidates in my experience only miss a single question.) They've worked on innumerable "RESTful" APIs, but seem to have no idea how HTTP works; they've done server side Linux/unix/etc. development all their life, but never worked on a command line.

I hold a CS degree, and what grinds my gears is when it is just dismissed outright. As an example, I've had a coworker who was trying to determine what order various interdependent tasks needed to be accomplished in; to anyone who has been through graph theory, this is simply a topological sort, and there's a rather trivial algorithm that you arrive at in the course of studying graph theory. But at the suggestion of "this problem is a topologicial sort; X is a decent library that implements it", I get told "Now, I don't want to go down some PhD CS thesis rabbit hole." Right.

> fianceè

"fiancé" for a man[1], fiancée for a woman[2]. (Pronounced the same.)

[1]: https://en.wiktionary.org/wiki/fiancé#English

[2]: https://en.wiktionary.org/wiki/fiancée#English

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

#80

Think of it this way: application development, software engineering, and computer science (and data science and ... etc) sometimes use the same tools but are all different disciplines. Universities traditionally focused on Computer Science and their graduates would often need a lot of grooming before they could really be independently and reliably productive in the commercial words of application development or softw…

seconding this, creating value is orthogonal to knowing CS. see the creator of homebrew, Max Howell infamously failing to invert a binary tree in an interview: https://mobile.twitter.com/mxcl/status/608682016205344768?la...

[deleted]
Post reply on HN