3 ms·
I just created this account to comment on this. I am a generalist. I started out as a hardware and software designer, but then focused on software for many year
by unfocused 15y ago
I just created this account to comment on this. I am a generalist. I started out as a hardware and software designer, but then focused on software for many years. Later moving from Development to Operations where I can write code and deal with sys admin stuff at the same. Writing monitoring tools, installation packages, automation for release and builds, as well reading all the developers code that gets checked into the Source Code repository. Troubleshooting servers, permissions, network issues, software bugs in websites, client/server apps, SQL... whatever it took.
I got my previous first job about 8 years and I remember the person hiring me saying that they wanted “specialists”. I firmly replied I am a generalist. I didn’t hear back for a month or 2 but then got the call that I was hired. For the first few years, the generalist mentality was actually how things ran. Everybody was expected to dive into code, databases, server, etc. Suddenly, they said that silos were forming and in order to improve the organization, a re-org was needed and you had your various teams of architects, dev, support & ops, DBAs, Q&A, project management, etc..you get the idea.
A year after this process the whole team spirit was crushed. The whole “not our problem, it’s that team’s problem” starting gaining ground. People that were once team mates were now (using the someone eles’s words) throwing problems over the wall back and forth. People also threatened management that if they ever got put on team ‘X’, they’re quitting. Yup, they made specialists out of the wrong people. If only they had just left the generalist structure be. For me, understanding something from the beginning to the end is VERY important. How can someone write programs if they don’t understand how security is handled on the web server, or how SQL statements affect performance, or how deployment is done? I think having an assembly like structure (specialists) can work, but it’s not as responsive as a generalist structure. Products will get shipped with less silly mistakes if you know what the destination looks like. Release and deployment is so misunderstood by many developers. People need to get their hands dirty.
I have since left that organization and I’m now back to a generalist position where I can get my hands dirty. It’s tough because you’re starting from scratch again and trying to hire once again. Hiring is hard. Typically, new organizations need generalists more than established ones. That is not to say that established organizations should have less of a use for them. I tried to change the shift from specialists to generalists at my previous work, but you start hurting your career if you’re constantly grinding it out with upper management. You have to know when to let go.
I really like this term Devops. Because you Developers do need to be able to understand Operations, and vice versa.
- r00fus 15y agoI think silo formation is pretty much "how business operates" when it's not forced to be super efficient. It benefits certain types of middle management (who are interested in fiefdom building), and allows for "metrics" so that "workforce improvement" can be sold upwards to incompetent or distracted upper management. Generalists are also hard to hire and manage (it takes another generalist to detect bullshit... and there's always the tendency for the manager to hire folks less talented than him/her self). I say this from years as a specialist (software) now doing more generalist work... the only thing I don't like is that I get less stuff done on any given angle, but I do get to look at (and own) the whole picture now.
- devicenull 15y agoI often wonder how developers are actually able to develop without being able to throw together the entire stack they use without following a detailed tutorial.
- unfocused 15y ago@r00fus: You hit it on the nail. I was actually involved in creating all of the initial reports for upper management for statistical purposes (metrics). It's because management had no clue what anyone was doing because the team grew too quick too fast. I was fortunate at looking at the numbers of 30+ developers. Everybody had to enter their time. Even if you spent 10 minutes reading email, you enter it. I am not exaggerating. All the numbers were bullshit. Everybody made sure to have 7.5 hours. All the numbers were padded. The metrics didn't actually reflect the truth, just how people padded their numbers. @devicenull: I have done that as well. You basically program using the "leap of faith" methodology. You're never 100% sure that what you wrote won't break something. You rely on others to validate your work. Assuming the "others" know what to do.
- deleted 15y ago[deleted]