3 ms·
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
by tomc1985 5y ago
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.
- romanhn 5y agoIt 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.
- tomc1985 5y agoYes 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.
- danans 5y agoYour idea for improving the field: > 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.
- tomc1985 5y agoThe 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'
- danans 5y ago> 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.
- Jensson 5y ago> 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.