4 ms·
Ask HN: How do you "fix" the curse of the gifted?
I saw one post today in HN about failure, on the comments someone linked that e-mail that Eric Raymond sent to Linus saying that he suffered from curse of gifted programmer...
I thought it was interesting,, reading the e-mail felt like it was a grandpa lambasting me for being a childish.
Yes, calling myself might sound arrogant, and I am arrogant anyway, but I am gifted, and I know that because it is obvious:
In my entire school life, I never felt challenged unless I sabotaged myself, before the sixth grade, I would pass every single class with A or A+ without doing any effort, I never made my homework, and my parents got called constantly to visit the principal because I was utterly lazy. After the sixth grade, I started to gradually have lower scores, and my behavior worsened, in high school in the two last years I actually went to school, plopped my head on the desk, and slept.
And yet, I never failed.
My first non-internship job, I submitted my resume for junior iOS programmer.
Got hired as solutions architect and R&D head.
Then I noticed that every time I looked to other programmers working, I thought they were amazing, but my bosses always think I am amazing, because they can throw random shit at me, I say I cannot do it, and I do it anyway.
Yet, I only learned to use version control in 2012 (I started to code in 1993), I am always amazed by other people design, it took me 6 years using a C++ compiler before I touched std, I make code mostly by trial and error, I make lots of sloppy mistakes, I am sure that if I was coding 30 years ago when you had only three compiling attempts on a mainframe my code would never run, yet, everywhere I looked, I never find someone that can be my mentor.
I rarely feel challenged.
What is the point of being extraordinarily gifted, if in most cases I don`t feel challenged,. and in the end, I don`t accomplished much more than a average joe?
- mtrimpe 14y agoThere's actually a bunch of people smarter than you that doesn't want to work with you because you're an arrogant little schmuck below their level. Figure out who those people are, become humble enough to start learning from them, rise to their level, rinse and repeat. In general it might be important for you to realize that modesty is an incredibly valuable skill that will allow you to continue to interact normally with people as your skill level is rising. The more modest you are the more awesome people will let you become without starting (wanting to) sabotage you.
- speeder 14y agoI had to edit my submission to make it shorter than 2000 characters. But I rarely worked directly with people that I wanted to learn from, usually I always end in positions where everyone else wants to learn from me. And that is horribly tiring, I want to learn, not to teach all the time Of course, right now I don`t have a choice, being a startup co-founder means that I am the leader anyway, but I had a couple of past jobs that I tried to end as grunt and failed, I always end falling up...
- mtrimpe 14y agoFirst off: greatness is not one-dimensional. Remember that you're comparing everybody against your chosen dimension(s) of excellence. Adding a another dimension is certain to make you a beginner in something again. You're a co-founder now so you might want to consider sales (in the broadest sense.) Secondly, I can guarantee that even in your chosen dimension of excellence there is someone in your town that out-classes you. Try calling the top consultancy in your area, ask them who their best programmer is and buy him dinner. If you can't learn anything from him/her than I'd bet on you being a bad learner. As a general conclusion: if you keep on improving and taking on bigger challenges then at some point you will reach your limits and you will find something you can't succeed at. It took me almost 30 years but when you get there you'll realize a) who exactly is 'better' than you and b) the degree to which you've been slacking all your life before that.
- locopati 14y ago'I make code mostly by trial and error, I make lots of sloppy mistakes' - maybe you're not as gifted as you think
- speeder 14y agoI thought of that possiblity... I many times cringe at my own code, and every time I get a task, I feel that I have no idea on how to do it. But I never failed to do what needed to be done, and I always get praised in the end. And trust me, this is absolutely horrible, I am always feeling I am not good, yet I am always getting more and more pressure on me, with people throwing more and more crazier shit at me believing I can do it, I had one job where I was asked as first project to develop alone a geo location augmented reality library for iOS. I had no idea on how to do it, and it took my three months, and I thought I was slow. When I was done the CEO of the company gave me a 10% raise and praised me for a whole week saying that what I did was really fast and that his other workers would not do that fast... I did not knew if I felt great for the praise, or bad, because I was feeling that I did not deserved the praise and that I was like cheating the guy out of his money.
- tgflynn 14y agoI sort of understand how you feel and sort of not. I used to think I was a great programmer, now I'm not sure, because I've seen evidence for and against. But in the end how do you ever know ? For example I was once asked to develop a JPEG2000 encoder. I think it took me about 3 months. Is that good or bad ? I don't really know because I don't know anyone who's done anything comparable and neither did my managers. One thing that's different between you and me is that you seem to attribute a lot of importance to what people like managers think of you. But if you're so much smarter than them how could they effectively evaluate you, so why should you care about their opinions ?
- pcowans 14y agoStop defining success in terms of praise from others. At best you'll spend your time doing unfulfilling work and not learning much, and at worst you'll be manipulated. From the discussion in this thread I don't believe that you're a particularly effective developer - it seems you're used to playing the hero programmer role and have been too poorly managed for anyone to question that. Your descriptions of the C++ STL show that you don't know what you don't know, and if I were working with you I'd be asking all sorts of questions about what was going to jump out of your code and bite us further down the line. You're probably smart and have a lot of potential, you just need to realise that there is a vast amount that you don't know.
- kjackson2012 14y agoSubmitted a resume as a junior IOS programmer and got hired as a "solutions architect" and "R&D head"? That doesn't even make sense. Sorry but I smell troll-bait here. I'm flagging this post.
- speeder 14y agoAlright, I will explain this ( because I am bored right now, not because I feel that I need to defend myself ) I had previous internships as iOS programmer, and thus I thought that for my first non-intern job, it would make sense to apply as junior programmer. I applied, and got accepted by the HR and whatnot. The CEO for some reason then read my resume personally, and he saw that I`ve built a entire arcade (even the carpentry) by myself, also he saw that I was not a CS graduate, but a Game Design graduate, and finally, I had lots of old projects that I made to create stuff. He called me in person, to explain why he wanted to change my job role, he explained what wanted from ,e and how much money he would give me (he offered 60% more than I asked, granted that still was lower than market rates). He told me, he noticed I was more of a inventor, than a good academic style programmer. and that he already had 35 CS people on the building, he needed someone different and passionate for creating stuff, as head of the R&D division he was intending to create (until that point all his income was from outsourcing contracts). I actually had a great chat with him, we spent some hours talking about our tales of inventing stuff, I felt that the guy wanted to innovate, and was bored with the company current role, and missed a mad scientist type of friend That would give me problems later, as I felt entitled to frequently drop into the CEO office to chat, or present results and skip my boss, and this quickly eroded morale of other workers as they thought I was a favourite, soon I started to get sabotaged by other workers... Kinda nasty, and took my a while to realize what was happening.
- deleted 14y ago[deleted]
- victorhn 14y agoIt took you 6 years before you touched std? what std are you talking? as in the namespace std::cout, std::cin, etc?
- speeder 14y agoyes. I still don`t use cout and cin actually. I prefer printf. I don`t know what are streams exactly (but I bought Bjarne TC++PL and it will arrive next thursday, and then I will read what it is...) In fact, I still rarely use std, when I use it is vectors. I never used std interators (I think they are fugly, and I like to use while() instead of for ) And I don`t know what else std do beside iterators, streams and containers.
- tgflynn 14y agoAs far as the C++98 standard library goes I think vectors are by far the most useful construct it provides because they're like arrays but manage memory for you. Lot's of people prefer printf to cout/cin. Iterators in my opinion are a bad idea because there are so many cases when you need to do index arithmetic. The idea of having common interfaces for data structures with very different performance characteristics is one that probably seemed great to some people at the time but it doesn't work too well in practice. The C++11 standard library seems to have a lot more features that may be very useful, like regular expressions, but I haven't started using it yet and if you care about cross-platform code it probably won't be truly useable for several years. EDIT: Had a nagging feeling I was forgetting something when I wrote this. Yes of course std::map is incredibly useful it's definitely something one would need to implement if it weren't in the library.
- pcowans 14y agoAlthough I kind of agree with you that iterators for vectors aren't really very necessary, for std::list, std::map, etc. I think they're quite a sensible way of sequentially accessing the data - you'd pretty much have to re-implement them if they didn't exist. In the case of maps, I don't actually think the container implementation is specified enough to allow you to get away with any less abstraction - it technically doesn't have to be a BST, although I guess you could argue that the containers should have mapped to precisely defined data structures in the first place. C++11's type inference does make STL iterators a lot less ugly, by the way. Also (referring to the initial post), there's no reason you have to use for rather than while when using iterators (while(v != c.end()) ...).
- 10dpd 14y agoSorry to be blunt but you are not "gifted" - you might have experienced being the most intelligent person in the room, but that's dependent on the other people in the room.. Applying for a junior iOS job and instead be offered a solutions architect role speaks more about the company you work for than your skills. I'd advise trying to zoom in on what excites you about your current role, and look for opportunities at a larger company that will stretch you and engage you with people of equal or greater ability.
- guylhem 14y agoArrogance is not the problem, even if it points you to the easy way (low quality C++ code as you presented) The problem is you not only that you are not challenged, but you don't love what you do - when you enjoy something, doing it is its own reward, and you want to be better and won't tolerate low quality. Maybe that thing is code - maybe it's not. I would suggest you try something totally different - but something that interest you. Only you can answer what it is - maybe it is economy, or physics, or wrestling- whatever, deep down in yourself, you know you really want to do, but maybe are afraid to do because of the consequences on your beliefs or on yourself. Find that, do it, and the problem will solve itself.
- Tzunamitom 14y agoSet targets for failure. Chances are you'll also have a deep fear of failure, and while your boss thinks he's pushing you, you know you're really taking the safe option. Wake up and realise that. Quit your job if you have to. Find some fear and constantly push the boundaries of your comfort zone. (On an interesting side note as a previously devout Atheist, I found that finding my spiritual side and a Faith really helped. That was a big surprise for me.) Find a meaningful goal that motivates and drives you. For me it is helping the homeless and dispossessed. Set yourself small, regular targets to achieve things - reward yourself when you achieve them. Find a partner that when you're around him/her you feel compelled to do great things, someone that won't buy your bullshit, and ask them to support and push you harder. I'm not there yet, but as someone who can relate, I feel like I'm finally starting to get there. As Generation Y, I feel we buy too much of our self-confidence in our abilities to "hack" everything. The sad realisation I made (after years of fighting it) is that there is no substitution for hard work - sure you should still work smart, but that doesn't absolve you of the need to word HARD. Really hard. Get up and give me 10 pushups! Good point... regular physical exercise helps too. Don't wanna gym? 20 mins a day, do something... squats, long walk, reconnect with nature. Hopefully one day the fear of not achieving enough will be greater than the fear of failure. Good luck :-)
- general_failure 14y agoShow me the code. Then let's talk about how gifted you really are.
- deleted 14y ago[deleted]
- im3w1l 14y agoIs this you? http://www.joelonsoftware.com/items/2009/09/23.html http://www.joelonsoftware.com/items/2009/09/23.html
- speeder 14y agoHeh awesome post, and hell yeah. I work making games, I never figured the point of using unit tests. Also yes, multiple inheritance and that shit is pure evil... Once I tried to make a game engine using very strict OOP. It took me two years to make a barely working game... It is great to impress employers, but I don`t plan in ever writing code like that again. But I won`t say this is not only good thought. I feel many times that I should know more, even if is to know why I am not using it.
- mindcrime 14y agoOK, I can see how some people might regard this as "humblebragging" or whatever. But I think it's a valuable discussion, so have an upvote. I'd say that being "gifted" is relative. Relative to my high-school senior class, I'm fairly sure I was "gifted" in terms of IQ or whatever. I definitely experienced the whole thing of "coasting" a bit and relying on my inate smarts, and not studying and applying myself as hard as I could have. I was mostly bored shitless in high-school and my grades reflected it. So, yeah, I was "that kid" who always got the talks from his teachers "You could accomplish so much if you'd just apply yourself". I mean, I'd goof off all year, rarely turn in any homework, cut class constantly, goof off, almost fail, and then make it up by acing the end of year exams. Drove my teachers batty. BUT... relative to the population of HN readers, I expect that I am - at best - fairly average. Everybody here was smarter than most of their peers in H.S., and there are some folks who post here who are just off the charts (pg himself, for example). So for me, it's not too hard to stay humble by simply paying attention to what's being said around me here, and the articles that get posted here. What is the point of being extraordinarily gifted, if in most cases I don`t feel challenged,. and in the end, I don`t accomplished much more than a average joe? Hmmm... so, for me, college was a whole different experience than H.S., for example, exactly because I had more control over my direction and I could choose things that did challenge me. I sought out the things that A. I found interesting and B. challenged me. I've also always had this "thing" where I tend to jump into the deep end of the pool and take on challenges that should be (and sometimes are) too much for me. After a lot of years of doing all sorts of shit career wise and having some bizarre adventures (ask me about my years as a volunteer firefighter sometime), I've reached the conclusion that the best path forward for me is to start a business. So I've been working on Fogbeam Labs for about 2 years now and that's been a tremendous experience. I've been forced to branch out into so many new areas and fields and learn so much, that it's just ridiculous. But it's also fun and exhilarating in it's own way. I guess if there's a point to all that, it's to say "Yeah, I understand where you're coming from... but realize that - no matter how gifted you think you are - there probably are big challenges out there for you. But you have to take some initiative and seek them out".