11 ms·
Sigh. I’m at the point where I could honestly care less what language/library someone knows. I’ve been working through a big pile/mess that a recently departed
by travisgriggs 4y ago
Sigh. I’m at the point where I could honestly care less what language/library someone knows. I’ve been working through a big pile/mess that a recently departed teammate has left me to clean up. I wish I had had more bandwidth to see what was going on.
What I wish I could figure how to reliably measure when we get around to hiring a replacement:
- do they care? They don’t have to agree with my opinions. We can hammer out a compromise with enough laughs. I just want them to care. Because there’s still a lot of things that even the best protocols, procedures, and practices can’t cover.
- can they be responsible? Or have they bought into the fantasy where they offload responsibility to a “decider” while they play the role exclusively of “doer”?
- can they and will they ask questions?? To customers, to teammates, in online forums, wherever. Or does their insecure ego prevent them from feeling the fool so that they can become the wiser?
-can they be critically honest? Admit what they don’t know when debugging, avoid conclusion jumping, candidly self asses? Or do they need some form of myopia to maintain a narrative about their abilities, their contribution, their value, or the environment around them?
If I could reliably convince myself that someone scored strong in these four areas, and had rudimentary programming aptitude we could just skip the rest of these “hiring/new employee” diatribes.
- ls15 4y ago> - do they care? They don’t have to agree with my opinions. We can hammer out a compromise with enough laughs. I just want them to care. Because there’s still a lot of things that even the best protocols, procedures, and practices can’t cover. Are their pay and their working conditions the best that the market can offer to them? > - can they be responsible? Or have they bought into the fantasy where they offload responsibility to a “decider” while they play the role exclusively of “doer”? Do they have the decision power and the salary that go hand in hand with high responsibility?
- morelisp 4y agoThere's a difference between being responsible and being accountable. Everyone should be responsible.
- ls15 4y agoGood point. Actually this distinction is a bit blurry when I tranlate these words to my Mother Tongue, German.
- morelisp 4y agotbh it's blurry in English too, because you can be abstractly "responsible" / "a responsible person" which is a general virtue, while also being "responsible for" something / "the responsible person" i.e. some formal role which should also come with compensation. But I think the former case is what travisgriggs meant, and it's also something I expect from everyone regardless of level/role/pay. If someone's answer to "why does clicking 'Save' and then reloading not show the saved data?" is "the product requirements only said there should be a Save button, not that the data should be saved", I don't want to work with them. If you want something like this go work for a body shop, not a product-focused company - and then don't complain when you never get the interesting technical work.
- ls15 4y agoI agree that everyone should feel responsible for fulfilling their part of the contract, not just in the most shallow way. > "the product requirements only said there should be a Save button, not that the data should be saved" If these were really the requirements, then the PO's salary should be split and go to the developers, because they would need to do that job anyway and at least do not get distracted by an incompetent PO.
- morelisp 4y agoYou think a PO is incompetent if they hand over a mockup with a "Save" button and not a 200 page document that among every other detail says "Clicking or otherwise depressing the 'Save' button should persist the information in fields A, B, and C into the database within 500ms" or some such overspecification? We're selling ads, not sending people to the moon. This kind of culture eventually produces the equivalent stupid formalization on the dev side like "all modules must have at least 99.85% coverage and a three-phase UML diagram review by the architecture team before deployment". Better to have some slack and people willing to use common sense on both sides.
- shswkna 4y agoI would argue that you have presented a chicken and egg problem. As a business owner I am reluctant to offer a new entrant the best pay “that the market can offer”. Working conditions - a company can only offer the best within their means. I know that good faith must comes from both sides, and a company has to offer something worthwile in return. Like any type of relationship, its a two way street. But a sense of entitlement firstly, and then maybe if the company is lucky that the employee will care and take responsibility - that is a relationship one better not enter from the onset, if it can be detected ahead of time. Its just the wrong value set. I would also add that a company that displays the same kind of entitlement towards its workers, is also not worth an employee’s further attention.
- ls15 4y ago> As a business owner I am reluctant to offer a new entrant the best pay “that the market can offer”. Most businesses are also reluctant to give their best workers a meaningful raise.
- deleted 4y ago[deleted]
- mbrodersen 4y agoSo do you regularly increase employee salaries to match their demonstrated competency and responsibility? Or are you like most employers, giving new hires better pay than your current top performers, incentivising your top performers to find a better paid job somewhere else?
- atoav 4y agoA unexperienced person that cares and has the ability to learn is always better than an experienced guru who does not care and has no grain of professionalism inside them. For me people that don't take responsibility like that ultimately have an issue with themselves: Yeah they might be wasting my time — but more than that they are wasting their own time. If they are as good as they believe they are, why do they end up in a job where they don't care? Not caring is okay, but where is the ethos of the craft? I might not care about the particular problem of a customer, but I might care about the reliability, quality, extendability, readability and performance of the code I wrote. Caring costs energy, sure. But not caring can cost you even more, as you are wasting your life.
- akomtu 4y agoThere is little demand for those craftsmen that care. Company owners want their employees to be passionate about their jobs, but do they want to pay extra for the craft? No. Artists are poor in our society for a reason.
- morelisp 4y agoI think most companies are extremely dysfunctional with unhealthy attitudes towards their workers, but if there's one thing they do for programmers, it's pay. Even in Europe where we don't have FAANG salaries programmers are among the highest-paid craftspeople.
- mellavora 4y ago> I might care about the reliability, quality, extendability, readability and performance of the code I wrote. This is a brilliant definition of professional ethos. A further poster asks if companies pay for this. I understand that "do I get paid for it" is the question of the age, but I see that as a reflection of one of the evils of the age (every age has evils and goods). The money you get paid is a means to an end, not an end. I feel better about myself knowing I have lived up to my standard, money cannot compensate for that. Money gets you the respect of people who don't know you. Professionalism gets you the respect of the people who do, including the person who knows you best, yourself.
- sorry_i_lisp 4y agoI love this post. You've managed to describe my current frustration, when working with people that score low in those categories. I've had a team member that was quite high in 3 out of 4 categories and low in actual programming skills and I found him to be a valuable team member.
- bryanrasmussen 4y ago>-can they be critically honest? I think this is the main property of seniority, with seniority comes a bit of self-assurance and not really caring if someone thinks you're a fool for not knowing what X is when you know what A - W is.
- throwawaysleep 4y agoAs an employee, I don't know why I would want to be any of those things, as I am just going to jump to another company the next year as I did not get a raise. This career is mostly leetcode with a year of cooldown time doing enough passable work to not get terminated. I completely get why employees do not care and are happy to let bad decisions by others go unchallenged. There is a bug at my job that is costing my company several hundred a day. I could fix it or I could just ignore it and avoid having to write a ticket, deal with feedback, and generally having to speak. Convince me to fix it.
- dm3 4y agoOh wow, do you find this sort of a career fulfilling?
- BeFlatXIII 4y agoWho cares about a fulfilling career if it pays enough to fund fulfilling after-work hobbies?
- throwawaysleep 4y agoWhat I find fulfilling doesn't pay anywhere near as much as corporate SaaS. I am sure some are passionate about corporate digital security, but very few.
- Scea91 4y ago> I am just going to jump to another company the next year as I did not get a raise. Why would anyone give you a raise if you work with this mindset? People get raises and promotions. If you don't, the responsibility for such situation is very likely at your side.
- throwawaysleep 4y agoA raise is not a reward. It is the baseline expectation in a high demand industry. I can get the raise/promotion for doing little besides interview prep. If you cannot beat the effort to raise ratio, the optimal strategy for me is to do a mediocre job.
- wruza 4y agocan they be responsible? Or have they bought into the fantasy where they offload responsibility to a “decider” while they play the role exclusively of “doer”? You just scratched my itch with it. If you are responsible, but nobody cares to fill you up on project details and latest decisions and news, you can’t make your own decisions, because decisions have to be made in line with something, not in a vacuum. They come naturally if you are aware of the situation, and do not if you aren’t. Constant info starvation leads to this behavior even in those who are fully responsible and autonomous otherwise. Our management does that a lot. They [re]decide or [re]plan something, sprinkle few-worded contradicting tasks around, as if everyone was in course, and then get too busy to answer. So the whole day turns into an investigation because nobody can decide nothing. This “effective” management saves minutes of explanation for days of doing complete garbage and then brags on what an “effective” team we are at corporate events, while literally everybody sits smiling out of subordination having no clue what the fuck they are babbling about. (It’s not just my guess, I’ve talked to them all.) Not claiming that you’re a boss who demands to run a business for you blindfolded. But since you’re making a list, please make sure you’re talking about truly indecisive guys and not the lack of communication.
- cardanome 4y ago> do they care? Do you mean really care or just be good at pretending? The first thing I learned when I started working is the importance of not caring. Caring can cause innner-team conflicts and burn out. Yes, you need to appear motivated but caring too much will just make you annoying. Also this is more about the power of influence I get over a project. If I get real ownership and the power and tools to make decisions, yeah I am going to care, if not, not, just no. I am not wasting mental energy on things I can't change. I will pretend to care about anything you want me to care though, if the pay is right.
- wjnc 4y agoHonest question: Are there things privately you care about? I take pride in parts of my work with the same emotional response as I take pride in my family. Not exactly the same magnitude, but the same emotional pathways at work. After 15 years of working I've learned to say "no", manage emotions, etc. to become at least robust in not 'caring' about office politics and such (in the emotional sense). But I do care about my work. It's the main thing I do.
- cardanome 4y agoSure, there is lot's of things I care about privately. In fact I absolutely love programming languages and it took me a while to separate my excitement from my professional work. Your family comparison is super weird. There is no love and loyalty between employer and employee. The relationship is antagonistic by nature. If I find a better job, I am out. If they don't need me, they will kick me out. They pay me the minimum amount they can get away with and try to squeeze out the maximum value. They don't care about me as a human being and they should not, that is business. (It is the job of labor laws and unions to make the interaction more humane, I don't believe in idealism.) Of course, I still have professional pride and given the choice will try to do a good job but for me being a professional also means being emotionally detached from it. It is just business. I work for money. The meaningful stuff in my life happens outside of my employment.
- wjnc 4y ago
- yosito 4y agoI would add: - do they communicate about their work? For me, that's number one. Often, really smart programmers are really terrible at communicating about what they're working on. They get into Lone Ranger cowboy mode and write tons of code without telling anyone what they're doing. They may get a lot done on their own, but it makes them nearly impossible to work with as colleagues. If I had to choose between a coworker who wasn't very good at coding and a coworker who wasn't very good at communicating, I'd gladly choose the one who isn't very good at coding.
- meowfly 4y agoI'm sympathetic to this perspective, but the other side of this is that the most enjoyable time in my job is headphones on listening to music in a flow state. I've been accused of being a lone wolf on projects. It comes from the selfish place that it's simply more enjoyable. Architecture conversations and code reviews can be fun, but collaborating on a project I could do myself (and especially pairing) often makes my job less enjoyable.
- yosito 4y agoThen maybe you shouldn't work with others.
- andi999 4y agoDoes the company praise programmer A whose programs run without error, or programmer B whose code crashes in production at night, but the 'hero' (B) is coming in at midnight and fixes it? A lot of management will praise B (good job, you saved our a..); creating a very very wrong perception.
- citrin_ru 4y ago> Sigh. I’m at the point where I could honestly care less what language/library someone knows. I totally agree, but with the one exception - C++. The language (and its ecosystem) is so complex that I don't see someone without experience being able to be a lead developer of a large C++ project or to be able debug non-trivial bugs in C++ code. Debugging is one of my strongest skills, I can debug code written in many languages including C but when it comes to C++ I often helpless. I don't see myself being confident in C++ without spending years to master the language.
- mbrodersen 4y ago25+ years of experience with C++ here and yes I agree that C++ is very hard to master.
- chakkepolja 4y agoI mean, It matters whether the developer is in certain field. In very few situations I will hire a web dev for OS programming job. But it matters less whether developer knows django or node js or Java.
- js8 4y agoFor individuals to care, the institution (represented by leadership) needs to care too. Does it? The decades of neoliberal dogma ingrained into management that everything should be done as cheaply as possible, and nothing else matters. To me, that is a very definition of organisational not-caring. MBAs, in principle, cannot build a beautiful cathedral. That is lavish for its own reasons. If everybody chases money, nobody chases anything, really.
- InvertedRhodium 4y agoThat's simply not true, you can care about your own work standards and professionalism even when others don't care about theirs. "They did it first" isn't an attractive excuse, even if they did.
- js8 4y agoYou can, but then you risk burnout. We are social animals, we not only want to do the right thing, but the right thing also has to be supported by others. If it is not supported, most people will just give up.
- lupire 4y agoThat's fine, but do that on your own time or when working for a client that wants it and pays for it, not as a charitable gift to a capitalist.
- rramadass 4y agoVery well said! I will just add one more; - Can they learn on their own? For ANY JOB this is ALL that matters. Languages/Tools/Frameworks etc. can all be learned as needed. But if you don't have the above character traits nothing can be done. This is also known as having a good attitude. Companies abysmally fail at identifying and nurturing these traits. They go after the secondary noise (easily measured irrelevant parameters) rather than the primary signal (nebulous and hard to measure). I believe every HR department should be staffed/supported by psychologists from CBT and ABA domains to really nurture their people.
- deleted 4y ago[deleted]
- morelisp 4y ago> If I could reliably convince myself that someone scored strong in these four areas, and had rudimentary programming aptitude we could just skip the rest of these “hiring/new employee” diatribes. The best way I've found to identify these people is to look for people in existing jobs which require such skills, who now want to move into development. That can be any field where there's similar personal demands to achieve a high level of skill, whether that's technical-related (civil engineer) or not (cook, musician, sport). These people are also often overlooked by traditional hiring processes so if you can get a process in place to find them, it's a huge competitive advantage when you can't offer FAANG salaries or on-site barbers.
- ChrisMarshallNY 4y ago> I’ve been working through a big pile/mess that a recently departed teammate has left me to clean up. I’ve heard some version of this statement for years. I feel that it is an almost guaranteed result of today’s “mayfly tenure” pattern. With the entire industry and engineering career structure, based around (and rewarding) tenures of two years or less, there’s almost no incentive for engineers to leave a legacy. Instead, “quick fixes,” and “buzzword bingo” work is rewarded. Who cares if it goes pear-shaped when the next OS comes out? I won’t be around to clean up the mess. I’ve spent my career, maintaining my own code, and have learned to leave a legacy[0]. I was just working yesterday, on a new fix release, of an app that has a provenance that goes back ten years (Through two different codebase pivots)[1]. I walk through its history, in this comment[2]. [0] https://littlegreenviper.com/miscellany/leaving-a-legacy/ https://littlegreenviper.com/miscellany/leaving-a-legacy/ [1] https://github.com/RiftValleySoftware/ambiamara https://github.com/RiftValleySoftware/ambiamara [2] https://news.ycombinator.com/item?id=31737121 https://news.ycombinator.com/item?id=31737121
- hhmc 4y agoYou certainly seem to have learned the art of self promotion.
- ChrisMarshallNY 4y agoNot really. I’ve learned that it’s not a good idea (for me, at least), to be saying “you guys are doing it wrong, and here’s what’s wrong with your approach.” That type of thing tends to get lots of clicks and upvotes. Internet rants go viral, hereabouts, on a regular basis. Instead, I have learned to say “This is my approach, with the results, and here’s links to the proofs, in my own work.” When I make general statements, I tend to qualify them with “I feel as if…”, or “It is my opinion that…”, or “In my experience…”, etc. As you have demonstrated, it often results in downvotes (I suppose, because it is perceived as “arrogance”), but I won’t engage in poo-throwing. The Internet is already bad enough, without my contribution. In The Days of Yore, I was a highly effective troll, and I have some atonement to perform.
- 4y ago
- Beltiras 4y agoIf I could add one bullet point to that list it would be: - do they document their thought process behind non-obvious choices in comments? My code is usually peppered with links to SO, explanations of why I'm doing this or that. You never know, the next maintenance programmer to touch that code might be me. I'd like to know what I was thinking when putting that heap together.
- kabaka 4y ago> can they be responsible? Or have they bought into the fantasy where they offload responsibility to a “decider” while they play the role exclusively of “doer”? I do want to care but decisions feel remote even when you ask or provide feedback and it's overlooked only for it to come back later that what you had suggested was plausible and is being done only a few months late when you've already implemented an RMQ integration that was possibly avoidable. It's demoralizing when your company starts moving in the direction of bug resolution is simple of a legacy system whose original authors are no longer with the company and you need to be pushing out 10 JIRA tickets in two weeks. Clearly trying to turn the engineers into code monkeys how am I supposed to care in this environment?
- trh0awayman 4y agoWhat's very funny to me, is that I can easily imagine every person I've ever worked with writing this same list, and also thinking of themselves as ranking highly. In fact, I think this list mostly boils down to "Do I like this person?". But that might be the most important question of all.
- Asooka 4y agocouldn't care less
- tobyhinloopen 4y agoIn interviews I usually just ask developers to show me some code (any code) and ask them random questions about it. I’ll ask them what libraries they use and why, or why they wrote some piece of code the way it is, or why did they or didn’t test certain pieces of code. Their answer will usually show their (reasoning) skill and whether they care. Talking and reasoning about code is an important skill for a developer for me, so that’s what I’ll focus the interview on. I don’t care whether the library is a good or bad choice. I don’t care about the code itself or whether it’s good or bad. I just want to know if they can tell me why it is the way it is.