18 ms·
What you have encountered is actually one of the necessary steps to really become "a senior developer". And congratulations, you have already passed the biggest
by kukkeliskuu 3y ago
What you have encountered is actually one of the necessary steps to really become "a senior developer". And congratulations, you have already passed the biggest part of that hurdle: becoming aware of the issue.
There are things that are fragile, things that break when they encounter a shock. Such as porcelain, when transported. There are things that are non-fragile, things that do not break when they encounter a similar shock. Like a teddy bear, when transported. And there are things that are anti-fragile, things that improve when they are exposed to a shock, like the immune system. If you are not exposed to series of smaller shocks as a child, your immune system does not develop properly.
So you need to develop an anti-fragile attitude towards criticism, in order to become a better developer from the criticism. If you do not learn that, you will be stuck at the level you are at the moment. You can do this at the meta-level as well at the same time: become anti-fragile towards handling criticism in general, and becoming a better human being from it.
The key to hacking yourself is to increase your awareness of your emotional state. When you become aware that you are angry, the anger is losing the grip it has over you. When you are angry, you are sometimes doing things you would not have done if you were not angry. (Sometimes anger is healthy, it may also be a signal to us that our boundaries have been violated.)
- MrGilbert 3y ago> (Sometimes anger is healthy, it may also be a signal to us that our boundaries have been violated.) Exactly. And if that boundaries get violated repeatedly in the same situation (especially by the same people), it is fine to release that anger in a controlled way. I've come to the conclusion that some folks haven't left the state where they sometimes need a (vocal) pat on their hand to realize they crossed boundaries they shouldn't cross. If you can play that game, congrats. Also, do not swallow your anger. Find a non-destructive, non-harmful way to release it. As anger is a physical reaction, the easiest way is to go for a walk, ride your bike or whatever. Whatever floats your boat should be fine.
- molly0 3y agoThank you, it sound to me like meditation could be a way of developing an anti-fragile attitude?
- ethanbond 3y agoStrong yes^ I can point to several instances where my meditation practice helped me to slow down enough to respond to a situation constructively rather than react to it destructively. I’ll also add that journaling is an absolute game changer in terms of actually debugging/thinking through problems. Meditation = “give this a minute or day to simmer” Journaling = “now that I’ve cooled down, what are my actual thoughts on this matter” I’ve been astounded on dozens of occasions to learn what my own thoughts really are, for the first time, by seeing them on paper. I.e. it subjectively feels like I don’t think the thought then write it, but instead I write it, read it, then think it.
- leohonexus 3y agoI would recommend "Focusing in Clinical Practice: The Essence of Change"[1] if you're into reading books. I once took a semester-long course on emotional-based therapy taught by one of its practitioners and it really helped in processing and engaging with my own emotions. One of the core techniques is to visualize the emotion as another person as you try to talk to it and discover more about what it is you're feeling, eventually coming to a strong connection with the feeling. It's been an epiphany trying to process emotions this way for me. [1] https://www.amazon.com/Focusing-Clinical-Practice-Essence-Change/dp/0393707601 https://www.amazon.com/Focusing-Clinical-Practice-Essence-Ch...
- noisy_boy 3y agoOn that topic, I would love to hear from folks who introduced/did meditation to/with their children (say about 11-12 years old)? Is it a good idea? How did it turn out for you?
- hutzlibu 3y agoYou can introduce them to meditation from early age on, they just usually lack the patience to do it for longer or intense, when they are small. I myself started meditating on my own, when I was 11/12 so that is definitely an age, when you can do it serious. My own kids (< 5) are too small yet, that I would do serious meditating with them, but some sort of pre exercises, like just sitting still in nature and observing, do work since the beginning. Don't push them obviously. Rather give them a chance, to explore mindfulness and consciousness with you. I can also recommend Tai Chi/Qui Gong as an more active path towards it.
- olivierjm 3y agoThis comment is golden.
- endorphine 3y agoThis assumes all criticism is made with good intentions. However that is not always the case.
- pjc50 3y agoBut that's not under your control. Whereas your reaction to the criticism is under your control.
- not_alexb 3y agoThat probably flies straight in the face of neuroscience.
- dsr_ 3y agoNot the internal reaction, but what you do externally -- what you say, what you write -- that's generally in your control. AIUI, CBT's primary method is to convince you to pause between feeling and acting, so that you can ask yourself if you have made an accurate assessment of reality and can plan an appropriate response.
- George83728 3y agoIf you truly have no control over what you think and feel, then you are lucky. You can satisfy yourself with enjoying the ride, free from the burden of being responsible for yourself. If you have so little control that you cannot even take solace in the knowledge that you have no control, then obviously this philosophy will only bring misery to you. In which case, why adhere to it? If you have so little control that you cannot even free yourself from a philosophy that makes you miserable, then try hitting your head with rocks or hard drugs. With enough brain damage, anything can be forgotten. Even unproductive philosophies.
- kukkeliskuu 3y agoThe criticism can be useful even if it does not have good intentions. Usually those who want to hurt you, know just what to say to hurt you. If the criticism is completely baseless, it often does not make you angry, as you can trivially say why it is baseless. So it often such criticism also has an element of truth. If you are angry, it is difficult to discern what are the truths. So it is useful to approach criticism both from good and bad intentions both in the same way. In other words, by default, if you get angry, try to figure out what in the criticism makes you angry.
- _popcornLurker 3y agoUhm...I have to chime in here. "Anti-fragile attitude" when it comes to criticism is not built by tolerance. Quite the opposite actually. It is a common misconception. While making yourself numb against criticism IS a solution but not by far the best one. A high criticism tolerance is learned by understanding that ones self worth is not attached to output or delivery. (This is hard in our industry) It comes from self-acceptance and compassion. And these values are learned early on. You'll find that the people that break down at the slightest criticism the most are those that were criticised the most as children as well. Those that had no room for being anything other than perfect. Where value was obtained from performance. To take it even further...why see it as criticism at all? You are not your lines of code.
- Dwolb 3y agoAgreed. Another adjacent PoV is improvement, not complete, is the steady state. What I mean is, throughout our entire schooling career we did work and turned in assignments that got graded. They were done. The work was over. Our professions aren’t like that. There’s no done. There’s always improvement. Therefore every piece of criticism, critique, or feedback has some data in it (sometimes layered in poorly worded phrases that can feel mean) on how to get better. Your goal is to figure out what that data is and whether it’s valid, then act on it.
- matwood 3y ago> Therefore every piece of criticism, critique, or feedback has some data in it Extreme Ownership teaches a mind shift of looking at criticism and thinking of it as 'GOOD'. Criticism is an opportunity to improve.
- lazide 3y agoIt can be manipulated by bad actors however, keeping someone constantly 'doing' for the other parties benefit and not noticing they never seem to actually get paid for it. It tends to attract NPD folks in particular. Like anything, it's about balance. Sometimes, it really isn't anything you should be doing to fix (or anything you should change).
- davidguetta 3y agoAs much as i like the concept in general in life, in this case its just "you are not your lines of code". Also people who criticize people make a mistake kind of. Always criticize the code, not the person.
- noisy_boy 3y agoFor those who are passionate about their work, some of them they put their person in their code. As someone else pointed out in a comment in this thread, it is about acceptance that none of us is perfect, we don't/can't write perfect code and that is totally ok as long as you did what you could (both in terms of the output and the effort to improve the quality of the output). Unfortunately this is largely conditioned by upbringing so easier said than done. But awareness of this itself can be a helping factor in coping with criticism.
- davidguetta 3y agoBut really thats what "you are not your code" means. As much effort and ego you put in it, it will still suck in some way.
- bentcorner 3y agoThis is like the fundamental attribution error but applied to the self. You wrote some bad code. You are not a bad code writer.
- moffkalast 3y agoWell it is not unlike criticising an artist's paintings. The things you make are a mirror of who you are because you use your life experiences, knowledge, and preferences to make them. By criticizing what you make, they are also criticizing you by proxy. Now sure it depends on the type of criticism in question. Finding a bug or other practical problems obviously isn't, but talking shit about a way something is arbitrarily set up that the author thought was really neat would absolutely be. This line of thinking also reminds me of how every time some actor or director or whatever is implicated in some scandal, their work is also tainted forever instead of being taken at face value for what it is. Can we separate the artist from their art? Is it even possible? I doubt it.
- gtirloni 3y ago> So you need to develop an anti-fragile attitude towards criticism The most common way I've seen this done is by becoming numb and not caring at all or thinking others are worth less than you so you shouldn't listen to them. Not options I'd choose for myself.
- roeles 3y agoThe knack is in detachment from your own views. Numbing to me implies not caring, while detachment from your views can be born from caring about improving. If you want to improve, this likely involves shedding some convictions you hold too close.
- gtirloni 3y agoI understand that, just sharing what I see most commonly.
- wildrhythms 3y agoI think it's OK to numb yourself from certain types of feedback like insults, general toxicity, passive-aggressiveness, and so on. But I think reacting to those things should come from a place of empathy: for example I don't know what's going on in someone's life that might make them so toxic in their feedback, the toxicity is probably an outlet after many months of pent up frustrations that are the actual root of the issue they're venting about, etc. I used to work in a customer facing support job, so I learned some strategies to keep cool from that.
- solarmist 3y agoNumbing and acceptance that shittyness happen are different. I will strongly disagree that numbing is useful. I grew up extremely emotionally numb and distant. Looking back it never simplified things.
- polygotdomain 3y agoOn the "anti-fragile" aspect of things, I studied Architecture in college and grad school (buildings, not software/system architecture) before transitioning to programming and the entire education model is built around dozens of critiques over the course of the semester. We don't have final presentations, they're Juries. Each semester culminated in working your ass off for weeks, pulling all nighters for days on end, then presenting whatever drawings and models you had to a panel of jurors who were assuredly going to rip you a new one. They weren't intentionally being mean, but you're a student, and there's plenty to pick apart as there's never enough time to think and do everything. Regardless of how good my projects were, after those final juries were done, I always felt like I'd gotten a heavy dose of criticism. Going through that process over and over again has been incredibly helpful in my professional life, even though most of the criticism I receive is rarely structured like those juries. The first thing I learned is that it's rarely useful to try and refute or respond to the criticism directly in the moment. If that's your instinct, then chances are you aren't fully thinking through the criticism and responding from a more emotional state, which is not good. The key is to try and actually listen (rather than "shutting down"), remember the key points to process later, and to let the person offering the criticism know that you've acknowledged it. Second is to realize that nothing is perfect. There is always room for improvement, things that you couldn't foresee, and things you simply didn't have time for. Obviously, the bigger those things are the more concerned you should be, but as your work becomes more and more refined, the criticisms become about smaller and smaller aspects of whatever you've done. The goal is not to get zero criticisms of your work, but to have the criticism that you do receive be about less and less important elements. Third is that someone will always have something to say. Interpret that in a number of ways. If you're getting a code review, you're soliciting someone's opinion or your development process is dictating it. People will come up with criticism because that's what's being asked of them, and even if it's "perfect", responding with nothing makes it seem like they're not doing what they should. People like to offer criticism because it makes them feel important; they see a "flaw" you didn't, even if they don't really understand the totality of what you did. And while its disappointing to say, some people will criticize you for personal reasons, be it against you directly or because they think they stand to gain something by doing it. Ultimately, you have to decide what is worth listening to and what is not. If nothing is ever worth listening to, then that's something that's likely more on you than the criticism you're receiving. It's also very tempting to discount criticism from certain sources because of past issues with that source. Process each criticism from them in the same way, regardless of the past, because you never know when they actually might have something worth listening to.
- giancarlostoro 3y ago> What you have encountered is actually one of the necessary steps to really become "a senior developer". And congratulations, you have already passed the biggest part of that hurdle: becoming aware of the issue. Fully agree. I tell people, if you cannot be humble about your code, you're going to deter yourself and others. It's okay to admit you may have "screwed up" (mistakes happen to everyone, even in production) the big thing to do is learn what was wrong, and if there's any steps you could take moving forward to avoid that mistake, the person commenting on your mistake probably made the same mistake, and worse it made it into production and now its ingrained in them. Developers become adamant to prevent issues they or fellow team mates have ran into, even seasoned developers run into issues. Hell, even architects, and I've seen CTO's do the dumbest decision making.
- tracker1 3y ago+1 on the above. Your code is not you, and everyone makes mistakes. Literally the only singular person I couldn't work with was with the most blindly arrogant person I ever interacted with, and I left that job because of it. That's over several decades as a developer. In the end, your code isn't perfect and there will be better alternatives on how to do things discovered over time. Most of what you write won't live more than a decade, and if it does, feel sorry for anyone that has to deal with it. It's about doing the best you can, and helping others to do the same. Critique on your code isn't critique about you as a person. Sometimes personal statements can leak in and that's different. I find that for the most part, critiques are only about the code, and it's the author that turns things personal which is where any argument is already lost. This doesn't mean you have to agree with a given assessment, and they don't have to agree with your approach. As opposed to some other comments on this post, I will say that I think the best way to learn how to deal with it is to just keep working, and when you do feel yourself getting emotional, take a step back and review. You rarely are on the spot to respond at that moment, especially for typical PR processes and feedback. Try to put yourself in the mindset to assume at first you are wrong, and second that you are not interpreting the message as intended. Interpret the best possible view of the person and the message sent. It's really hard to put yourself in that mindset, and it definitely takes practice, time and experience. The best thing that you can do from the start, is stay quiet, step away for a moment, and re-evaluate before responding if you feel emotional.
- sidlls 3y agoOn the other hand, in this industry often what one engineer identifies as a mistake another might be neutral toward or identify as a best practice/correct. Our industry doesn't have many standards, and it's not nearly as objective as some think. And often criticism isn't intended to improve an outcome: it's intended to bring others' in line with the critic's view of how it should be done. All this to say, I'd just add to your comment that one must also develop the ability to discern when a critic is identifying a true mistake and when they are simply parroting a fad or injecting their subjective beliefs into the review.
- 0x445442 3y agoExcellent response. By and large the field is a cargo cult where the members are particularly adept at constructing straw man and false equivalency arguments to support specific preferences which are not rooted in anything resembling objectivity. See "Clean Code".
- didgetmaster 3y agoWhile it is hard to hear criticism directed at you personally, or at something you have put your heart and soul into developing; discerning between constructive criticism and 'knee-jerk responses' is critical. Maturity means that you can accept criticism that is intended to help you improve. Making you aware of an issue or directing you towards a better solution can make your code or product a better one. Simple insults thrown from the 'peanut gallery' should just be ignored. If you have built something using a particular language or framework on a particular platform; you should expect those who don't like those things to throw in their two cents without even trying to understand the problem you are trying to solve.
- mywittyname 3y agoI feel like I'm constantly fighting this with my manager at my current company. I receive a lot of feedback along the lines of, "well every other company I've worked for did it X way." For example deployments: company policy is that anyone can deploy any service from master at anytime, so if you merge your code into master, you're saying "this code is ready for production." My manager kept telling "we" should fix that because every other company he worked for deployed from staging into production. I've found managing situations like this to be the hallmark of a good architect / high-level engineer. I really admire people who are able to think quickly on their feet and push back against people who push for ignorant or unnecessary changes. And it is something I am not good at. I've taken to silently fixing peoples' mistakes as to avoid these kinds of discussions. While I'd really like to say, our architecture did not force you to push broken code into master hours before you went on vacation, my (agreeable) personality prevents that.
- tambourine_man 3y agoThe immune system metaphor is complicated because, while it is true that you build resistance, it's often not without some permanent damage, even if mild and neglectable. There may be an analogy for vaccines and constructive criticism somewhere. Even muscle strengthening seems to require minor injuries to the tissue. Tougher but demaged.
- zdragnar 3y ago> Tougher but damaged. You're thinking scar tissue, which analogously would be a maladaptive response to criticism (inflating ego, projecting fault). Muscle strengthening doesn't cause permanent damage unless you overdo it.
- tambourine_man 3y agoI've read that one of the ways that exercise increases muscle mass is through micro-lesions that your body goes on to repair. Not my expertise at all, but it's a thing, it seems. Googling now only shows content farm generated ads for fitness, unfortunately.
- zdragnar 3y agoI've also heard that the growth mechanism is muscle tissue responding to damage caused by strength training / use. However, the result is not scar tissue that is "tougher". The result is more muscle tissue, of the same toughness that was there before, just capable of doing more work by virtue of a larger amount present. Compare this to true trauma to the tissue, which results in scarring. Scar tissue may be "tougher" (less pliable) but it's not contributing to additional work. A better analogy might have been that broken bones grow back stronger, though even that requires that they are set right and have an appropriate amount of recovery time, which to continue the analogy, might be therapy needed to not be so brittle in the first place.
- jonnycomputer 3y agoA defect of being solo developer.
- jonnycomputer 3y agohttps://www.academia.edu/6037370/Some_Observations_on_Robustness_and_Resilience_in_Human_Societies https://www.academia.edu/6037370/Some_Observations_on_Robust... > We can think of a tree as a dynamic system in equilibrium with respect to the forces of gravity. Tree growth takes advantage of horizontal symmetry around a vertical axis as a way to distribute gravitational forces so that the downward force due to gravity on one side of the tree is balanced by the downward force of gravity on the other side of the tree. When the wind blows, the new force acting on the dynamic system of a tree responding to gravity temporarily shifts its current state, as mea-sured by the tree’s position in three-space, to a nonequilibrium configur-ation, and when the wind dies down the tree returns to its equilibrium configuration, just as models of linear systems with stable equilibrium points indicate how a dynamic system responds to a transient impulse. Let us imagine the tree as being represented by a vertical, straight line ..
- byby 3y agoNo. This is false. Even senior engineers can have this problem. It's not a differentiator for success. This is counterintuitive but actually there is raw science to back the opposite fact up. I'm not joking. The more delusional you are as in the less ability you have to take and accept criticism the more likely you are to be successful. There is a positive correlation for this verified by science. It gels with my anecdotal experience too. At the top end of success those guys are the most delusional and least accepting of criticism, for example Elon musk or Steve jobs, etc. Etc. But even on the lower end of the spectrum, senior engineers it's there too. For example people who claim they are able to unbiasedly accept criticism are often the people who are worst at it. The reason for this is not any sort of deliberate emotional reaction or anything like that. But rather because the brain actively deludes you from seeing the complete truth. It pushes people to construct artificial scaffolds of logic to uphold their existing beliefs. Senior engineers are not immune to it nor are they better. What determines the senior role has a lot of factors and definitely not all the factors are related to the actual formal senior rank. A lot of it is luck, time, politics and other bullshit that gets people that rank. Everyone builds these ideals about their identity, their rank, and their engineering ability. The reality is that a lot of it is delusional. By deluding yourself it becomes easy to include other people in your delusion as well and that's how a lot of hierarchies work. Not saying their aren't competent people out there, but don't fall for the false belief that a rank like "senior engineer" conveys a certain level of emotional maturity to accept criticism.
- wildrhythms 3y ago>The more delusional you are as in the less ability you have to take and accept criticism the more likely you are to be successful. There is a positive correlation for this verified by science. Perhaps you could share this verifiable science?
- byby 3y ago[dead]
- lazide 3y agoIf the 'delusion' stops useful output, they won't be very successful. If the 'delusion' is useful and produces better output, then is it really a delusion?
- samstave 3y agoBad example - Porcelain is constantly being shit upon! - To the OP - "Dont give a F" I make quirky and weird shit that pleases ME. (physical things, like weird bike products, stuff out of leather, etc...) Some people find them odd, or "why are you doing that?" -- BECAUSE I ENJOY IT, I dont give AF how you feel about it.
- anonymouskimmer 3y agoI don't want people to get the wrong idea from your immune system analogy. From what I recall, exposure to environmental antigens as a child helps train the immune system to not go off on them later (as allergies). Exposure to any particular disease is only a positive in your adaptive immune system response to that particular disease (and may cause problems such as antibody-dependent enhancement of related diseases, as seen in Dengue, and some Flu infections). For particular diseases such as chicken pox it's better to get them as a child as they have worse symptoms if first caught as an adult. For other diseases I don't know that it matters much. It's probably best to just never catch them at all. And then for diseases such as measles, you don't want to catch them ever (at least before vaccination); definitely not after you've caught other diseases. https://msutoday.msu.edu/news/2020/Covid19-immunity-Yasser https://msutoday.msu.edu/news/2020/Covid19-immunity-Yasser > Does our immune system get stronger with every infection we fight off? > To answer this question, let’s first discuss the two types of the immune system. Our immune system is composed of two arms, the innate and adaptive immune systems. The innate immune system acts fast (in minutes) after it recognizes a pathogen and, in most cases, eradicates the invading pathogens. During this process, the cells of the innate immune system, and their derived immune mediators/proteins, also activate the cells of the adaptive immune system which then develop memory immune responses toward these pathogens. Therefore, upon reinfection, the intensity of the innate immune system remains the same. In contrast, the adaptive immune response is much stronger than the initial exposure to these pathogens. > So, to answer this question, our immune system doesn’t get stronger with every infection but the response of the adaptive immune system is much faster and stronger upon reinfection. https://news.harvard.edu/gazette/story/2019/10/how-measles-wipes-out-the-bodys-immune-memory/ https://news.harvard.edu/gazette/story/2019/10/how-measles-w... > Reporting today in Science, the researchers show that the measles virus wipes out 11 percent to 73 percent of the different antibodies that protect against viral and bacterial strains a person was previously immune to — anything from influenza to herpesvirus to bacteria that cause pneumonia and skin infections. > So, if a person had 100 different antibodies against chicken pox before contracting measles, they might emerge from a case of measles with only 50, cutting their chicken pox protection in half. That protection could dip even lower if some of the antibodies lost are potent defenses known as neutralizing antibodies.
- Nemi 3y agoWithout humility, growth is limited
- cat_plus_plus 3y agoThe paradox here is that I don't want to make others anti-fragile with my own feedback. If I have time and patience, I try to have a conversation with them about what they were trying to accomplish and why they have not considered other alternatives. In a sizable fraction of cases, I come away convinced that what they are doing is reasonable, or at least the effort of making changes is not worth the payoff. Otherwise, I hope that the process is of us coming to a conclusion together rather than me pulling my rank/seniority. I am also not a fan of working with "you are an idiot and you are doing it all wrong" people. Even if they are technically 100% correct, they should have shown me some respect by having a conversation to double check their assumptions. I maybe physically robust, but I still enjoy being transported by a bus with well working suspension. However, an out here is "time and patience". There is no way to know what all other people have on their plate, if they are tired or preoccupied with personal matters and so on. If they are being unreasonable, it's certainly worth keeping in mind that it may not be because of you.
- machina_ex_deus 3y agoEmotions are good. I disagree with everyone telling you to ignore your emotions. We're wired to remember emotional moments and to forget when we're indifferent. Most of the criticism I didn't fix wasn't because it was too emotional, it was because I couldn't care. If something sucks, at least there's a better chance you'll learn the lesson. Stay angry but make sure you learn the lesson. You need to instead translate the criticism into something actionable. Always have in the back of your mind the question what to do different and when. And when responding to people, remember to respond in a way that they will want to criticize you again (it's ok to argue, but not ok to turn it back into something personal). I don't try to control my anger at all. You're missing out on all the evolutionary benefits of sharpened memory in important situations. Stay nice and be angry with people instead of at people. Make sure they don't take it personally.