11 ms·
My own perceived rating significantly lowered with the rise of social networks. As you start to follow more closely some really great programmers out there, you
by ivanhoe 10y ago
My own perceived rating significantly lowered with the rise of social networks. As you start to follow more closely some really great programmers out there, you stop comparing yourself with your peers and start comparing against the best in the game... and that is self-confidence killer :)
- Cyph0n 10y agoIndeed. It's quite humbling to see that there are people on Twitter and HN who know 5x more than you do. It drives me to learn more to be honest!
- jeremiep 10y agoI'm always worried when I feel too good at something, I can't help but wonder whether there's an entire world of knowledge out there I'm not aware of (there usually is). I also noticed my peers tend to consistently rate me 1-2 points higher than I do rate myself. I'm unsure if this is a good thing, if my peers are overestimating me, or if I'm underestimating myself. I approach your last point differently however; I find it inspiring to look at people being at the top of their fields; makes it easier to plan a route to ramp up your knowledge to that level as the work has already been done.
- wernercd 10y agoThe more I know... the more I know what I don't know. That always drops my confidence. I'm NEVER going to catch up! But... I show up and get it done to the best of my ability.
- Bartweiss 10y agoThat 1-2 point gap crops up in a lot of settings - not just programming, but writing and public speaking and many others. The common element seems to be hidden process followed by a finished product. Your peers see the code you write (or essays, or speeches, etc). You see the writing process, with all its inevitable inefficiencies and foolish mistakes. No one sees Obama stumbling over his speeches as he gets dressed in the morning, they just see a skilled final delivery. So without more context, I would guess that you and your peers are rating different things. You're rating every stage of your development, and they're rating the results, or at least the commits.
- ThrustVectoring 10y agoIt's likely that being a better programmer shifts your rating scale down in general. Becoming better at anything doesn't just make you better at doing the thing - it also makes you better at seeing mistakes and areas for improvement. Like, I remember watching jazz education videos by Hal Galper, and one of the things he mentions is that there's a moment where you start feeling like everything you do is terrible, and that this means that you're getting way better because you're now hearing the things you've always disliked about your playing.
- wernercd 10y agoEven more importantly than that... is you are comparing yourself (presumably new/newish) to those who have spent years? decades? getting where they are at. Behind every successful person is years of hard work. Behind every success is an untold number of failures and learning experiences. You can't compare yourself to someone who has been making games for 20 years when you're learning.
- collyw 10y agoMove jobs a few times, inherit some crappy application and look at the code that others write, that has done the opposite for me. Though a lot depends on what you define as being a good programmer. I used to be a lot better at clever algorithmic stuff. Now my focus is on clean maintainable code and getting the higher level architecture right, so that I don't need clever algorithmic stuff.
- edblarney 10y ago"I used to be a lot better at clever algorithmic stuff. Now my focus is on clean maintainable code and getting the higher level architecture right, so that I don't need clever algorithmic stuff." This. 'Clever' is BS. There's way too much 'clever' going on in high tech, and way too many people interviewing for the wrong skills. I used to be very clever as well, today, I don't think I could get a job at Google (not that I care) - but I think those interview styles are upside down. These days I look at Eng. more like construction or plumbing: most of it is not rocket science, really. You don't want new or fancy anything unless you have to. Good code should be boring and read like English. There should be nothing special about it, unless the problem space really calls for it. The paradox is - simple code is not psychologically impressive, at least to some people. I'm actually trying to develop an interview method that will allow me to measure this. Clever is expensive, dangerous, and usually not worth it. In fact - if you're trying to do something clever, it might be a sign that something is wrong. There is probably a library for that. One caveat: it's good to have done a bunch of clever but not-so-useful things in the past, because when I use a library for something, I know what's going on - that's worth something. Sometimes I feel that first 2 years in dev is basically 'training' - and I wonder if someone with < 2 years experience should even be writing production code.
- edblarney 10y agoDown-vote me if you like, but I'm speaking from a lot of experience, many companies, many projects, many languages, from 'real time / embedded' C w/machine code + custom ASICS, all the way up the stack to the highest level of abstractions + UX. Clear and boring code written by people who know what they are doing is worth it's weight in gold.
- rezashirazian 10y agoIf you're a little self-aware you can use the comparison as a source of inspiration and drive to better yourself instead of turning it into a self-confidence killer.
- hibikir 10y agoSocial media is deceiving in both directions: I have worked with a lot of nobodies and with big names with 10K+ twitter followers. Some of those well known programmers know a lot of trivia about obscure parts of computer science, but that doesn't mean that they are really all that productive when you look at their job contributions as a whole. Other times the fame comes from being big external communicators: Giving a lot of talks about programming doesn't meant that your can code quickly, accurately, or that you can come up with good designs. When we look at what it is for someone to be a great programmer and a good teammate, there's a whole lot of characteristics that are extremely hard to measure in a job interview. Do we really think it's easier to measure them by just hearing someone give talks or reading some articles? Do you really know that your favorite speaker writes good tests, cares about code readability, or will be there for you whenever you have a technical problem? Will they even work as much as you do, or do they have a contract that says that their speaking is their job, therefore leaving your team behind to do things less famous people have to do, like being on call for cyber monday, or making sure the new shiny system is actually operable in production? Therefore, my personal experience working with a lot of the socially famous has given me a lot of respect for the great developers I have met that spend less time in self promotion, and more time working on their own craft and take care of their job and family obligations. I've worked with many that are as good, if not better, than the average famous developer I've work with. You just don't know about them.