This sort of crap is why I left software. Niceness over competence.
I didn't enter this (at the time) largely solitary profession to have all the best, juiciest parts of the job get taken over by these people-oriented idiots.
There needs to be a revolution that returns programming back into the hands of solitary nerds working on sheer competence. More people need to care about the quality of the final output than whether or not the guy who wrote it is "a nice fellow".
I feel like this is 'participation trophy' culture coming back to haunt us. Stop being so afraid of getting yelled at, anger is a part of life!
As an introvert who had to push himself to become one of those "people-oriented idiots", the reality you have to recognize is that software is ultimately about people. It is not written in a vacuum to make computers happy, there's generally a human (or a bunch of them) at the other end who will be deriving value from it. Working competently to solve the wrong problem is not how successful software is written. And the chances of solving the right problem without talking to people are, frankly, slim.
There will not be a revolution that eschews the people aspects, the industry has evolved (yes, the opposite of devolved) beyond that. Walking around calling people idiots and being generally angry is not going to win you any trophies either.
Externally, with customers, sure. I agree that we are ultimately doing this for people.
But internally, I do not think that having requirements filter through ever-growing and increasingly specialized teams is a net positive. Early in my career I worked directly with stakeholders and shareholders, and I was empowered to build and deploy things that solved their issues, often from scratch. And I did exactly that, and it felt great!
When I quit, I worked mainly with my product manager, who in turn interfaced with god knows how many people, and only receive tasks after they were parceled out and dispatched to me via JIRA, where I could only see a small part of the picture and I was held to arbitrary metrics on performance.
Things were much better when we programmers were a weird and mysterious rainmakers that the higher-ups didn't understand. This newer, more gentrified profession is ... a lot less enjoyable to work in.
> There needs to be a revolution that returns programming back into the hands of solitary nerds working on sheer competence.
sounds and awful lot like the problematic example you described:
> and only receive tasks after they were parceled out and dispatched to me via JIRA, where I could only see a small part of the picture and I was held to arbitrary metrics on performance.
IME, only the simplest technical projects, with completely pre-defined inputs and outputs can be successfully executed by "solitary nerds working on sheer competence", and that's because all the messy work of defining the requirements and managing the uncertainty has been done by someone else.
For even moderately complex projects, you need to work with a team, and being "nice" - which just means not being a jerk - is pretty essential for working even with an all technical team.
The Pirate Bay under Peter Sunde's management comes to mind as an example of a small team working mostly autonomously to create a large project. Though I think they worked as such to minimize exposure to legal liability and to keep their legal opponents guessing and fumbling about as they tried their case in court. But they (and a lot of other underground sites) are exemplars in 'solitary nerds working on sheer competence'
> The Pirate Bay
> But they (and a lot of other underground sites) are exemplars in 'solitary nerds working on sheer competence'
Those are highly exceptional cases with specific motivations for their organizational structure (evading the law). They are also a sort of projects that have very few competitors due to their questionable legality, and therefore the organizational structure's effectiveness can't really be compared against regular "licit" software projects.
> For even moderately complex projects, you need to work with a team, and being "nice" - which just means not being a jerk - is pretty essential for working even with an all technical team.
Would you call Google a moderately complex project? Because Google is very much focused on individuals rather than teams. Sometimes individuals works together, but it isn't required and you can spend your entire career just working on your own separate problems.
Of course Google also has lots of people who are competent at organizing and talking to people, but having a ton of engineers you can give a well defined problem and they will build a great solution without any extra input is still great to have and you can use that to compose reliable solutions to huge problems. There is no reason work groups needs to be teams rather than individuals.
> Would you call Google a moderately complex project?
Yes... but Google is my employer of well over a decade, so I might be biased on the complexity of the problems worked on here.
> Because Google is very much focused on individuals rather than teams. Because Google is very much focused on individuals rather than teams. Sometimes individuals works together, but it isn't required and you can spend your entire career just working on your own separate problems.
This is untrue in nearly all of my experience at Google. I'm not sure where you are getting your information from, but it's a big company, so maybe there are some corners where that might be true, but it's far from the norm.
ICs at all levels are expected to do a lot of intra and inter-team communication and collaboration. You could limit your opportunities if you choose to silo yourself.
> having a ton of engineers you can give a well defined problem and they will build a great solution without any extra input
This is what interns and entry-level engineering hires do at Google, with the strong expectation that they move beyond working on unambiguous problems into tackling harder problems with more ambiguous and often conflicting requirements.
Have you worked at a team outside of Google? I don't think you understand what people mean when they talk about teamwork. Lets take a project you would give to one junior engineer at Google, at a typical large company they would give that to a team of 5 and then they would need to communicate and talk a lot with each other how to get that project done, all that communication disappears when you work like Google does.
> This is what interns and entry-level engineering hires do at Google, with the strong expectation that they move beyond working on unambiguous problems into tackling harder problems with more ambiguous and often conflicting requirements.
Right, they tackle problems on their own, that was my point. They are expected to figure out requirements etc, and ask the questions needed to be asked. That greatly reduces the amount of communication needed compared to the teamwork approach where you split this project up into 10 parts and those are done by different people who go and ask a lot of different questions that then needs to be communicated and then some things were missing so people have to go and ask more things etc.
Communicating with stakeholders and users is very different from communicating with teammates. First and foremost the quantity is much lower, so people who burn out quickly from social interactions can still manage. Lets say a person gets burned out on social interactions after 5 hours a week. That is enough for an hour of meetings a day and then individual work, more than enough to work as a senior engineer at Google (non manager), but that wouldn't be nearly enough to work at most places where you need to communicate a lot just to code.
> Lets take a project you would give to one junior engineer at Google, at a typical large company they would give that to a team of 5
This statement lacks any sort of basis for the 1:5 Google:Non-Google staffing ratio you are quoting. I'm not sure where you are getting it. Even though I work there, I don't think Google engineers are 5x as "effective" as a typical engineer at another large company, they just often deal with problems specific to Google's technology and scale.
If anything, large companies like Google can afford to staff their projects with a deeper bench than smaller companies - in part to mitigate burnout caused by being overworked, but also to maximize knowledge sharing and minimize knowledge silos. It's not a good thing if only the person who wrote a system understands how the system works.
> and then they would need to communicate and talk a lot with each other how to get that project done, all that communication disappears when you work like Google does.
That's not my experience at all at Google. It's the opposite: engineers at all levels communicate and talk a lot with each other to get a project done. In fact, we rely on these conversations heavily to validate our ideas and get constructively critical feedback on our approach. It's wired into the process, from design documents through to code reviews. Very often these can require F2F communications and even negotiations when engineer-time is a constrained resource. So I'm not sure what you mean by "work like Google does".
It sounds like you're burnt out on bad company/team culture then? I can assure you that there are still plenty of teams that operate similar to your early career experience. These tend to be in smaller companies. But even larger ones exist that offer team autonomy, participation in customer discovery, and sane management practices. You just have to be very careful about sussing out this info during the interview process.
I guess what I'm getting at is while there are plenty of shitty teams, I wouldn't say it's an indictment on the industry as a whole. After 20-ish years in it, I'm actually optimistic that things are improving as new companies shed more of the traditional command-and-control techniques.
Yes part of it is difference in organization side. And if I have to go back into the industry I am definitely seeking out a smaller org, as I have learned that larger companies aren't for me.
And to their credit, my last team was actually very good. Nice people, all very smart programmers. But the product was still a mess, and corporate's gotta corporate.
>more people need to care about the quality of the final output than whether or not the guy who wrote it is "a nice fellow".
GP is very clearly saying that software has to be written to satisfy customers. It is the process and the quality of outcome they have a problem with, not the focus.
The word solitary was used more than once, so I don't think it's a strawman. My point is the quality of the final output is going to be suspect if you take the "leave me alone and let me code" approach.
From the original comment alone one can't deduce it was about zero communication without some serious assumptions. Only a difference in communication structure.
That this invokes the kneejerk response of "well you need to communicate to make products" is arguably a bigger testament of what is wrong with tech. Including the incessant need to label everything with only the smallest details.
I'm pretty sure this will hold true in my field where teamwork is required. If you're not nice, people won't want to talk to you, if you're not part of the communication chain, your value as a team member drops. No part of this has anything to do with software.
The thing is software doesn't have to be a team activity. It goes against the current grain where everyone seems to want to build large teams of sort-of-competent nice guys, but you can have one or two really smart guys, and pay/treat them super well, and you can get an entire product out of them
I am now software-adjacent, working solo. Got sick of the people aspect and the fact that my employer takes 99% of the value I create and then forces me to practically beg for a 5% raise each year
Fuck that industry. I became a programmer because I love computers, not people
> Got sick of the people aspect and the fact that my employer takes 99% of the value I create
You are on ycombinator, where there is all the information you need to know on how to capture your value. If I deconstruct your complaint, it is inherently capitalist. If you want to receive profits you need to be a risk-taking owner.
Why is it fair that employees do not get paid what they are “worth”?
Firstly, a startup example. What you perceive as profits, are often the returns for risks. Risks a well paid employee doesn’t take. A VC needs to get 30x* returns from the 1 in 10 successes they get, just to break even on the risk adjusted returns for an investment where capital is locked up for more than a decade. Employee’s risk free wages are sometimes the largest cost for a startup. If you are a very early employee then only you have the incentive to negotiate ownership (and also deal with all the risks of ownership!).
Secondly, an example of an existing business. Apple is a business that makes huge profits: Apple pays as little as possible to create as much profit as possible. A new employee never created the money machine (e.g. Apple), instead the employee joined it long after it was created, and the employee has no right to claim to the profits that the machine creates. Anytime you are late to the party to become an employee of any business, you will struggle to claim profits, and will only receive what you beg for. Capitalism 101.
I know all the above is stating the completely obvious, but your statement is simply not coherent with reality, and that disturbs me. YC is about as capitalist as you can get so your statement seems jarring - HN is one of the few places founders can get good advice.
If you wanted to “get your value”, perhaps join a cooperative (where membership is ownership). Or go to a country where rewards are spread more evenly to everyone. Or parse the benefits of being in the top 1% of the world as your rewards (assuming you work as a programmer in the US, you are likely in the top 1% of earners in the world).
Actually you appear pretty angry, bitter and disappointed with your work. Perhaps investigate if you can learn a new attitude and be more satisfied with what you have. Just becoming an owner is unlikely solve your negative feelings IMHO. Note that I know plenty of people that echo what you are feeling - it is natural and you are definitely not alone!
Disclaimer: I am a well off hippy capitalist that chooses to live in a socialist democratic country. I have been a whiner about wages in the past, and I have had a minor win at the capitalist lottery.
PG quote: “Great programmers are sometimes said to be indifferent to money. This isn't quite true. It is true that all they really care about is doing interesting work.”.
Quote from https://corecursive.com/leaving-debian/
”””
Adam: Around this time is when I first heard of Joey. And the thing that caught my interest about him was he looked like this platonic ideal of a hardcore software developer. He was just working on what he cared about and living out in the woods. At the time, everybody was talking about entrepreneurship and startups and how you can work crazy hard as a software developer and make a whole bunch of money, and then you’d be set for life. And here was Joey, and he had been through the first bubble and it seemed like he had cracked the code. He said, you’re looking at the numerator how much money you need to do what you want, but I’m looking at the denominator. I’ve just decreased my cost of living. I made the Zen move, so instead of hitting a big score, I can just do what I want right now. At least this was my impression from the outside. So that’s really the question, I wanted to ask Joey: Was this idyllic life you’ve built in a cabin in the woods as great as it looks?
Joey: There’s always a backstory that might not live up to the romanticism. But I certainly do feel very lucky that I do have a lot of ability to take some time and just think about an idea and then be, okay, I’m going to go spend whatever amount of time it ends up taking, because it’s worth doing this. It’s hills around me here and a few mountains in the distance, but dense forest and I’m kind of down an oval bowl with basically completely isolated from whatever’s going on, except for whatever noise might filter up from the distant road a mile away. And yeah, it’s a very calm and peaceful place. And for me that’s more of just a background thing, I just know that, I can sit down and work for five hours and that’s a really nice thing. And I know that if I need a break, I can go and easily take a walk and refresh my mind. And so yeah, it’s the little things really that make living in a rural place nice. I wish more people have that ability and I feel very, very lucky to have it right now. Who knows how long it will continue.
”””
Working in the trades the guys that yelled and blew their fuses constantly were always clearly in over their heads and were failing to cope with the stress. I'm fond of the term "Mantrum" to describe the behavior.
Children scream and throw tantrums. Adults channel those emotions into productive means or recreational outlets. Adults understand that their colleagues also experience the same frustrations and emotions, and it's unfair to be a messy bitch and pollute the work environment with that garbage.
I really can't imagine thinking someone losing their cool and composure at their job is a sign of competency, of all things...
When I was managing people, I understood that everyone might be a messy bitch once in awhile. I’m not privy to their personal issues and wanted to give them some flexibility. But if was repeated behavior, we would have to have a discussion.
In general I have far preferred the coworkers who have had an honest heated reaction instead of the ones who play passive/aggressive mind games to try and get their way.
It can be whatever angry word you want to call it, but not directed at you, and that's just fine with me.
A cool and collected discussion is preferred, of course.
I think anger is a natural part of life sometimes - but we have some control of how we react to anger. I certainly would quit a job if one of my co-workers was allowed to shout at me!
Often when we feel anger, there is something that needs to be expressed, but the art is in choosing the right moment and expressing it in the right way (which I add is certainly not an art I have perfected!).
While anger is a part of the human emotion spectrum, I doubt it should be the thing driving conversations at work. It sounds like you identified what you don't like and you found a place where you can thrive, and that is something many people won't do, so kudos to that.
But it isn't. Circumstance molds you. The Great Depression did untold psychological damage to entire generations. I don't think they could just will the anger and resentment and destitution away
Circumstance is what you allow it to be. Short of being put in a Chinese concentration camp ala Uighurs, you generally have the last say in circumstance to experience anger.
I didn't enter this (at the time) largely solitary profession to have all the best, juiciest parts of the job get taken over by these people-oriented idiots.
There needs to be a revolution that returns programming back into the hands of solitary nerds working on sheer competence. More people need to care about the quality of the final output than whether or not the guy who wrote it is "a nice fellow".
I feel like this is 'participation trophy' culture coming back to haunt us. Stop being so afraid of getting yelled at, anger is a part of life!