Live data from Hacker News

Why Learning to Code Is So Damn Hard

vikingcodeschool.com

141–150 of 270 posts

Re: Why Learning to Code Is So Damn Hard

#141
post #125

I feel I hit the job ready part and started to work as a software engineer and I think I'm about as productive as I cost the company. Actually I feel a little better than that and my colleagues a little worse than that, but I guess that's how everybody in the middle feels. The thing is, after that job ready upwards slope there is the next downswing. You're able to get something done, but what you envision is not what…

Yes there is another upswing after that. But be aware some of the on the job skills are not unique to Software Dev.

* How to run a meeting.

* How to allocate Make time.

* How to collaborate with other people.

* How to understand business needs.

All of these are skills you need in any white collar job. Learning them is a part of any job you might do.

Even the software specific ones like:

* Packaging

* Shipping

* Versioning

* Tooling

Are all going to be job specific. You'll find some of them to totally non portable and some of them will transfer just fine.

The good news is that by now you'll have begun to hit a groove when it comes to knowledge acquisition and learning this stuff will get easier.

The next high is when you start to recognize Process Patterns in the jobs you take on and how to best handle them. Or even which ones to avoid like the plague either by effecting change in the company or changing employers.

Re: Why Learning to Code Is So Damn Hard

#142
post #71

When I was in college, one CS professor explained the difficulty of coding to me in terms of discreteness vs continuity. In the real world, things are continuous. If you accidentally build your structure with 9 supports instead of 10, then you only lose 10% of the strength of the structure, more or less. The strength varies continuously with the amount of support. But if you're writing a 10-line program and you forge…

Unless you're doing Rails, in which case it'll be read as a magic method and guess what you meant :-P Seriously, that was a major sticking point for me having programmed for a long time: going from "if you have not declared that identifier, game over" to "magic happens".

I've been teaching myself off of online resources and 'magic' was what I hated most along the way. I can't debug magic. I've ended up digging so deep to understand things that I'm covering assembly now. It's painful, but going so far has made everything else make a lot more sense. Data structures are easier to conceptualize and will be easier to work with (for example).

But most people I know don't get this far when they self teach or do a bootcamp. They just know that, given a framework, they can build things but not how anything was really built. Sure it's effective to push out a product, but it makes diving into real programming pretty difficult. That's just my perception though.

Re: Why Learning to Code Is So Damn Hard

#143

When I was in college, one CS professor explained the difficulty of coding to me in terms of discreteness vs continuity. In the real world, things are continuous. If you accidentally build your structure with 9 supports instead of 10, then you only lose 10% of the strength of the structure, more or less. The strength varies continuously with the amount of support. But if you're writing a 10-line program and you forge…

I remember this one thing he pounded into our brains: "CS doesn't stand for Computer Science. It stands for Common Sense!" Heard ad nauseam in CS 340.

Re: Why Learning to Code Is So Damn Hard

#144
I think one effective way to navigate the "Desert of Despair" is to join another project first. That gives you the focus you need and set of practices and libraries/language/frameworks to learn deeply. And as you learn how senior people in the project make their decisions and hear stories about the history of the project you gain context and valuable information for the next stage.

Much of what I've learned I learned by working with or lurking in the communities of open source projects.

Re: Why Learning to Code Is So Damn Hard

#145
post #112

Hey there, really, really great article! It really spoke to me. I've got a small question for you, though: I'm in the Cliff of Confusion, but I have a serious problem. I can't even build a program. I know syntax, structure, etc., but I don't know how to pull all of it together to actually build something that serves a purpose. Do you have any advice for me?

programs, in the limit, look like this:

1. consume input 2. do work 3. print output

find a small but interesting piece of work to do and code that. repeat several times. there are sites that provide you problems to solve if you don't have any ideas of your own (like project euler).

Re: Why Learning to Code Is So Damn Hard

#146
post #100

Earlier quoted context omitted.

Really? How is being a brain surgeon more difficult than being a computer surgeon ? Understanding how a CPU completely works, on the assembler and even on hardware level is FRIGGING HARD. Computers are very complex and huge beasts of logic to really understand, and the best programmers have to understand a huge amount of technical skills and systems in order to get the wanted results. I have no idea how much stuff a…

Being a computer surgeon rarely involves much physical dexterity and typically lacks the urgency/pressure that being a brain surgeon regularly entails. Comparing "computer surgeon" to brain surgeon is like comparing sudoku to racquetball.

Also, in 95% of cases, nobody's life depends on your software.

Re: Why Learning to Code Is So Damn Hard

#147
post #122

I feel like I'm in the "Desert of Despair" and I'm not quite sure where to go. So far I'm self-taught in C, C++, Python, Lisp (a few of them) and some shell stuff. I have the basic syntax nailed in all of those. I don't know any of them well enough to be able to write simple programs without constantly looking up StackOverflow articles or reading references. I haven't even touched GUI programming. It doesn't help tha…

I totally get you. I'm at the same place myself. I just decided the only way forward was to do 'hack nights' at my house and invite any programmers I knew who find it fun. Keeps me focused on actually building out a project, we all get/give feedback, and I feel like I was productive.

Also, learning in a vacuum can make it hard to really benchmark how knowledgable or 'good' you are. So getting some feedback in groups may help out.

Re: Why Learning to Code Is So Damn Hard

#148

In my experience, one thing that can make the path feel more progressive and monotonic is having a set of problems that need to be solved, with a wide range of difficulties. This provides consistent short-term gratification while also providing long-term gratification and utility. For me, as an earth scientist, there have always been small calculations or simulations that are quite valuable, even though they are not…

What you said really resonated with me. Especially your professed sources of motivation and how programming for its own sake was never enough.

Re: Why Learning to Code Is So Damn Hard

#149
post #91

Earlier quoted context omitted.

> But if you're writing a 10-line program and you forget one of the lines (or even one character), the program isn't 10% wrong, it's 100% wrong. (For example, instead of compiling and running correctly, it doesn't compile at all. Completely different results.) This is where the beauty/simplicity of some programming languages, namely, intepreted languages (e.g., Python), comes in: if a bad line of code never gets exec…

I'd rather know when something is incorrect, rather than pushing to production and finding out later because someone else took that code path.

If you rely on your compiler to tell you that your code is correct, there are whole classes of bugs that are waiting to surprise you in production.

I think that many years of developing large applications in Perl were really good for me. Perl is compiled when you run it, so you get the basic-syntax check that you get with other languages. But it's also very lenient, so you learn through experience to get your logic right, test return values, and do all of the things that help make sure that a program which executes is executing correctly.

Re: Why Learning to Code Is So Damn Hard

#150

Earlier quoted context omitted.

C'mon, all of those things you listed (brain surgeon, rocket scientist, lawyer) are WAY harder and more expensive/time-intensive to get into than software engineering. If you feel like your knowledge is getting flushed away with a new platform, then you've been learning the wrong things.

Those people are smart but there's a textbook to follow, a clear path to graduation. I didn't mean to start a war of the professions, I'm sure there's already a Hacker News thread for that. My point was, you can teach yourself a half-dozen programming languages, operating systems, databases... (which is inevitable for most developers) or you could have spent that time collecting diplomas in academia. This is not real…

Most of those other professions require ongoing learning, too. Doctors and lawyers have continuing education requirements for licensing, scientists have to constantly be reading journal articles, attending conferences and keeping up with the latest developments in their field.

I understand the point you're highlighting, but there are very few interesting jobs where you get to say "Ok, now I'm done learning and I know everything I'll ever need to know to do this job perfectly."

Post reply on HN