6 ms·
Because you can learn typing without loving it and you can learn mopping without loving it. Not so with programming which is ultimately a creative task. I know
by moe 18y ago
Because you can learn typing without loving it and you can learn mopping without loving it. Not so with programming which is ultimately a creative task. I know plenty of people who went through university and learned the mechanics of programming without really liking it. These people will never be good programmers just like most people who wrote essays in college will never be good writers.
Ironically a mediocre programmer really compares better to a secretary than to a great programmer. He may be able to churn out code when given detailed instructions, just like the secretary will type out your letter when you dictate it to her. But the great programmer on the other hand; he decides what letter to write...
- gaius 18y agoNot so with programming which is ultimately a creative task. 90% of programming - sometimes 99% - is forms or reports. Validate and store some data, or retrieve and format some data. No-one does that "for fun". You need professionals who can execute at a high level of competence true, but "creative" is a bit of an exaggeration.
- ObieJazz 18y agoIt depends what stage the project you're working on is at. Adding new forms to an enterprise-level CRM might be where a lot of (boring) programming jobs are at, but it doesn't preclude creative programmers: those who create a system from scratch that does something that has never been done before.
- gaius 18y agoAll Web 2.0 is is forms and reports. You think, back in the 60s when it was the latest thing, COBOL programmers called themselves "rockstars"?
- moe 18y agoThat's nonsense, web programming is not (at least not in the general case) about forms and reports. If forms and database queries eat up a large portion of your time then I'd suggest to look into proper frameworks. In fact, that's what web programming is about these days: Find ways to make the common tasks as easy as possible, without sacrifying performance or flexibility. You don't want to spend the lion's share of your time on creating forms and views. You want to spend it on making the creation of forms and views so easy that the friction for actual feature development approaches zero.
- gaius 18y agoDo you seriously believe that the Web 2.0 kids invented that? Frameworks, code generators, CASE tools, the whole lot have been around for a long time. If web programming isn't all about validating and storing data (the tag is even called <form>), and retrieving and formatting data (into HTML) then what is it?
- moe 18y agoDidn't I just explain that in my previous post? Ultimately all programming is about "garbage in / garbage out" or, as you put it, input, validate, store, output. Summing up a specific programming domain like that is a bit like saying "architecting a house is about placing walls, doors and windows". That statement is ofcourse true but it falls short of describing the real challenge which consists of deciding how and where to place said walls and doors under the premise of what we're trying to build (a train station or a shopping mall?). Similarly, if you're spending more time on writing forms than on the features backing these forms then you're probably doing something wrong.
- timr 18y agoI think the point is that the construction workers don't get to decide where the doors and windows go. In most cases, programmers aren't the architects.
- cstejerean 18y ago
- daleharvey 18y agoI think with almost every comment here cringing at the terminology, people calling themselves (or others) "rock stars" are in the minority
- moe 18y agoWell, that depends on your environment ofcourse, but I'd say when you're spending 90% of your time on forms and reports then you're doing something wrong. A smart programmer would probably find or build a framework that allows the consumers of said reports to build their own so he doesn't have to continiously waste his time on that. That's btw one of the main differences that I see between great and mediocre programmers. When you give the task of "build a report" to a mediocre programmer then he'll go and build a report that meets to your specs. He'll keep doing that even if he gets the same task every week. A great programmer on the other hand will soon start trying to optimize the process by generalizing and automating. That's where the creativity kicks in. Programmers who love to code will try to get a repetitive, monotone duty out of their way asap, in order to free their time for more interesting problems. Programmers who merely "write code for a living" will rather stick to such tasks despite their inefficiency, because that "one hour per day on boring recurring tasks" is one hour that they don't have to do real work.
- Retric 18y agoThere are a lot of great tools for building simple forms that talk to databases and generate reports. At some point when it comes down to the things that separate this from from all other forms already created someone needs to actually build the form. It's a boring few minutes and then it's done, but then they want to change something and someone needs to fix that. And so it goes.
- mattrepl 18y agoYou missed the point. A skilled, creative programmer will write their own utility or framework to generate the boring stuff. Assuming they've done that well, feeding the form specification to your form compiler is all there is to it.
- Retric 18y agoI think your missing the point. We already have form generates so filling out a from specification is what the programmer is doing. At some point there is nothing left to abstract and you need to specify what's happening. Doing that is programming and it's boring. For any complex system it becomes repetitive in novel ways such as: What's the best layout for the form? What data are we willing to take? etc. And once that's done you are always going to need to fine tune it which is boring. PS: The logical next step would be to hand the customer your form generating software and get them to solve their problem, but that just ends up with someone debugging a horrible Access database. (Or whatever system you build.) In summery: Specifying a specific form specification to collect or show useful information is programming. (Say that 3 times fast.)
- MaysonL 18y agoDon't knock secretaries. My mother spent a number of years writing letters for her EdD boss, who was close to functionally illiterate. (He was hardpressed to compose a grammatical sentence, much less a coherent paragraph.)