5 ms·
I like the discussion. I think the point about software being significantly "people centric" is a bit off base and betrays the authors lack of experience in the
by mberning 9y ago
I like the discussion. I think the point about software being significantly "people centric" is a bit off base and betrays the authors lack of experience in the field. Working with people is certainly part of the job and in some roles maybe a large portion of the work. Being a good communicator is an important part of being a good developer, but it doesn't make you a good developer. Being a talented and experienced programmer is the foundation on which the rest is built.
- ebola1717 9y agoThat's a nice theory, but I fail to see any evidence of it. I see lots of people cap out at senior engineer, cause that's how far you can get without having strong technical skills. Staff engineers, tech leads, and managers all get there because they're good communicators, and tbh, in those roles, their engineering skills are secondary.
- mberning 9y agoIf middling engineers end up in senior development positions I wonder where all the top performers go... certainly not 100% into management.
- mehwoot 9y agoI see lots of people cap out at senior engineer What's wrong with that? The majority of software engineers are senior engineer or below, any skill you only need to make it past that level clearly can't be considered core to the job.
- selimthegrim 9y agoSurely you meant strong people skills?
- tyingq 9y ago>Being a talented and experienced programmer is the foundation on which the rest is built. I think that is sometimes true, sometimes not. Certainly there are mediocre developers thriving because they are good communicators. I see this often in niche spaces like "POS software for Pet Stores". They thrive because they can communicate well with the customers and create something that does what the customer wants. Even if the internals are a horrid spaghetti mess that's inefficient, took longer to write than it should have, is hard to maintain, etc.
- yellowapple 9y agoBeing a talented and experienced developer means interacting with people, though. Knowing how to program is half the battle; knowing why is the other half, and that's hard to do if you don't understand the perspectives of your users/customers/coworkers/etc.
- mberning 9y agoKnowing how to program is most of the battle. Being a good communicator helps. If your predominant skill was dealing with people you would be working as a BA, PM, or other similar role. Most businesses aren't stupid enough to pay a developer salary to somebody not actually doing development.
- ebola1717 9y agoDeveloping is communicating, especially at a large company like Google. Anytime you're building a new feature, you have to reach out to stakeholders, write docs, and build consensus. I've been working as an engineer for years, and I've progressively spent less time coding and more time consensus building. The staff engineers I know spend even more of their time doing that, not to mention mentoring other teams, reviewing technical designs, etc.
- nippples 9y agoThe confusion comes in the lack of distinction between software programming and software design in these discussions. The former values mathematical thinking, the latter values understanding how much the user will fuck things up for everyone.
- michaelchisari 9y agoBeing a talented and experienced programmer may be the foundation, but the ability to communicate complex ideas in accessible ways, to read the room and respond to non-verbal cues, to put aside ego, to collaborate and coordinate, to sense frustration or unhappiness in your team, without those, you don't get past the first few stories of a skyscraper. The longer I'm in the field, the more I work with different teams, the more I realize that writing code is a much easier skill for people who don't know to learn than reading people is for those who can't seem to.
- generic_user 9y agoMost of the skills that you listed only start to really matter if you try to move into a management position. No company or project wants rank and file programmers (which is the vast majority of any project) who think there also managers and act as such. Even if you have those skill your job is to focus on your tasks and solve your very specific problems, not the big picture and what everyone else is doing.
- michaelchisari 9y agoI emphatically disagree. All of those skills are necessary to be a strong team member, and thinking that only management requires them is to move into territory where programming as a trade is in need of micro-management and social babysitting by a managerial class. I've been in plenty of teams that were extremely flat exactly because the programmers in those teams were all highly skilled in those areas.
- pink_duck 9y agoI have just joined the workforce after uni, and it has never been more clear to me that what you're saying about communication and "people skills" is correct. Almost all of the issues that the company that I work for have are based on lack of communication skills, lack of empathy, too much ego etc. It reminds me of what a coed wrote to me once about the difference between a good developer, and two ok ones. "2 < 1+1" Basically, even if you're higher ranked intellectually speaking and do more work than the average worker alone, two people that can perform adequately and that work together will outperform you. Cooperation is key, and people need to be trained to do better handle that part of the job. Not just produce code. </end-rant>