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

211–220 of 309 posts

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

#211

Programming isn't the same thing as computer science, in the same way that writing isn't the same thing as journalism. Writing code is the easy part. It's tedious, requires lots of practical knowledge and troubleshooting skills, but is for the most part a straightforward exercise. Computer science is about the theory. It involves solving problems in the abstract, using (and in some cases creating) new conceptual tool…

> But doing anything truly interesting requires venturing into the world of computer science, which requires years of study to master.

What's the definition of 'truly interesting' though? I designed and helped build a SaaS product from the ground up. The product is quite revolutionary in its market and is getting interest from multiple Fortune 500 companies and smaller multi-nationals. I have 0 CS background and am fully self-taught. To me, however, this is truly interesting.

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

#212

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…

I agree with you to some extent, but I do think sometimes this point of view is taken too far. Some basis in theory is useful, not so much because you'll directly apply something you learned in a CS class, but because it helps you learn how to think about difficult problems. Most real world work is indeed just putting pieces together to get the result you need, but there are occasionally things that really are diffic…

I think I have my geek bona fides, but, studying subjects like Domain Driven Design, Clean Architecture, Patterns of Enterprise Application Architecture etc.

The hard problems that I think most people end up solving are more often business, people and process problems than computer science problems.

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

#213
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.

Remember the context, this is an introduction to computer science course. The slides for the lecture for that week most likely explained everything you need to know to solve the problem.

Even completely ignoring ASCII, it is trivial to create a dictionary mapping integers to characters.

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

#214
post #100

Earlier quoted context omitted.

I've had two successful exits since the early 2000's, most recently one that of a company that I built, wrote the product for and sold to a company in 2014 (all modern web based stacks, technologies etc). The last one, I ran engineering which had 25 developers and we shipped a brand new product to market and I helped sell that company (the company that bought me out) to a larger company. All the while, still writing…

Brilliant comment. Shouldn’t you be building startups yourself instead of trying to fit into these teams? I think your skill set speaks for itself. Recently I joked with the interviewers over Skype screen sharing that I probably wouldn’t be fast enough to get a pair programming exercise done with 3 of them watching me. And that often these things you either see right away or struggle with. They all laughed and agreed…

I've done many startups and I have to say I love it, but the struggle to fund it properly (to it right) is what turns me off. I'd rather bootstrap myself (these days) and go the "indie hacker" route and not have to deal with fundraising -- build a product myself, sell it and roll it all on my own. That wasn't possible 20 years ago, it is now.

So yeah, I've focused on the executive level, CTO, VP, etc, But with that, you have to either give up coding and just manage or go to a tiny company to be the "key player", but then you're typically at a smallish company with little to no funding. I've been doing that lately, I'm at a small start up running engineering, but I'm an "employee", not a founder.

There seems to be a clear bias with VC companies against someone my age and background. Not to say I don't have a network I could probably work and get funding, I could. But I also wanted to get back to square one and work with people again and NOT have to deal with things like Healthcare, stock options and "hey, that person needs a week off because their cats sick." -- I'd rather just CODE and learn more, enjoy the art of buildings things without the pressure of an investor looming over you.

I've made enough money to be comfortable, but I still need to earn a living -- I haven't made that "FU" money and my wife laughs and jokes that for as much success we've had, even if I did get the "FU" money, I'd still want to work 70 hours a week and write code... ;-)

About your Skype coding comment. Yeah, new trend is to "pair" with someone online in an interview process and go through programming challenges. I'm OK with that, but I don't work well that way. I work better in a situation where I can think and spend the time myself on the problem. My brain isn't wired for "fast and rapid", it's more of a "trial and error" until I get it working, then later on optimize and make it better. I do terrible at that first pass, always been more of an interactive developer who starts with something that works and then over time perfects it. That style SUCKS on a pair programming exercise.

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

#215

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…

What are the differences you consider when making a distinction between application development and software engineering? It seems to me that application development is a subset of SE.

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

#216

Earlier quoted context omitted.

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 an…

So how much do you earn there?

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

#217

You can try TDD-ing the problem. Although TDD is usually not the right approach for coming up with algorithms or solving coding challenges, it can guide your thinking a bit. Write a test for most simple input, solve the problem for this input. Iterate and write tests for longer inputs. I will repeat that TDD will not give you the most elegant answer, but you will at least have an basic implementation. TDD just gives…

I don't see any connection to Time Division Duplexing here.

(just another comment pointing out development vs. computer sciences)

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

#218
post #192

Earlier quoted context omitted.

What percentage of developers do you think are solving “hard problems” compared to ones that are just doing CRUD apps or yet another SAAS app?

In my experience, less than 5% are actually writing algorithms and solving harder problems. I work at a consulting firm with 100 or so developers, and most seem to do "simple" stuff most of the time. The most complex thing I have heard of is someone who wrote a kalman filter thing for some part of a nuclear reactor. To me it seemed hard since I don't understand the math, and apparently people around him was happy wit…

I googled kalman filter https://www.bzarg.com/p/how-a-kalman-filter-works-in-picture...

Looks interesting!

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

#219

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…

Since we're sharing anecdata, I'm a professional developer and still use recursion, building/traversing various types of tree data structures, and a few other CS degree requirements. That said, for algorithms (e.g. sorts, etc), understanding what the options are and trade-offs is certainly more useful than knowing how to implement them, since there's a good chance someone has implemented it already in your language o…

Literally just pushed this up yesterday https://github.com/pmarreck/mega_xml This is the first time I've been able to convert one tree data structure encoded as a binary string into another form native to the language at hand, in a functional language. One of the hardest things I've ever done as a developer lately, having no CS degree (I did take some electives, though) and just learning-by-doing.

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

#220

Programming isn't the same thing as computer science, in the same way that writing isn't the same thing as journalism. Writing code is the easy part. It's tedious, requires lots of practical knowledge and troubleshooting skills, but is for the most part a straightforward exercise. Computer science is about the theory. It involves solving problems in the abstract, using (and in some cases creating) new conceptual tool…

I think this is a bit of a false dichotomy. There are plenty of " truly " interesting software engineering jobs, no CS required. There is a lot that goes into designing a good CRUD app (yes, I said it). There are many trade offs, different basic architectures to choose from, different libraries, different design patterns -- all which have pros and cons to be weighed, based on the needs of the project (I speak as some…

But low-level C++ optimisation _is_ straightforward, if you're familiar with the CPU architecture. The issue is that most of the people don't want to deal with it since it's one of those areas which is not easily transferable to other domains.

It is the highly-technical BS. Just like saying high-frequency trading is an enterprise that requires incredibly smart people. No - it doesn't. It requires loads of niche knowledge that you can't apply anywhere else.

Post reply on HN