Live data from Hacker News

Don’t Believe Anyone Who Tells You Learning To Code Is Easy

techcrunch.com

121–130 of 186 posts

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#121
post #113

Earlier quoted context omitted.

I have been programming professionally for 10 years, 5 years more as a hobby. I have been paid 100s of thousands of dollars, my code is used daily by 10s of thousands of people, I have built large, complex systems from scratch, worked in teams and by myself. The things I make do what they're supposed to, they don't break often[1], tend to be fast and usually my client is a happy bunny. I can fix anyone's code, even w…

> I can fix anyone's code, even when I've never used the language before [..] You can jump into any codebase and solve core architectural problems like precise garbage collection, eventual consistency, or miscellaneous dead locks? I'm not making up contrived examples, these are some of the problems my friends and I are currently dealing with at work for different companies. > I would only have a vague idea of how to…

Yeah, probably, but that's one of my skills, I have fixed a lot of bugs.

But take a step back. What are you trying to say? You're better than everyone who hasn't done these things? You're somehow a real programmer and everyone else isn't?

And look how big your penis is!

Seriously, what were you trying to achieve with this comment? What have you demonstrated? You're a specialist, you know certain things other people don't. So what? It doesn't make you any more of a programmer than I am.

And seriously, don't puff up the differences between languages, in the end every language is just a different way to take some data, transform that data and emit that new data. What happens in between is nothing particularly complex, it's simply the sheer number of those steps that can happen that make it complex. The whole point of languages is to make it easier to express something. Not harder.

I honestly don't know what perceived slight you were responding to. Carry on believing only the highly specialized 0.1% of programmers are real programmers if you want. Stop being limited by your own snobbish elitism.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#122

Earlier quoted context omitted.

I have been programming professionally for 10 years, 5 years more as a hobby. I have been paid 100s of thousands of dollars, my code is used daily by 10s of thousands of people, I have built large, complex systems from scratch, worked in teams and by myself. The things I make do what they're supposed to, they don't break often[1], tend to be fast and usually my client is a happy bunny. I can fix anyone's code, even w…

> would only have a vague idea of how to do a integer => string conversion with base N without googling it. So am I shit? I would probably not hire you unless you could actually back up your dubious claims ("I can fix anyone's code ..."). The funny thing is, while I am judging people by their ability to solve a particular problem (which admittedly may have an age bias), you are judging people who studied CS based on…

I'm not judging them. There are great programmers who studied CS. Is a worthwhile thing to add. The best programmer I know studied CS.

It's worthwhile, if you can actually program.

It's unfortunate that a lot of people have to wait till they've gone to Uni, studied CS, gone into the real world, got a job programming, and found they cannot program.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#123
post #104
post #88

Earlier quoted context omitted.

You missed this part of the post then: > whole teams grind to a halt productivity-wise because the codebase is so bad

Don't be ridiculous. That does not make "You are doing god's work, son. Thank you." any less ad hominem, nor do you actually demonstrate any reasons. Your argument amounts to "copy+paste coding is bad, therefore your codebase is bad", yet at no point explains why. But keep downvoting anyone who points that out :)

An ad hominem argument is one in which you reject a position not on its merits but because of who is making it. They took a position that copy/pasting code leads to unmaintainable code, therefore his argument is not ad hominem.

He's being insulting, sure, but that doesn't mean he's making an ad hominem argument.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#124
post #69

Earlier quoted context omitted.

Please never stop doing this. I get paid $$$++ to swoop in after people like you are done and whole teams grind to a halt productivity-wise because the codebase is so bad. You are doing god's work, son. Thank you.

You are being offensive here - going all as hominem rather than actually demonstrating any reason parent comment is wrong.

I read it a bit of a joke, not meant maliciously, and yet with a lot of truth to it.

I'm sort of in between "get shit done" and "fix other people's shit" in my work. Because I like to take pride in my work, and because I don't want to leave the full timers with yet more contractor mess, I take care to do my job as well as I can. And I prefer projects where I can be proud of everything I do.

But in the 'trenches' of unsexy work, where my ideals meet reality, neither I nor the full-timers always have the time, money, or expertise to do things right, and are sometimes even forced by management to just get it done.

And I don't always mind. I can be happy with the result because it serves its purpose, and I made both the managers and many customers happy, even though I cringe at the underlying mess we produced. I know it is likely to cause much more work down the road, and I would generally advise against 'ship first, refactor later', but I'm also okay with the idea that I provide work for specialists to fix my mess.

Can I call myself a 'programmer'? Or am I more of a 'code monkey'? Do 'real' programmers thumb their nose at my sometimes shoddy code?

I don't really care. I'm happy with my work, and with my solutions. My aim is to move towards being able to provide full, high-quality solutions, because that makes me happier. But it also makes me happy to creatively solve problems in a way that might be imperfect, or frowned upon by some.

The most important reason for me to provide good, solid, readable code is because I care about the full-timers I meet who don't enjoy fixing my mess, and because I don't want my client to get into trouble later. That's why. It's primarily (but not exclusively) because I work with humans and I don't want to abuse my 'privilege' as a contractor and (relatively) skilled communicator to give other people headaches and crying fits over having to fix my junk. I've seen that happen, and it sucks.

(sorry, not necessarily directing this at you specifically)

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#125
post #120

Earlier quoted context omitted.

Well yes, but libraries are really just an advanced form of copy/pasting and you can still do damage by using the library incorrectly, so you often end up using sections of examples by the people who wrote the library or who are otherwise experts in its use on how to implement the library correctly.

Sure, you can argue that library use is copy-pasting, if those snippets you're pasting come with regression tests and have been code-reviewed by multiple people. I'm going to go ahead and suggest that a tremendous number of encryption mistakes are made specifically because people copy-paste library invocations without understanding what they're invoking and why. When you just sling a chunk of code into a project with…

I agree that you need to understand what you are doing and why. I'm not saying that these bits should be treated like magic, just that you should think very carefully before you differ from them by very much.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#126

"They don’t tell you that a lot of programming skill is about developing a knack for asking the right questions on Google and knowing which code is best to copy-paste." No, no, no! This always frustrates me. This is not 'coding' (maybe it is, and we should be doing less of it, and more programming). This is gluing together pre-coded snippets and trying to make it work. Continuing to do this is an impediment to gettin…

Absolutely disagree.

I personally learned (as I think many people did) by copying code out of books. Whenever something went wrong, I had to figure out whether it was my typo or the book's typo or my conceptual error or the book's conceptual error. That process helped me to learn a lot, and quickly. If everything went perfect, I got to play some creative game which I loved and gave me a sense of acheivement that helped me to progress.

I no longer do this, because it's not relevant to me at this stage of my learning, but I view that as an important part of my early learning process. If you reflect on your own early learning process, I would be extremely surprised if you didn't copy and paste code. Frankly, you are surely still dependent on other people's code now, you just might call it a 'library' instead.

I agree if you're saying professional developers should avoid copy-paste (there are also legal consequences), but new learners can make great progress by using copy-paste. I would say it's an essential part of studying what other people have done.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#127

Earlier quoted context omitted.

> Copy and paste doesn't help you at all with this. In some cases it may prevent you learning essential lessons and hinder your improvement. It annoys the heck out of me too when people apply for a programming job and cannot implement even trivial CS methods (like integer => string conversion with base N), then point out that they would just Google for a solution if they needed something like this. But to be honest,…

I have been programming professionally for 10 years, 5 years more as a hobby. I have been paid 100s of thousands of dollars, my code is used daily by 10s of thousands of people, I have built large, complex systems from scratch, worked in teams and by myself. The things I make do what they're supposed to, they don't break often[1], tend to be fast and usually my client is a happy bunny. I can fix anyone's code, even w…

>>I would only have a vague idea of how to do a integer => string conversion with base N without googling it. So am I shit?

If you receive a programming task like the above (with a relatively clear specification, very little state to manage, defined domain of the desired function, and the input and output of the function are most likely primitives in your language, your standart library probably have lots of utility functions to work with these primitives), I will expect, that you should be able to do it without googling.

Your solution may not be the most effective/short/clean, but it should work. If you can not do it without googling, well ... yes, I do think you are a shitty (or just out of shape for the moment) programmer.

You will need more programming exercise, in order to know more algorithms and aproaches to solving problems, and/or learn better your language and its standart library.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#128

If you are considering a career as a web engineer, I think the first thing you need to ask yourself, do you enjoy tying and untying knots over and over again. If you do, you probably have the right stuff to be a really good programmer.

I've also heard web programming described as plumbing. I wish I knew this before I started my Master's degree in IT. Programming is frustrating if you don't have an engineering background... you keep running into new problems and people telling you what you could do better.

I would never describe either finding new problems or people telling me what I could do better as frustrating! They are both some of my favourite things to experience!

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#129

Earlier quoted context omitted.

I completely agree with you and frankly I'm shocked to see most of the responses here purporting copy-pasting someone else's code to be a legitimate practice. I also imagine that most if not all of these people are into web developed where there's a long history of copy-pasting snippets of code and no one knows what he's really doing. I've seen many people write a jQuery script for their website and calling themselve…

Same. I'm actually a little shocked HNers think regularly coping and pasting code snippets off the web is ok. That's, kind of crazy. This is bad especially for young developers (such as myself). Not to mention jeopardizing the security and integrity of your software project. I hear 'don't reinvent the wheel' often written in blogs etc. That is not good. The lazy developer would read that and go, 'oh, I dont need to k…

> I'm actually a little shocked HNers think regularly coping and pasting code snippets off the web is ok

I'm not surprised.

Ever observe threads about software engineering? They're profoundly anti-intellectual. HN is not the place to get any sort of engineering advice, I'm afraid. It's tailored towards self-promotion via programming. The difference may seem small, but the motives are quite different: mastery (as a developer) vs getting it done.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#130

"They don’t tell you that a lot of programming skill is about developing a knack for asking the right questions on Google and knowing which code is best to copy-paste." No, no, no! This always frustrates me. This is not 'coding' (maybe it is, and we should be doing less of it, and more programming). This is gluing together pre-coded snippets and trying to make it work. Continuing to do this is an impediment to gettin…

Absolutely disagree. I personally learned (as I think many people did) by copying code out of books. Whenever something went wrong, I had to figure out whether it was my typo or the book's typo or my conceptual error or the book's conceptual error. That process helped me to learn a lot, and quickly. If everything went perfect, I got to play some creative game which I loved and gave me a sense of acheivement that help…

Do note that there can be a difference between copying code from a book (where you have to read each bit of the code and write it down) and simply hitting ctrl-c ctrl-v, in terms of what you learn.
Post reply on HN