11 ms·
You're Worthwhile, Even When You Make Mistakes
- WrtCdEvrydy 7y agoI always found this interesting about my junior developers. When I teach a new concept, I can instinctively tell who will listen, apply it and be able to move on to tougher concepts while understanding that some of them will be hard headed and will have to be beaten into submission. One day, I got fed up with one of them (he kept trying to parse JSON by splitting the string in Java), and told him I would honestly use GSON to parse it because I'm lazy. I could see it click in his mind, as he realized writing a small JSON schema in Java was easier than his convoluted 12-step if statement chain (he was performing the string splitting based on the URL he was doing REST requests against). Now I call it the 'laziness as teaching' tool. 1) Admit you're doing it because you're lazy 2) List the set of items that need to be done in the new lazy approach 3) Contrast it against the previous method 4) Watch it click as they realize their way is so much extra work.
- zeta0134 7y agoWhy do I use JSON? No, it's probably not the best tool for the job. But it's quite adequate, and I don't have to write my own parser. That every other language on the planet can now also interface with my API with minimal fuss is just an added bonus. :)
- hinkley 7y agoWhen I'm feeling sardonic I will call it 'being lazy' but at other times I will describe it as "because I have better shit to do."
- pm90 7y agoWell, part of the problem is the intrinsic desire for the person to prove themselves to you by doing a great job. Sometimes it’s more useful to let them try for a bit, before showing how your solution might be better. Letting juniors experiment the best design by failing is sometimes an effective strategy. And if they do succeed or produce a better solution, awesome. That is a lesson that you can learn from (technology changes very quickly).
- taneq 7y agoLaziness is, after all, one of the core virtues of a programmer (along with impatience and hubris.)
- soup10 7y agoA certain amount of laziness really is an important skill to have as a programmer, the busy bee will do lots over-engineering over-architecting and wheel reinventing. Where the lazy guy will go out of their way to find and use libraries and tools that save them effort and get the job done and have way less bloated code. On the other hand things like not being diligent about fixing bugs can be a problem though.
- tempguy9999 7y ago> he kept trying to parse JSON by splitting the string in Java I truly do not understand the mindset that, when presented with a simple means of doing a complex task, will do it manually[0]. If a junior dev did that in front of me I'd seriously start doubting their capability for the job. [0] The one single allowable exception is doing a crappy task manually the first time so you know how, before switching to a tool. My first parser I ever wrote I did manually rather than with flex/bison so I knew how to. After that it was tooling all the way.
- rocqua 7y agoSometimes, the simple means of doing a complex task will 1) Bbscure the logic of solving the task. 2) Layer on extra logic of the tool. 3) Warp your thinking around the tool, causing you to miss easy optimizations. These are some reasons to not use a ready-made tool.
- crispyambulance 7y ago> If a junior dev did that in front of me I'd seriously start doubting their capability for the job. Totally wrong. Everyone has gaps in their knowledge and learned-approaches to problems. Even the most senior and experienced people have gaps, or develop gaps as things change rapidly. The junior simply did what he knew would work, and the mentor happened to know a better way. The proper, healthy response to something like that is exactly what the parent commenter did, and it ended with "a click" in the mentee's mind-- a small but noticeable step-up in the skill and knowledge of the junior. That's satisfying to both the junior and the mentor. If your response to a mistaken approach is questioning whether or not someone should even be there, well, that's pretty much an example of the sad state of the status-quo. It's how people end up making horrific software because they're too afraid of getting input from someone that can help them because they have learned, over time, that asking for help too often means a withering dismissal from someone who should have known better.
- jshowa3 7y agoI agree with this 100%. My last job was precisely described in your last paragraph. I loathed asking for help from a senior dev I was working with because every time I did, she made it very clear how much of a nuisance I was being. She even verbally chastised me over IM for correcting a typo in a variable in a stored procedure she wrote. Working with her was an exercise in torture and I eventually quit because my manager believed her on everything. I was also so full of self-doubt that I questioned whether I should even be a developer anymore. It screwed with my mind so much that I still have a lot of anxiety to this day.
- silveroriole 7y agoQuestion is, what do you do with the juniors who never get it? Those for whom mistakes/inefficiency aren’t just “mistakes” but are their normal mode of operation? I’ve had juniors who I did this “well, I’d be lazy and just use a library/script” routine on, and they essentially ignored me and went straight back to what they were doing. Either they were afraid of admitting they’d gotten it ‘wrong’ and were unwilling to abandon that method they’d personally thought of, or they genuinely didn’t even agree that they were struggling in the first place - in some weird way they must have ENJOYED struggling and thought it meant they were learning or solving something hard.
- theossuary 7y ago> in some weird way they must have ENJOYED struggling and thought it meant they were learning or solving something hard I'm not sure why you're incredulous about this? If you're struggling to write your own JSON parser, you are learning something new by doing something hard. Maybe you're not learning a lot (if you're just brute-forcing it), but you're still learning. Being in flow means you aren't learning, it isn't deliberate practice. If somebody was wasting a lot of time rewriting a library instead of using it, it might be time to have a discussion on learning vs delivering value. I think 20%-30% is the sweet spot of learning vs producing.
- silveroriole 7y agoI think enjoying the struggle will lead you wrong more often than not. I normally find that if I’m really struggling, it doesn’t mean I’m learning, it means I’m missing some information and I need to seek guidance. I’ve always learned more from looking at a successful existing implementation than trying to brute force my own solution (though it’s fun/useful to have a pop at something on your own first, of chorse). Sure, you need some tenacity and concentration, but I don’t understand people who will happily and repeatedly bash their head against a wall for hours without ever checking whether there’s a way around the wall!
- WrtCdEvrydy 7y ago> what do you do with the juniors who never get it? It's kinda weird, because I only get the juniors that are on the fast track for promotion. I'm just supposed to fill in any holes on their knowledge sets for React, NodeJS, and some of the legacy applications in house and pass them along. They'll usually only spend like 3-4 months with me. Someone who isn't learning gets sent back to the general junior developer pool for a bit longer.
- barbecue_sauce 7y agoThe idea that using a library to accomplish something essential but mundane is "lazy" is weird. If your job is to transport pallets of widgets from one place to another and you elect to use a truck that someone else has manufactured rather than building your own, that's expected behavior.
- crispyambulance 7y ago> ...elect to use a truck that someone else has manufactured rather than building your own, that's expected behavior. To stretch the analogy a little further, if that "truck" happens to be an 18-wheeler with some crazy gearbox you've never operated it's quite normal to, instead, make several trips with your own wheelbarrow which you know you can handle. That, in many cases, might be easier than using the 18-wheeler without preparation/training.
- stcredzero 7y agoI divide my officers into four groups. There are clever, diligent, stupid, and lazy officers. Usually two characteristics are combined. Some are clever and diligent -- their place is the General Staff. The next lot are stupid and lazy -- they make up 90 percent of every army and are suited to routine duties. Anyone who is both clever and lazy is qualified for the highest leadership duties, because he possesses the intellectual clarity and the composure necessary for difficult decisions. One must beware of anyone who is stupid and diligent -- he must not be entrusted with any responsibility because he will always cause only mischief. EDIT: I misread and thought he was a supporter of the regime, but the source is not a villain as I thought before. In any case, I think there is some wisdom in this quote. https://en.wikiquote.org/wiki/Kurt_von_Hammerstein-Equord https://en.wikiquote.org/wiki/Kurt_von_Hammerstein-Equord I wonder if an RPG could be made adding these two axes to the alignment graph? (I just want to play a "Chaotic Stupid" character.)
- Apocryphon 7y ago“He was an ardent opponent of Hitler and the Nazi regime.” I don’t think he counts as a villain, unless you were pro-Entente.
- stcredzero 7y agoSorry, I misread that he was a supporter!
- purplezooey 7y ago“You’re right. That’s okay. I’m here to help you figure out how to make it better.” No. It's just not realistic. In today's company your manager will say that to you then slate you for the "bottom 10%" category and you'll receive decreasingly subtle signs that they want you to leave. Companies don't actually train, reinforce or develop employees anymore, at least not for more than a few weeks.
- excitedNerd 7y ago(Author here) That's actually a real conversation that happened over a year ago, and I ended up becoming technical lead on the project later! No signs of firing yet. Not all companies are too lazy to care about their employees. It is, realistically, the smartest financial choice to invest in growing the people you hire instead of just throwing them away and hiring new ones every quarter.
- gizmoduck 7y agoI don't mean to deride you in any form or fashion but your experience seems to be the outlier and the OC's experience seems to be the modus operandi (having experienced it, myself). As far as could tell, they weren't saying it didn't happen to you but to infer that's (generally) not how things work elsewhere. For example, if you've never heard of the phrase "being managed out"[0,1,2], you're lucky, but others haven't been and will continue to not be for some time. You're preaching to the choir, essentially. :) [0] - https://www.linkedin.com/pulse/getting-managed-out-fired-welcome-cliche-olympics-greg-capogna https://www.linkedin.com/pulse/getting-managed-out-fired-wel... [1] - https://www.mattgingell.com/managed-out-at-work-a-guide-for-employees/ https://www.mattgingell.com/managed-out-at-work-a-guide-for-... [2] - https://www.ronankennedy.ie/blog/2017/1/16/am-i-being-managed-out https://www.ronankennedy.ie/blog/2017/1/16/am-i-being-manage...
- MaulingMonkey 7y ago> but your experience seems to be the outlier I'm not sure that follows just from adding your own ancedata ;). I've made my share of mistakes at every job, and haven't gotten managed out. What will get you fired is consistently under-performing, persistent personality conflicts, or repeated negligence without visible improvement. Your company might be too lazy to have any sort of formal training program, but that cuts both ways - they'll be too lazy to hire a replacement if you're showing signs of improving, too. Your manager probably has too much on their plate to train/mentor you themselves, but I work places where coworkers like talking shop, and will generally be happy to share advice, techniques, thought processes, etc. - especially if it means they're enabling you to take things off of their plates to get more stuff done. Now, granted, this isn't everywhere, but it's far from being OC's "unrealistic" either.
- Waterluvian 7y agoWatch NHL hockey and count the number of mistakes players make. And they're being paid millions to do it. Mistakes are just... Ugh. They're so normal and so important to growth that it frustrates me that they're ever perceived as a bad thing. If you're not making mistakes then you're not making those risky plays that turn into goals 7% of the time. You'll end up being a consistent, mediocre player.
- optimiz3 7y agoAll I'll say is variance and mean relative to successes and failures. NHL players get paid big bucks because their mean is higher. Everyone makes mistakes, but in the end much of it comes down to talent and work ethic, both of which enable people to recover from their mistakes.
- davnicwil 7y agoI totally agree with the message underlying what you're saying but specifically in sports, I think a really interesting thing is that this only applies once you're at the very top level. Below that, I think being as boring and consistent as possible is actually the key to being an above-average player, paradoxically. It's the same percentages at work - for averagely talented players, those risky plays don't succeed 7% of the time, more like 1% (for argument's sake, obviously made up numbers) so it's actually a better strategy to do the boring thing which might succeed say 5% of the time, consistently. Still low, but better on average than most people who do try the risky, extremely unlikely to work, plays more frequently.
- Waterluvian 7y agoYou might be right. But this is especially interesting to me. I was that consistent mediocre player in the 10+ years I played hockey. I was always so nervous and afraid of making mistakes. Absolutely terrified. Mainly of letting down the "good players" So I just played this safe game and got maybe 3 points a season. Then one season I was put onto a team with three Allstars who didn't want to play A or AAA that year. They got onto the same team because all three of their dads were the coaches for the team. They encouraged more growth out of me than any coach or teacher ever has before. Everyone was so supportive and after a few months I was genuinely convinced that nobody was going to get upset if I made mistakes. So I started putting myself out there. I started trying to position myself usefully. And the others actually stated passing me the puck. And every time I messed up someone would give me some form of verbal or nonverbal reassurance. My confidence exploded. We won everything that year and went on to the All-Ontario tournament. I was 16 and that was maybe one of the best weekends of my life. I still vividly remember this almost two-line pass that I received and dodged around the defense. Almost a breakaway but the goalie scrambled out and dove on the puck. Coach said, "holy shit. Where was that all season?!" A formative memory I will never forget. And then the next season. 16-17 year Olds. Lots of hormones. A real bunch of assholes. They reinforced all my fears about making mistakes. That was the last year I ever played hockey.
- DoreenMichele 7y agoAn actual culture of excellence tries to root out bad behaviors rather than looking for someone to pin the blame on. Of course, sometimes you still have to cut people out, but it is possible to foster a culture of growth rather than a climate of terror. If this sounds strange, it's because so few organizations do it, not because it doesn't work.
- ex3xu 7y agoThis article reminds me of the analogy made in the anti-procrastination book the Now Habit [0] called "raising the board". When you or your company culture tie the stakes of making a mistake into some kind of validation of your worth as an employee or as a human being, it's like taking the simple task of walking across a board on the ground, and transforming it into walking across a board 100 feet in the air with the building on your end also on fire. Obviously, it creates additional stress and anxiety that makes it significantly harder for you to get started, iterate, and bounce back from failures -- even though the actual difficulty of individual tasks hasn't changed. If this article's point appeals to anyone and they are looking for a modern researcher on the topic, I'll gently push them in the direction of Brene Brown's work on embracing vulnerability as a driver of personal growth: https://www.ted.com/talks/brene_brown_on_vulnerability?language=en https://www.ted.com/talks/brene_brown_on_vulnerability?langu... [0]: https://hashref.com/summaries/TheNowHabit.pdf https://hashref.com/summaries/TheNowHabit.pdf
- Lowkeyloki 7y agoThis is such an important lesson. Also, you're worth more than "what you've done lately". I personally struggle with tying my self worth to my productivity.
- euske 7y agoI'm mildly offended by the casual use of the word "wizard" here - I don't believe that they actually exist. I'm not American, but I tend to think that assuming the existence of wizards or geniuses is fundamentally Unamerican. If anything, the concept of wizard etc. is pretty much in the eyes of the beholder. In this sense, we're digging ourselves deeper by needlessly magnifying and exaggerating one's "ability". Different people produce different outcomes, but the difference in their output is mostly accidental. Humans are not comfortable with explaining everything as luck. But I think many things are actually explained by luck, and we should take it easy.
- guntars 7y ago> Different people produce different outcomes, but the difference in their output is mostly accidental. I prefer to work with people that accidentally consistently produce better outcomes.
- apotheosis 7y agoThe author is using wizards as synonymous with geniuses plus some geeky RPG terms used as metaphors. She's not implying that wizards exist, rather, that her peers seemed to be performing magic compared to her skill level at the time.
- switchbak 7y agoI don't love the wizard metaphor either. Mainly because I don't like buying into the ego behind it. Kent Beck had a great talk (happiness at work, I believe) where he talked about the downsides of seeking ego validation through one's work. I'd much rather treat these as pretty common sense, learnable lessons that are accessible to anyone. As for one's output being mostly based on luck? I must disagree with you. I find those that care about what they're doing, and why they're doing it - consistently outperform those that aren't invested in what they're doing. And I think there are those that are more suited to our line of work than others (whether due to how their minds work, or otherwise). Luck does however play a part in the chances we get to learn and to prove ourselves, especially if you're not born into a relative position of advantage. But to sum up one's contributions, skills, talents and effort to be just luck? That seems dismissive.
- gilbetron 7y agoFrom my hometown! Atomic Object has their heads screwed on straight, and recognizes the importance of reality and nuance when it comes to software development. Other firms I've dealt with are ... less enlightened.
- keyle 7y agoWhen I started, I was an intern. I was lucky to live in a day where not every metrics were used to rate someone's productivity. So employees had time for me. Time to help me learn, and figure out stuff. As I wasn't paid, I had low pressure to deliver good things. That said I was trying really hard to bring a net positive. I miss the days where having interns was a common thing. We'd give them the repetitive boring jobs but they'd also get real experience and see _how_ things were done. Later they'd be trusted to do just about anything. Now it's all 'senior'. Every job is looking for a heavy-hitter rockstar superman. Even if it's wrapped into this joly 'hey we're cool and kinda awesome too, woowee us!' - they're still wanting to find senior mad-scientists. I contract myself out to large/small businesses, all sorts of industries, big pay jobs. Number of interns: 0. The net result is I see plenty of 'senior engineers' hired who I wouldn't call senior. They've got 5 years experience, 2 of them were writing tests, and they're 'senior'? Do the future a favour, get a few interns. They'll keep you young!
- WrtCdEvrydy 7y ago> 2 of them were writing tests I mean, I've seen the counter... and it's not pretty.
- andreareina 7y agoI believe the point being made is that 5 years isn't really enough to call oneself senior, especially if 2 of those years is in a very narrow focus with little to no consideration for the larger picture required.
- BurningFrog 7y agoSo maybe there are still interns, they just have a fancier title now?
- closeparen 7y agoThe meaning of a job title is encoded in your company's performance review and promotion system criteria. All other beliefs about what a title "should" be are just noise. For us, "senior" means "promoted twice" i.e. by first building a successful small system and then by building a successful medium system, with the first having not imploded yet, and your peers and stakeholders generally happy.
- RandomGuyDTB 7y ago> You're worthwhile let me stop you right there buddy
- throwaway180118 7y agoI'm listening. Go on?
- rmason 7y agoFour years ago I met Carl Erickson, one of the founders of Atomic Object, when he spoke at Lansing Startup Grind. https://www.youtube.com/watch?v=hxOjJmUtTYA https://www.youtube.com/watch?v=hxOjJmUtTYA He was a college professor in Grand Rapids who if I remember started the company with a student. He impressed me because he had company culture figured out early and that gave Atomic Object a distinct advantage. They've expanded to several locations in the state and have an extremely low turnover compared to other shops. He understands that not every programmer wants to go into management and they're encouraged to become mentors and help staff stay current. He also indicated that he was starting to become an angel investor. I found him to be quite an interesting guy.
- moksly 7y agoWe once had a Cisco phone setup that didn’t really have a test-system, and I was tasked with automating phone creation/updates for around 5000 employees. The documentation for the API wasn’t very good at explaining what each setting was, and I got one of them wrong. It wasn’t wrong for those of us whom I tested it on, but it was wrong for quite a lot of people. As a result a few hundred people in the city of Skanderborg where I work, had their phones deleted. Which is sort of a big issue. Because it was weakly testet we rolled it out mostly to departments we knew, but one of those was IT, and suddenly the phone support for 5000ish employees was out. The head of IT wasn’t happy when I told him, but his reaction was perfect. I was pretty new and I think he could tell that I was down about the situation. He told me that we all make mistakes, but it’s the people who own up to them that are useful. It’s some of the best advice I’ve ever gotten, and today I can’t even imagine working in a culture where mistakes aren’t allowed. I don’t think you should test your phone-automation software in production. You really shouldn’t, unless it’s the only option you have and the reward far outweigh the risks. Because after my mistake, I got the settings right, and the automation saved thousands of man hours.
- mmsimanga 7y agoI often wonder whether one of the factors that decides whether boss is understanding or not is if the boss himself was once in the trenches. I worked as manager for a decade and the first thing I always did when such things happened was to try find the solve the problem. No use crying over spilt milk. As a senior developer now I am definitely more empathetic certain types of mistakes made by juniors.
- heymijo 7y agoI've found one of the quickest things to atrophy for managers is their empathy for being an IC. If I had to conjecture, it's much more a person's mindset, the organizational culture, and their incentives (so the system), that will dictate how they respond to mistakes. I have seen this in organizations from to tech, to education, non-profits, and beyond.
- 7y ago
- janpot 7y agoIf nothing else, you can always serve as a good example of a bad example.
- jshowa3 7y agoYou'd be surprised how many companies have a sink or swim mentality. Many people are just in it for themselves and don't really want to help others, or they just aren't cognizant enough of their surroundings to bother to offer aid. If those that don't want to help need to, it's often full of belittlement. I've been in situations like this, and let me tell you, it sucks. I feel like I could've grown a lot faster if someone just cared enough to work with me on some things I had difficulty with. Makes me have a greater appreciation for culture and communication.
- LandR 7y agohttp://www.poorlydrawnlines.com/comic/learn/ http://www.poorlydrawnlines.com/comic/learn/