My point is that programming, especially Perl programming it seems, attracts some extremely gifted individuals. And I'm just wondering how other "regular" folk, like me, find ways to compete with this kind of talent. I imagine it could get a little discouraging to see a kid fresh off the street writing the equivalent of Shakespearean Perl while you pound out some excellent but rather trite, magazine-quality style that took you 5 years to develop. On the flip side, I'm sure it's also frustrating for the wunderkind to try to find a way to fit in. So how does this all play out in the real-world? I'm interested to know.
$PM = "Perl Monk's";
$MCF = "Most Clueless Friar";
$nysus = $PM . $MCF;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: What if you are not a genius?
by bikeNomad (Priest) on Jun 10, 2001 at 19:48 UTC | |
My own history is a good example (not that I was a genius, but...). I was going to college in 1975 when USF introduced their first course about microprocessors. Though it was a graduate course in the Electrical Engineering school and I was either undecided or a Communications major, I convinced the prof to let me in the course. I was fascinated by the course. I memorized the instruction set, side effects, and bus timing of all the 6800 instructions. I aced the course, coming out above even the grad students. The prof who was teaching the course had worked out a co-op situation with the local Honeywell branch. Since I needed a job, I was offered a position as one of four programmers on a team that was embedding a microprocessor system into a military teletype device. What no one seemed to realize was that I'd never actually written anything larger than toy (university) programs, and had no idea how to structure a large program, or how to work with other programmers, or how to plan my time and effort. I failed miserably, leaving them to find someone else to make sense of my scribblings and code snippets. When hiring programmers, I have always taken both experience and intelligence/aptitude into account. Successful managers don't let themselves be dazzled by the brilliance of an untested new hire to the point where they risk the future of a critical project. | [reply] |
Re: What if you are not a genius?
by VSarkiss (Monsignor) on Jun 10, 2001 at 20:38 UTC | |
By the age of 16, hanging out at the university computer center, I'd figured out I was good at writing programs. I wasn't the best around -- I can still remember the 12-year-old who made my jaw drop with his knowledge -- but I was pretty good. I'm now 42. Over the years my "progammer's toolkit" has grown immeasurably, but the skills I've acquired that have made me a better programmer aren't just about writing programs. They include I certainly don't want to imply that the "stroke of genius" isn't important. But it's not the only thing; maturity and real-world experience count for a lot. It's part of why I'm happy to see "plays well with others" on my kids' report cards. ;-) | [reply] |
Re (tilly) 1: What if you are not a genius?
by tilly (Archbishop) on Jun 11, 2001 at 05:50 UTC | |
Seriously, most of the "good programming habits" are about learning more scalable ways of approaching learning. Talent is nice to have, but every truly talented person that I know has to fight the tendancy to rely on their talent(s) even when a more methodical and organized approach would be more effective. While you may be flabbergasted at what that talent can let them do, with organization, perseverance and effort you can accomplish important tasks that they would crash and burn on. Besides which, it isn't a competition. The truth is that the better people become at programming, the cheaper it is to have programmers do work. The cheaper it becomes, the more need people find for programmers. So the small number of people out there with amazing talent and unbelievable dedication? Just learn to leverage off of them. It doesn't matter how much more productive they can be than you. What matters is how much more productive having them around makes you, and as you become productive, you become valuable and get paid more. So those genius programmers? You should try to convince them to teach you, contribute to CPAN, give them good bug reports if you use their code, and so on. Do that and their talent will work to your benefit. It sounds crazy, but it works. As an old saying goes, first rate people want to be around first rate people. Second rate people want to be around third rate people. Now do first rate people want to hang around first rate people because they are first rate themselves? Or do they become first rate by hanging around first rate people...? | [reply] |
Re: What if you are not a genius?
by pmas (Hermit) on Jun 11, 2001 at 01:47 UTC | |
Germans have excellent word for it, "sitzfleisch". It means "meat used to sitting" - meaning to sit on your butt while solving problems. You need to use both sides of your spinal cord to solve problems... : ) I had a friend in my college with IQ 160. Smart genius, but no 'sitzfleisch', hardly able to be interested in complicated issue long enough to finish it. Hopefully, by now he needs to pay rent and sit around to finish solution. Compare with athletics, they have sprinters, and they have long distance runners. Sprinters do nor run marathon - they will never win. I have no problem to learn new cute trick to provide smart solution for a script, it does not matter if author is 15 or 75 years old. But there is also real-life experience with designing systems, making them user-friendly, scalable and flexible, etc. This kind of skills you are not likely learn from 'young geniuses'. So we older, less genius programmers can survive, too. Maybe we can hire smart young guys, give them a chance to learn how to implement big projects. I know they may not appreciate project-management knowledge, may prefer to run full speed agains the wall (and hit it full speed), but it is fine. They will learn from this experience, too...: ) Again, I have nothing against if somebody is young and smart. Even in case if s/he does not appreciate other skills I have. As long as s/he is not in charge of the project... : ) Sometimes if frustrating to be the 'clairvoyant' one. I am new in perl (3 months), but have plenty experience in database design in other languages. I was struggling to persuade my colleagues (with more experience in perl, but less in design of big projects) to implement some solutions, where I was clear about dangers of their proposals, but danger was too ahead for them to think about. So their perception was, I am solving non-issues, while I was sure that ounce of prevention now is going to solve us tons of head-pain medication later. Just my $.02. Thank you for nice meditation... pmas To make errors is human. But to make million errors per second, you need a computer. | [reply] |
Re: What if you are not a genius?
by srawls (Friar) on Jun 10, 2001 at 21:58 UTC | |
Well, I would hardly say that. Sometimes it just helps to have a fresh set of eyes look at some code; I know I've been perplexed over the most simplest of problems, only to find out that once I leave and come back again the answer is glaringly obvious. Oh, and about that genious thing: Thanks for the compliment, but I think you're being too hard on yourself. First of all, nested complex data structures can be hard to understand; you should give yourself a pat on the back for coding one succesfuly (well, almost succesfully). Second, remember your brain teasers a while back, well one of them even tricked me. So, I'm not really a genious (look at that, I can't even spell genius), I just happened to start programming at a young age. The 15 year old, freshman programmer, | [reply] |
Re: What if you are not a genius?
by Trimbach (Curate) on Jun 10, 2001 at 22:17 UTC | |
Back in the old days (eighties and before) there were certainly wunderkinden in the workplace here and there, but they were the exception and certainly not the rule. The regular course of events was start at the bottom and work your way up. You could be smart, and full of good ideas, but if you were young, well, you had to put in your time until you were old enough to be taken seriously. Fortunately this attitude is rapidly going away and people are realizing that a good idea is a good idea, whether it's from a 12-year old or a 90-year old. If you have the skillz (and yes, I realize that lots of 12-year olds, no matter how bright, don't have the communication or organizational skills needed to do some jobs) then you have a better chance today of being taken seriously than at any other time IMHO. More and more people are realizing that discriminating based on age rather than merit is seriously counterproductive, which hopefully is good news for all those young wet-behind-the-ears greenhorn wippersnappers hanging out in the monestary these days. :-D Gary Blackburn | [reply] |
Re: What if you are not a genius?
by arhuman (Vicar) on Jun 10, 2001 at 22:32 UTC | |
I'm simply hiring hit-men ;-) Seriously I try to not think in term of 'competition', I'd be honest I'm sometimes amazed by some monks abilities... (Japhy, Masem, Tilly, Merlyn, Tye, book, damian1301 to name few but also some 'newbies'...) I take it as an example to work even harder, and improve. I take it as a great chance too, it's not so common to see so many talented people in one place, It's a unique opportunity to learn new interesting things. And I'm not only talking about technical things, japhy citing 'Le petit prince' "dans le texte" is one example of things that really turn me on. "Only Bad Coders Code Badly In Perl" (OBC2BIP) | [reply] |
Re: What if you are not a genius?
by Dominus (Parson) on Jun 12, 2001 at 10:20 UTC | |
I'm just wondering how other "regular" folk, like me, find ways to compete with this kind of talent.I wouldn't worry about it too much. Most of these 'boy genius' types are a little too clever for their own good or anyone else's; they spend a lot of effort doing things the 'clever' way instead of the right way. Here's a nice example of this that someone showed me today: A guy showed up on IRC asking some question about the following C code he had written: (*(((*chan).cmode)+i)).type. The first thing my friend wanted to know was why this guy hadn't written chan->cmode[i].type, which is completely equivalent and three times easier to read. The boy genius replied that his version compiled faster. (!!!!) A similar anecdote: Ken Thompson (co-author of Unix) once said that one of themost important technical reasons for the success of Unix is that they never did anything in a clever way if they could possibly avoid it. For example, when they needed to search a data structure, they used a linear search. Never a binary search; never a tree search. All the geniuses out there are shaking their heads an bemoaning the missed opportunity to use a clever O(log n) algorithm instead, but Thompson was clever in a different way, because he realized that the linear search is simple, robust, easy to write, and easy to maintain; meanwhile all but the very smartest of the geniuses have forgotten about the proportionality constant in the O. Anyway, my point is that it's not all that hard to write good code, and if you do, other non-genius folks like you and me will be able to understand it. A few of the genius types will write great code, but most of them will write a load of crap that only a genius could understand. This is of limited value, since genius maintenance programmers are in short supply. Edsger Dijkstra says that clever tricks are the bane of programming, and I think he's right. It takes an unusually clever person to know when to stop being clever. Most clever types I know are obsessed with showing off, and don't know when or how to stop.
| [reply] |
Re: What if you are not a genius?
by perigeeV (Hermit) on Jun 10, 2001 at 19:58 UTC | |
Methinks you just do the best the can with what you've got. Enthusiasm and dedication wins the day. | [reply] |
by jepri (Parson) on Jun 10, 2001 at 20:06 UTC | |
It's not working so far... :) ____________________ | [reply] |
by Tiefling (Monk) on Jun 11, 2001 at 15:48 UTC | |
When I was srawls' age, I was writing fairly sophisticated software. Unfortunately, I was doing it in BASIC. I wish that at his age I had had access to Perl. When younger, one has far more ability to absorb information easily. It's clever to be able to do so and consequently produce nice code, but it doesn't make any of us genii. On the other hand, there are probably numerous genii here on PerlMonks, so I may be unfairly deprecating people's abiltiies. What is special is the combination of so much talent (youthful and otherwise) with the excellence of Perl itself. The world is our mollusc of choice, especially if we work together. Hmm. That was incoherent. Sorry. Tiefling (heading off to translate the Great Bible version of the psalms into the equivalent era's Swedish :-)
| [reply] [d/l] |
by Odud (Pilgrim) on Jun 12, 2001 at 00:20 UTC | |
| [reply] |
Re: What if you are not a genius?
by schumi (Hermit) on Jun 10, 2001 at 22:57 UTC | |
But I think with confusers - and not just Perl or prgramming in general - it depends on who you're talking to. Compared to my Dad, who is not bad on confusers himself, I know very much. But compared to some of my friends - let alone the people here - I know very little. I suppose there is something else I know better than some other people (and if it's only the Bernese German language - being Swiss...). And even with something where I'm quite good at, I sometimes make the most stupid mistakes.
Anyway, I think the point srawls makes is quite good: Often enough it helps to have a fresh set of eyes look at the code, they usually see a lot more than the set of eyes working on it. And if I had been programming for years already I might even understand the more complicated code on this site...
As for fitting in, there is a point where you realise that in fact there is almost always a place somewhere where you fit in - the point is finding it. And I think, this community is not worst place to try. --cs | [reply] |
Re: What if you are not a genius?
by Jouke (Curate) on Jun 11, 2001 at 11:16 UTC | |
Second: I am not a genius (though I guess I'm the best coder around where I work) I don't care if I see a young guy/gal coding way better than me. I just learn from it. Coding isn't all there is to programming. Like others said replying to your posting: experience is needed for certain things. I like to call myself a pretty allround guy. I've been into system administration, helpdesk, project management, security, webdesign and perl coding. From all these different things I learned so many things I use now, which a pure programmer at the age of 14 simply does not know. Maybe these guys are programming Shakespeares. In that case call me the publisher. They have to learn there is much more than just coding. Just my EUR 0.02, Jouke Visser, Perl 'Adept' Using Perl to help the disabled: pVoice and pStory | [reply] |
Re: What if you are not a genius?
by delegatrix (Scribe) on Jun 11, 2001 at 00:15 UTC | |
I may not be a great coder, but I build whole applications with usable interfaces that people seem to like. When I get thanks from someone or feedback telling me my app saved someone hours in the library, my programming style and speed seem less important. | [reply] |
Re: What if you are not a genius?
by beretboy (Chaplain) on Jun 10, 2001 at 20:35 UTC | |
| [reply] |
Re: What if you are not a genius?
by beretboy (Chaplain) on Jun 10, 2001 at 20:47 UTC | |
| [reply] |
Re: What if you are not a genius?
by cajun (Chaplain) on Jun 11, 2001 at 13:59 UTC | |
What is really frustrating is to see where you fit in the my age is chart. (Let's just say I fit towards the lower section of the chart). I had a conversation with crazyinsomniac about some of these same thoughts not long ago. What puts things into perspective for me is: I'm a sys admin. Perl makes my life easier as a sys admin. Yes, I could get along without Perl, but it would take longer and wouldn't be as interesting! I'm pretty sure that if I were to post the ideas that I was working on on Perlmonks, one of the "boy-geniuses" you mentioned would have a solution in a very short time. But to me, that is part of the fun of it. Figuring it out for yourself. There is no better resource for doing that than Perlmonks that I'm aware of. | [reply] |
Re: What if you are not a genius?
by stephen (Priest) on Jun 11, 2001 at 23:32 UTC | |
Some of the brightest people I've worked with write hideous code. They have five thousand variables going in the same scope. It's completely uncommented. It's all a single huge file. It uses completely incomprehensible constructs. The reason? They can remember all of these variables. The code is clear to them. They know where everything is in the file and don't need it broken down into easy mnemnonic chunks. It's a strange sensation to think "This person is fifteen times as smart as I am" and "this person is being an idiot" at the same time. :) Because, of course, geniuses lose brain cells too. If you rely on using your mind to store everything and expect to be able to perform insanely-fast analyses of your existing code, sometime you'll reach for that ability or piece of information and it won't be there. And no one else will understand it. Also, remember Kent Beck's comment: "I'm not a great programmer. I'm just a good programmer with great habits." Which I prefer, personally. Some genius code can set projects back months as the rest of the team tries desperately to figure out what's going on in the genius' mind. Finally, observe the entry for the term "larval stage" from the Jargon File: Describes a period of monomaniacal concentration on coding apparently passed through by all fledgling hackers. Common symptoms include the perpetration of more than one 36-hour hacking run in a given week; neglect of all other activities including usual basics like food, sleep, and personal hygiene; and a chronic case of advanced bleary-eye. Can last from 6 months to 2 years, the apparent median being around 18 months. A few so afflicted never resume a more `normal' life, but the ordeal seems to be necessary to produce really wizardly (as opposed to merely competent) programmers. See also wannabee. A less protracted and intense version of larval stage (typically lasting about a month) may recur when one is learning a new OS or programming language. Not that it's bad to be a genius. It's just that, well, there are compensations to being merely good. (Although it's a bit of a cliche, of the geniuses you've met, how many were really happy?) If you're a genius, enjoy yourself. stephen | [reply] |
Re: What if you are not a genius?
by Mission (Hermit) on Jun 11, 2001 at 16:11 UTC | |
| [reply] |
Re: What if you are not a genius?
by OzzyOsbourne (Chaplain) on Jun 12, 2001 at 20:05 UTC | |
"And I'm just wondering how other "regular" folk, like me, find ways to compete with this kind of talent. I imagine it could get a little discouraging to see a kid fresh off the street writing the equivalent of Shakespearean Perl while you pound out some excellent but rather trite, magazine-quality style that took you 5 years to develop." I am regular. I am not discouraged. To paraphrase a bit of Sun Tsu, you must use each individual to their talent. Give the genius the mamouth problems. Give the regular person regular problems. To reverse the two, is to waste the time of both. Being a resource is good, but being a resource of resources is useful, too. As it is impossible to know all of the answers, being able to find resources is important. The Genius wondered, Gong rings in distance... | [reply] |
Re: What if you are not a genius?
by fmogavero (Monk) on Jun 11, 2001 at 17:28 UTC | |
I could never be a truck driver. I hate driving. I have a friend who is a truck driver. He is also a drummer in a band I was in. So who's greater, me or him? There are always greater and lesser than you. If you help the lesser then the greater will help you. Meditate on that! | [reply] |
A reply falls below the community's threshold of quality. You may see it by logging in. |