Live data from Hacker News

Coding Skill and the Decline of Stagnation

notch.tumblr.com

131–140 of 206 posts

Re: Coding Skill and the Decline of Stagnation

#131

Earlier quoted context omitted.

What, is there some kind of run on parens in your neck of the woods? Running such a lean startup you can't afford a function invocation? This isn't premature abstraction or architecture astronautics--this is just good practice. If you are in a language like Java or C, your compiler should optimize away the call if it doesn't do something clever. If you are in Ruby, this is so easy to do that it doesn't even need ment…

Sigh. If I had a dollar for every "your compiler should optimize away X", I'd be retired. Should doesn't mean does. Plus, no, often I can't afford a function invokation. Because it's yet another cache miss. If all of those things don't matter (or you work on a large enough team that the benefits of abstraction are worth it), yes, add getters/setters everywhere. For the rest of us, we might have actual _reasons_ why w…

one good reason would be because setters and getters are way easier to mock out than direct access to member variable And we all want to have code tested , don't we ? :-)

Re: Coding Skill and the Decline of Stagnation

#132

Earlier quoted context omitted.

"Does anybody know if Notch is self taught? I thought he had a CS Degree from somewhere?" The two are not mutually exclusive. I was talking with a friend recently who's working on her Ph.D, observing that everyone who thought I was so smart in college is now better educated, officially, than me. She was like "You're basically self-taught, but with a piece of paper that says you were willing to stick around in college…

This is interesting, when I studied CS at university I'd say there were 2 different types of people that got high marks. There were people who were self taught , either before they started CS or once they learned some programming at university they identified other areas outside the course that interested them and they could apply their new programming skills. These people typically got jobs in the software industry…

Interesting... if true, what this could mean is that virtually no-one who is taught programming at school ends up enjoying it. You have to be one of the ones who seeks it out before you are required to learn it, otherwise you're not the kind of person who would tolerate it as a job?

Re: Coding Skill and the Decline of Stagnation

#133
post #57

Earlier quoted context omitted.

Does anybody know if Notch is self taught? I thought he had a CS Degree from somewhere? I can't say with any degree of authority, but based on what I've read of his code, I'd guess he's self-taught. My bigoted preconception is that when it comes to abstraction in code, people with CS degrees err on the side of doing too much, creating extremely elaborate object frameworks that close down options as much as they help…

I'd kinda like this kind of evaluation on the code I write for work.

Code reviews are a great way to get feedback on your work. Like open-source, knowing your code will be seen by co-workers is a strong personal incentive to produce better work.

If your work does not do reviews now, you can still ask a co-worker to look over you code changes. Many people would be flattered that you would ask for their programming wisdom. ;)

Re: Coding Skill and the Decline of Stagnation

#134
I have a Master Degree in CS but programming mostly is self taught by reading other people's code, good code and ugly code. I know about design patterns only enough to avoid them like shit. It is just easier to hide shit under a shinning cover. There is a saying for writers : "every word tells". My principle is "every line counts". However, this is almost impossible in a team environment, so I still think that best code is one man job.

Re: Coding Skill and the Decline of Stagnation

#135

Earlier quoted context omitted.

This is interesting, when I studied CS at university I'd say there were 2 different types of people that got high marks. There were people who were self taught , either before they started CS or once they learned some programming at university they identified other areas outside the course that interested them and they could apply their new programming skills. These people typically got jobs in the software industry…

Interesting... if true, what this could mean is that virtually no-one who is taught programming at school ends up enjoying it. You have to be one of the ones who seeks it out before you are required to learn it, otherwise you're not the kind of person who would tolerate it as a job?

I don't think that's really true. I knew someone in college who had never touched a compiler before her sophomore-year intro CS course. She ended up graduating with high honors, went to work at MIT Lincoln Lab for a few years, and is now doing a Ph.D in CS.

I know several other people here at Google that went into college studying things completely different from CS, took a couple courses in it, and discovered they loved it.

I think the real determiner is what happens after college, after the academic support net is taken away. The people who go on to become really great programmers use it as a springboard to start seeking out information on their own. You can always tell whose these are once you hire them, because they'll ask you several questions about the system to orient themselves, get some code & documentation pointers from you, and then go about their merry business learning everything they can, including tons of stuff you didn't tell them (and often, didn't know yourself). The mediocre ones learn just enough to accomplish the task at hand and then ask you again as soon as they have to do something new.

Re: Coding Skill and the Decline of Stagnation

#136
post #57

Does anybody know if Notch is self taught? I thought he had a CS Degree from somewhere? I can fluctuate between thinking I am a fairly competent developer to thinking that I am possibly the worst programmer there is. I'm not sure which is a better attitude to have, hopefully I am somewhere in the middle. I think the issue with reading some of the discussion on HN is that you get people talking in detail about things…

Does anybody know if Notch is self taught? I thought he had a CS Degree from somewhere? I can't say with any degree of authority, but based on what I've read of his code, I'd guess he's self-taught. My bigoted preconception is that when it comes to abstraction in code, people with CS degrees err on the side of doing too much, creating extremely elaborate object frameworks that close down options as much as they help…

>The abstraction is just barely enough to get the job done, and the algorithms are decidedly homebrew.

Wow.. actually your comment is EXTREMELY critical and very dishonest in the end claiming that its not a criticism.

I'm just curious, what software have you written, and how many millions of users does it have?

Re: Coding Skill and the Decline of Stagnation

#137

There are two truths I try to keep in mind whenever I start feeling either extreme: 1. There are people who are so much better at programming than me, that I could work my entire life and never be as good as they are right now. 2. There are people who are so much worse at programming than me, that they could work their entire lives and never be as good as I am right now. Its a continuum, a hill. Feel the gradient, wa…

I empathize with not wanting to become cocky, but I feel like you're lying to yourself. I could see them as truths if we were talking about triathlon, but something intellectual and logical as programming? If you are able to reach the point where you find yourself enjoying programming, then I think there's good chances that it's only a matter of time - and rightly focused effort - until you are able to produce work o…

In my experience, it's the capacity for holding abstraction in mind that determines how far up the hill a person can go. I don't think there is ever a time where you can't move uphill, but the effort required to move increases more the closer you get to saturating that capacity.

Re: Coding Skill and the Decline of Stagnation

#138

Does anybody know if Notch is self taught? I thought he had a CS Degree from somewhere? I can fluctuate between thinking I am a fairly competent developer to thinking that I am possibly the worst programmer there is. I'm not sure which is a better attitude to have, hopefully I am somewhere in the middle. I think the issue with reading some of the discussion on HN is that you get people talking in detail about things…

HN is a good place to go if you begin to believe that you are truly awesome at coding and know it all. Brings you back to earth with a thud

Re: Coding Skill and the Decline of Stagnation

#139
""" But. I still stubbornly believe the whole “private members accessed via accessors” thing in java is bullcrap for internal projects. It adds piles of useless boilerplate code for absolutely no gain when you can just right click a field and chose “add setter/getter” if you NEED an accessor in the future. """

YES.

Re: Coding Skill and the Decline of Stagnation

#140
post #73

Earlier quoted context omitted.

Your assumption that self taught programmers (ie one that did not get a "formal" education) do not understand fundamentals is utter bullshit. You could reverse your statements and they both still work. I've worked with people that have a masters in CS and in general it matters about 1% of the time. A programmer today has a wealth of information they can pull from that does not require a single ounce of formal educati…

I don't think I made that assumption in that post at all. My point was more that a formal CS education is likely to give you a different perspective on programming vs being self taught. I would imagine most self taught programmers focus on results oriented learning, when I first learned to program before doing any formal CS my approach was "I want to do X , what is the minimum set of stuff I need to learn in order to…

I guess its obvious, but I am (mainly) a self-taught programmer, and I think that you really don't know what you are talking about.

When I was around seven years old, we had a Tandy Color Computer 2. I wore out the book that came with that, playing with BASIC. We also had a Vic 20, a TI-99a and an Ohio Scientific, and eventually an IBM AT compatible. For years, I spent a lot of time playing with short BASIC programs.

Eventually, maybe around seventh grade, I got a book called Turbo Pascal Disk Tutor (or something like that). I loved that book and I spent many months studying the book and doing the exercises. I was very serious about learning object-oriented programming. Over the next couple of years I experimented with a simple wireframe 3D CAD-like program. I became very familiar with abstraction, polymorphism and other object-oriented concepts before I entered the 9th grade.

Anyway, I'm not going to list every single program I ever wrote or design pattern or programming language or concept I taught myself, but the point is, I did read books and learn a lot of things that are actually apparently missing from many undergrad and even graduate CS-like programs. A guy at Stanford just recently came out with a Rails course partly about software engineering, which apparently is practically revolutionary. There is more contemporary software engineering baked into Rails than what probably more than half of CS or even SE graduates in the last five or ten years ever saw in their courses.

And ever since I dropped out of college (only took like two CS-related courses while I was there), I have been extremely motivated to learn as much about CS and software engineering as I can, mainly because of attitudes like yours.

Post reply on HN