Even sadder that your employer doesn't see things any other way. In fact, you should be happy that you are not employed by people who easily fall to emotional terrorism. Might have been a great coding job but it's better to work with people who think like you and not just code like you.
I would not want to work in an environment where strong emotional language used to criticize your work is not considered abusive. It's childish and counterproductive. I'm not your enemy, I'm your ally --- making me hate you isn't going to make me want to work with you. If I'm wrong, say so, but do it politely.
I work with someone who has an amazing ability to tell people they're wrong and make them feel good about themselves. You come out of gruelling code reviews feeling hyped and enthusiastic about refactoring your code. It's a skill I'm not very good at and one I want to learn. That's professionalism in action.
i'm a pretty mild mannered personality, very reluctant to get angry with other people. i try to be diplomatic with people, at least, in person.
one of my worst experiences working on a dev team was checking in code that broke the build. the alpha came into my office and got quite angry with me. it left new emotional wounds and reopened old wounds. it didn't help me become a better programmer, just more fearful and stressed. i've reflected many times on how that message could have been conveyed better.
multiple years later, a manager i was working for decided he needed to start writing code and he checked in something that broke the build i was working on. of course, now that the shoe was on the other foot, what do you think i did? i reacted angrily! (lucky for me, he's a good guy with a lot of class and didn't just fire me on the spot. he didn't even react in a negative way.)
the lesson i learned is that i need to become classier. still working on that ...
Why do software engineers constantly try to project that they are a special snowflake of a profession?
Would you accept such nonsense from your plumber, or your dentist, or your electrician?
Software engineering is one of the most fundamental building blocks of modern civilization, and yet it continues to be so fragile because of this kind of cavalier attitude.
Also, apologizing doesn't mean you have a moral failing. It means accepting at least partial responsibility, and being humble about it. Any good org knows that you don't just design your system with the hope that people won't screw up, you need to design it to work despite some amount of screwing up. But in either case, it is still both an individual and collective responsibility.
Programming isn't just about computers. It's even more about people. As a programmer, I regret the several times I've blown it with co-workers. (Gotten angry, yelled at them, etc.)
Wow not excusing hurting people's feelings, but if you are literally crying you have become too identified with your code and possibly your job. Or else, you just cry too easily and that's a problem when working with others also.
From the article it seems to me like you're not an asshole (critising work is ok as long as it's comstructive and the focus is on how to improve the code base), which means that the problem was with the team. Don't worry about it, just find a new job.
cebert no advise here, but let's just say I feel for you.
That many programmers have to post something like this here shows how nerd-psychopath (I mean the interviewers) a large portion of the interviewer programmers are. A slave hiring another slave by holding the hiree to a misplaced sense of loyalty, and standards of their sorry profession. A sobering reminder of how people are their own worst enemies.
Hi author,
I think you need toughen up. The real world does not need to coddle your feelings and won't. Some of your fellow devs are going to be rude, but surprise! that's not going to get them fired. What counts is job performance.
Sorry if this sounds tough, but that's the way it is.
Thinking we need to shame our colleagues more is a really bad take. You can like your obscure programming language for all sorts of reasons, but if they go around shaming people I'm not surprised people would rather use a friendlier language.
I mean... Nobody likes having their mistakes or imperfections pointed out, and it feels worse online, where expressing empathy is harder than in person. It's ok to feel bad.
Remind yourself that their feedback, whether it's warranted or not, is just a part of the process of finding the fit within a team. Over time you'll develop a relationship together and find common ground. Try to develop trust in each other, adapt to each other. That will make it feel less bad, and help you write code in a way that your team mates appreciate (even if it's not your preferred way).
Thank you :D it always comes down to a pissing contest.
It's okay, we're very unlikely to work together. Feel free to keep doing it your way, and I'm not going to worry about a random HNer impugning my coding ability based on a comment about interviewing style.
I would argue that the best course of action (in general) is to not use your emotions at work. Software development as an engineering discipline is best done in a dispassionate state. I can logically defend the decisions that I've made (and learned from the wrong ones).
Since you've been working for many years, practice this exercise when you start feeling angry - think of a time in the past where you were also angry and think of the outcome of that episode. You'll find that the emotion really doesn't help the situation and have to assume that it won't help the current situation either.
I'm not saying that you should be a Borg at work - it's good to feel emotions. But you're going overboard and eventually it will harm you (or already has).
I read your piece with mixed feelings, I felt some kind of frustration. Then I thought for a bit and realized what I actually felt was jealousy and a bit of insecurity. After I recognized this it took me less than a minute to dismiss them completely - I'm not a cheerful person and I can't say I was really "happy for you", but what I wanted to write as a comment at that point was something in the lines of "good job".
Then I read the comments. Then went to work. Then read some more comments after I came back.
And what I want to write now would consist of profanities, wild swearing and all expressions of despise I could find. Not directed at you, obviously but at all the people who write complete and utter bullshit like the one who calls himself a programmer JUST BECAUSE of a few years in school or another one who thinks you'll be "a nightmare and time-suck for coworkers". I have no words for the ones like them, and it's not because English is my second language (it is ofc). And I'm scared shitless that, had I not take a couple of minutes to think, I could write something similar.
Well, obviously, you did... I'm not a cheerful, empathic person. You did ok, and you know it - you're employed and you do what you like. You don't need me to tell you that. Instead, I'll try to explain to you why those people wrote those poisonous comments, or, at least, what was it that almost made me write something similar.
1) I started programming at the age of 10 and got my first job in the field some twelve years later. Not because of lack of opportunity, there were chances. I was shy, I was uncertain of my skills (think 16+, obviously not earlier), I wasted time hesitating. From 10 to 16 years of age there were six summer holidays, which amounts to almost twelve months of programming (which is understatement - what with winter holidays and programming after school and all), so at least double the time you spent. And I wasted another six years before I finally gathered up the courage and actually applied somewhere (I got hired right off the bat). To put it simply: I'm jealous. You did what I could have done but didn't. I think there is still, almost ten years later, some regret in me that I didn't. Your post touched that regret and almost caused me to be mindlessly aggressive as some of the other commentator. I think this is a motivation for some of them.
2) The one who wrote that 'he studied 5 years at university' has similar reasons to the one stated above. It's just regret mixed with anger. The truth is he knows what these years gave him (at least if he's active as a professional developer now) and is bitter about this. This one is easy for me to spot, because I see it in people when they (sometimes after years of successful cooperation!) find out that I dropped out fairly quickly and never got my degree. It's funny, because I have never heard such complaints from people who had some social life during college. In short: they know they wasted they time, or alternatively, they know that they're not cut out to be programmers if they couldn't become one without collage. And for the record - don't be intimidated, please. "Compilers, networks, databases, concurrent programming" - you'll learn all of this if you want, it's not some arcane magic, really, you're perfectly able to learn most of those things on your own. Your post, your success in just six months shows this. They couldn't do this if their lives depended on it, and that's why they're angry. [It (the former case, of regretting time spent in college) applies equally to me, but in a weird way: maybe I could be an entirely self-taught programmer, but I'm not, and this angers me. If only I knew better than to go to college, waste time and money, and instead just programmed more! But no, I had to take those few years and now I hear sometimes that "well, imagine how much better you'd be if you graduated" or "anything you know is because of your education, it's a pity you dropped out"...]
3) In this profession, if you want to be serious about it, it's absolutely not about how much you know at any given point, it's about how quickly and efficiently you accumulate knowledge. Many people take for granted that after some time speed of knowledge acquisition drops, but they should know better. It's not a law, it's just their laziness. What you did in half a year is not impressive for the ones ahead of you - I mean what you can do now, what skills you have now. But if you keep it up... if you'll stay as passionate as you are for a few years more... Yeah, I can see that: hordes of programmers (consciously or not) afraid of you. Programmers who haven't learned anything new since last year. Programmers who learn, but slowly. Programmers who are not giving their best. That's why I wrote about insecurity at the beginning, that's what I briefly felt, until I realized I have better things to do than worry about this - writing this small Erlang pet project for example. Remember that if you keep at it you will upset many people, those who stopped learning, those who stagnated, but it's not your fault they're lazy!
Well, I just realized that I wrote an awful lot of text, most of which is my own introspection and, partially, projection. I did it probably because I'm not a cheerful person and this is the simplest way for me to tell you: "good job, keep at it". Ignore negative comments, in such cases as yours they tell much more about their authors than about what you did.
And you know what you did, you don't need me to tell you that, so I'll just end this here.
As a general rule, if a work task lands on your desk that involves working with a IBM/Oracle/SAP product, preemptively apologize to those regularly around you for your miserable attitude in the near future.
God same for me. I read this post and thought I had written it myself. I'm a very pleasant person to work with, I will never belittle others or be harsh about anyone as a person. I will absolutely say when code/architecture/system is poorly designed, and I will say why. This should be a good thing in our industry, but unfortunately it's not.
If a civil engineer came to a team building a bridge and noticed everyone was building something dangerous, he MUST say something or people will die. Imagine a world where the rest of the team poo poo's him for "not getting along."
...and then, there's spending 27 years, working for a conservative Japanese corporation, where they don't know the jargon (but are seriously good engineers). I learned to make things fairly clear, without jargon, and deliver very maintainable code (I'd have been fired, otherwise).
Listen, I understand that researching people before we insult them is passé, but I'm a really good co-worker. I wrote the above in a manner that was all focused on me, not anyone else. I am sad that you saw it as an opportunity to attack.
Maybe we would not get along IRL, and that's fine (but sad). I've spent my entire adult life, working with some of the most difficult folks on Earth (not in the tech industry). I have learned that we all have a story, and we all have value.
If the only way that we can measure our personal worth is to compare it favorably against others, I can't help, there, except to say that it didn't work for me.
i think she realises that this is common criticism against anyone with passion for their work - she is describing an irrational emotional response and basically says as much.
i'll admit i often give the same advice: "don't be precious about your code"
i would never do this infront of a client though - or even infront of other co-workers unless it is a recurring problem and i feel that a bit of shame might help give them a kick into action...
Even sadder that your employer doesn't see things any other way. In fact, you should be happy that you are not employed by people who easily fall to emotional terrorism. Might have been a great coding job but it's better to work with people who think like you and not just code like you.
reply