From: Eleanor McHugh Date: 2009-10-02T19:10:06+09:00 Subject: Re: Exceptional Rails Developer On 1 Oct 2009, at 19:15, David Masover wrote: > I suppose I don't mean "established best practices", so much as "I > want to do > it the right way, not necessarily the easiest way." > So, as a trivial example, when I see people using for instead of > each in Ruby, > I cringe a little -- but that's more a matter of taste, custom, even > fad. > > But when I see people read an entire table from the database several > times > during the course of generating a single report that needed a total > of maybe > ten records... > > Sure, they "tried stuff until it worked", but that's not curiosity, > that's just > plain persistence. And while I like to think I'm a fast learner, I'd > still > want to have the basic concept of "don't slurp the ENTIRE DATABASE" > down > before I applied for the job. > > Probably the best example is the one that I'm not going to be able > to be > modest with... My local community college is teaching me BAL -- > that's right, > Mainframe Assembler -- as a first language. > > Many people in this class will simply punch in the example code the > professor > gave us, and change things until it does what they want. These are > the same > people who will come to me or the professor when their program > doesn't work, > without bothering to actually read the error message -- whereas I > actually > found the system log and started to debug my program. The best teacher of "the right way" is experience, and experience mostly comes from doing things the wrong way and then having to clear up the mess at some appreciable cost to yourself. I suspect most of the problems big companies have (and not just with coders) is that when a person works on one small problem and then passes their output along to a coworker in an equally myopic position, the producers of mess are rarely if ever penalised. Indeed I'd go further and suggest that some of them even develop the same sabotaging tendency as that prevalent in the Soviet industrial environment. For every Dilbert there are a dozen Wallys... > Some of these people are the people who will grow up to use Visual > Basic, and > enable "on error resume next". I guess you probably don't approve of rescue nil in ruby either lol > That's what I'm talking about. Not knowing is fine, if you're > curious about > learning. But when I jump into others' code, it's sometimes > painfully obvious > that they're not particularly curious -- all they care about is > closing the > ticket, collecting a paycheck, and moving on. As an obsessive problem solver myself this baffles me, but it seems to be the normal human condition. The moral of the story being, there's no place for normal human beings in software development ;) Ellie Eleanor McHugh Games With Brains http://slides.games-with-brains.net ---- raise ArgumentError unless @reality.responds_to? :reason