Being thought of as a "subordinate" (I mention this, because he talks about programmers as being subordinates).
Am I the only person on earth that rails against this? I trade my time for money, but I am no-one's "subordinate". To me, a manager is someone who makes sure I can get my work done and checks on the overall progress.
I guess I'm asking for a mighty downvoting but I really want to know if others think its okay and why its okay to be a subordinate (especially when the superordinates are so often less than impressive human beings).
That's funny, because "subordinate" has replaced the previous generation's "inferior" as the commonly-used term for an employee down a step in the org chart.
However, to answer your question: if someone can determine whether you get to keep your job, whether you like it or not you are that person's subordinate.
Ok, I don't like that word, but it's hard to replace without being just as insulting. Granted I tend to use minion. As in he is he is my minion, or I will have my minions deal with that. However, IMO it's connotation does not remove the idea that they have a fair level of autonomy just that I give them direction.
However, to answer your question: if someone can determine whether you get to keep your job, whether you like it or not you are that person's subordinate.
It's interesting how two different perspectives on what is largely the same arrangement can yield such different answers.
By organization, if someone can fire you, you are their subordinate. By productivity, the "subordinate" is not necessarily subordinate at all. The working relationship may be much more than of peers, where the pair of them manage to both get things done, and keep people informed of what is going on. It might even be that the subordinate in the traditional sense is anything but in the tangible sense.
What sucks is that the traditional organizational arrangement has a very difficult time representing this. It mandates a strict hierarchical arrangement of staff, even if the staff themselves does not view themselves as hierarchical.
Because, in this arrangement, one person is usually granted the ability to terminate the employment of the other, there is necessarily an adversarial component to their relationship. Even if they work as peers, one has to report to a chain-of-command about the other.
For people and teams who don't need this sort of arrangement, having it imposed absolutely sucks. But, because it so entrenched in corporate tradition, it emerges anyway.
I rail against it as well.
There are people who don't need it, but those who don't need or want this arrangement get it anyway, regardless of the detriment it causes. I get the sense this happens simply because of the perspective that it must necessarily happen, because people have all these preconceived notions about management and subordination that they have a hard time letting go.
I think we'd lose the adversarial perspective if we lost the notions, and that would be a good thing.
"if someone can determine whether you get to keep your job, whether you like it or not you are that person's subordinate."
Trying to get my head around this. What does "keeping one's job" even mean? isn't there still a mutual contract, and both parties can break out of it? So the boss can act on behalf of the company, and you can't. But presumably you can still quit the job on your own decision. Does that make the boss your subordinate?
It seems the boss has more leverage, as the worst you can do to him is quit, whereas he can fire you. But both parties can hurt each other.
I hope I'll never have to enter such an environment again.
Trying to get my head around this. What does "keeping one's job" even mean? isn't there still a mutual contract, and both parties can break out of it? So the boss can act on behalf of the company, and you can't. But presumably you can still quit the job on your own decision. Does that make the boss your subordinate?
No, but I suppose it might imply that you could be your own subordinate. Since the boss can fire you, but you can't fire your boss, you have a subordinate relationship.
It's a concept of "entitlement in time," implicitly embedded in many cultures. You are first subordinate to your parents, then to your teachers, then to your boss; then you become one of those things and "get to" treat others as subordinates. It's very hard to get away from, even in start-ups (which you'd think would be a breeding ground for creative company organization schemes.)
"It's very hard to get away from, even in start-ups (which you'd think would be a breeding ground for creative company organization schemes.)"
That's because you can't get away from human nature. Most people can't lead. They need someone telling them what to do and keeping them on-track. The ones that do become managers, presidents, ceos, or run their own company.
Most people can't lead. They need someone telling them what to do and keeping them on-track.
These are two separate skills - the ability to lead others, and the ability to work productively without being led.
I'm not convinced either claim is true to be honest - it's probably more true to say that most people have never had the opportunity to even try to develop these skills.
"These are two separate skills - the ability to lead others, and the ability to work productively without being led."
One skill leads to another. If you can show upper management that you have the ability to work without being led, you can eventually become a manager.
"I'm not convinced either claim is true to be honest - it's probably more true to say that most people have never had the opportunity to even try to develop these skills."
People that want to lead, will find a way to lead (either starting their own organization, joining an existing one, or worker their way up through management at a company). If you aren't given the opportunity, it means you aren't interested in becoming a leader (or just aren't trying). Leadership isn't just handed to you.
Which is funny - just because you can work without being led doesn't mean you can lead others. One would hope you've gained some insight into how to work without being led and can apply this to others, but that's far easier said than done.
"Which is funny - just because you can work without being led doesn't mean you can lead others. One would hope you've gained some insight into how to work without being led and can apply this to others, but that's far easier said than done."
How often does a business/company allow you to work without being led or managed? If that's the case, the company is very small (and you are the manager of yourself because nobody else knows what is going on). The next logical step to this is to hire more people under you.
Most companies aren't going to give you a management role. You need to prove you have the skills in some way.
Dominance hierarchies are a prominent feature of many primate societies, including those of our closing living relatives, chimpanzees. Maybe the human brain is naturally, and not entirely logically biased towards these types of relationships.
In the company I work for they use "direct report" to identify someone who reports directly to a manager or supervisor. But like it or not, "subordinate" is not so much a slam as it is a way to describe one's position in a hierarchical command structure.
I don't mind being a subordinate so long as I can use the "just following orders" excuse whenever something blows up in a customer's face. Part of management's responsibility, after all, is to shield us mere developers from the ugliness out there.
Sadly, I've dealt with management that was more interested in protecting themselves than the people they "managed."
It's given within the context of the organization. You are your boss's subordinate at the workplace. That's just a description of what you are there, there's nothing offensive about it.
You're not subordinate to anyone regarding your life as a whole. If you're not a fan of your boss, you can quit and then he won't have authority over you anymore.
10. Requests that begin with, "All you have to do is...".
9. Deadlines fabricated by others.
8. Single character variable names.
7. Being spoonfed requirements on a need-to-know basis.
6. SQL Selects within iterations.
5. Requests that describe how, but not what.
4. Variable names that don't describe what they are.
3. Meetings without beer.
2. Dropping everything for the emergency du jour.
1. Top 10 Lists that infer that all programmers think alike.
If you are working in finance, you might use common single letter variables, for example if you are creating a black-scholes function. E.g. r = interest rate, etc...
It gives you something you can quickly search for: hit <incremental search keyboard shortcut> followed by "i" twice and you're there. Do the same with a single-character name, and you hit any time that character appears anywhere.
I personally find the doubling awkward, and with modern editors I use semantic searching much more than raw text scans so the benefit of doubling is marginal, but there is at least one sensible reason you might choose to do it.
Sure you could, but while you're busy trying to find the exact combination of spacing and punctuation that starts the loop you want, and then manually looking through the loop to find every further reference to the same variable, the guy who called it "ii" and found it with the first four keystrokes is already being productive.
As I said before, it's probably not as useful with modern IDEs that have semantic search capabilities, but there is a genuine reason some people prefer the "ii" style.
Meetings with beer work well as a time limiter if you don't let people leave to use the washroom. The lenght of the meeting becomes bounded by the participants bladder size.
I would actually say that my #1 is when a client (non-programmer) will tell me how easy or difficult it will be to perform the task that they have just assigned me, in an attempt to have their fee waived/lowered.
A typical conversation would involve them saying something along the lines of:
"I just need you to do this (insert non-trivial task) for me. It's really easy, it should only take you about five minutes."
Interruptions - absolutely the worst thing ever (Im surprised it was only #9)
I have the somewhat mixed fortune to be currently living with my parents (hmmmm) - which has it's advantages but, man, the interruptions. I have to go to a coffee shop or my girlfriends at weekends just to be able to do an hours coding in peace :D
What annoys me is being thrown on to projects without asking what I am interested in doing. I don't intend to do a shit job, but you're not going to get my best work if I'm not creatively invested in my work.
Most jobs exist because there is a need in the market for something. So, most projects are going to be focused on what needs to be done, and not what one would enjoy doing. There is an overlap between the two, but the over lap little (< 10% maybe). I guess this scenario is the cause for the state of affairs of most jobs.programming included.
"What annoys me is being thrown on to projects without asking what I am interested in doing. I don't intend to do a shit job, but you're not going to get my best work if I'm not creatively invested in my work."
You can find creative interest in anything. I always end up learning and enjoying some part of a project thrown in my lap.
You could learn to love the mundane aspects of your job. Seriously though, no one expects you to be creatively invested in that fix to the contact form, but that's the work people need done.
This is thinking like a user, not thinking like a programmer. As a programmer, you don't want to fix the contact form, you need to fix the need to fix the contact form. This is how you avoid deathmarch projects; you program away the tedious parts so that you have a functioning system instead of a bunch of code that does stuff.
But programming actually ends up taking less time than coding. Coding a page takes an hour. Coding twenty pages takes twenty hours. Programming a page maker takes a day. Making a million pages then takes no additional time.
Unless you really only have one page that never needs to change (and when has that ever happened?), programming is going to beat coding every time. And it's more fun!
A lot of the repetitive stuff that professional programmers do could be automated. Writing code to automate the problem and then having the problem itself solved automatically tends to be both more efficient and more interesting than tediously coding up the naive solution many times. However, it also requires actual thought and understanding, where an entry-level drone copying and pasting from a web page can follow the tedious, repetitive approach. This is one reason why good programmers are much more productive than bad ones, and it's one of the reasons good programmers tend to dislike working with bad (naively written, non-automated) code.
I don't think that programmers should be writing user documentation. API documentation, yes. But not documentation geared towards users. It should be reviewed by the programmers who wrote the system, but they shouldn't write it.
One thing that annoys me are arbitrary deadlines. I once had a "manager" tell me that to help me out in working faster, he's going to put a deadline on the project.
Of course that's why the project was late! It's because I had no deadline. It's not because it needed 10 programmers and I was the only one working on it. Needless to say, I didn't work there for long.
My old code is fine, so let me put in there a new number 1. "How long will it take?" - there's nothing I fear and hate more than having to do time estimates. And yes, I know that they also help me ...
Huh? My worst managers have programmers trying to break into management while keeping their hand in programming by telling me how I should structure my programs. My best managers were non-programmers who had deep understanding of the development process and thus would get out of the way while did my thing.
Semantics, not pedantics. The article means "management that doesn't understand programming" in the sense of enabling development, not in the sense of "I wrote quicksort once".
Am I the only person on earth that rails against this? I trade my time for money, but I am no-one's "subordinate". To me, a manager is someone who makes sure I can get my work done and checks on the overall progress.
I guess I'm asking for a mighty downvoting but I really want to know if others think its okay and why its okay to be a subordinate (especially when the superordinates are so often less than impressive human beings).