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.
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.
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.
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.
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.
> 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.
Many
> 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".
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.
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.
>software is ultimately about people.
does not contradict this
>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.
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.
What are you doing now?
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
I hear you.
thanks for the reply
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.
* https://techcrunch.com/2017/06/01/the-meeting-that-showed-me...
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. ”””
Being unable to express your opinions without anger or yelling isn't a sign of competence, it's a sign of a mental imbalance.
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...
Ultimately either the better idea or cooler heads prevail, some people are just stubborn and take some coaxing.
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.
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!).
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!