I LOVE to work with ADULT project managers who have a clue about how projects actually unfold and how things actually get done with a wide variety of personalities in the mix. Instead, more often than not, you get 20-30-something "management fast-track" wannabe's who could not solve a problem to save their lives.
I seen good project management. It is magical. Then the manager left. Everything slowed down to a crawl.
Making sure "the right people are talking", "decisions are made", etc. do sound like things that can be tracked to confirm if a PM is indeed adding value.
At some point in time recurring wins can look like a perpetual machine. The problem is when you get there, people think like, Now that we got what we want why do we need this person?
It's only after the person goes and a few months down the lane you begin to see things falling apart. Of course by then things just become the new normal.
> If you can't quantify the value you're adding to an organization, are you adding any at all?
The problem with that line of thought is that it's not at all easy (or even possible) to quantifiably measure performance on an individual basis. This is especially true for roles like PM's whose job is to enable the labor and talent of others.But there should be something that can be measured, even if it's imprecise, to at least show that something's being done. How do you measure the success criteria for the role of a PM? It's challenging. But it should be done.
There's nothing wrong with that. It's just the nature of such roles.
You still evaluate, you just don't boil it down to one "score".
Similarly a good manager provides auxiliary value; it doesn't directly add value to the organization but if it's not there then the overall value decreases.
Not everything in an organization is immediate positive effect.
One of the teams I oversee now in NA also has a brilliant project manager. Of all my 12 years in the industry I haven't once seen someone pull a team into productivity nirvana like she does. She deeply understands the concept of agile and every sprint she is trying a new idea with her team (process is a feature!).
They do exist, but they are rare.
To do so, they must see themselves as a peer. Anyone with an ego who wants to boss people around will be a terrible PM. A good PM enables their team and is altruistically driven.
Once you work with someone like this, you'll understand how amazing PMs can be.
Besides, there are still politics to shield from, budgets to maintain, stakeholders to brief, paperwork to do - all stuff that putting an engineer on - would be an utter waste.
One of the biggest problems I've seen on agile projects is a lack of analysis. Often "agile" development processes are chosen because people want to avoid analysis. I think the thinking is that if you remove all the documentation and discussion around what you are building, the developers will just "do the right thing" and you'll save a whack of time.
In fact, on the XP teams I've run, I tend to have 2-3 month backlogs of stories. You want to think through what you are building and what the implications are. There are 2 main differences between this and a more analysis-up-front approach. First, your stories are changeable and prone to re-ordering. Second, you defer some decisions until later. There is no phase when the requirements are carved into stone. However, if you get to the beginning of the sprint and you don't know what the acceptance criteria for all of the stories in the sprint are, then you are in big trouble.
Also, I come from the ancient days. I've personally written a 1300 page requirements document. That took 6 months to write. That was largely ignored. When I tell people that I want a couple of months out of "this is what we're doing if nothing changes", these days people think I've got all top heavy on them. Times change...
This is where a good project/product manager comes in handy. You need someone who owns the overall vision of what you are building and has time to think through the implications. You need someone who is constantly grooming the backlog and updating the cards as the vision changes. You need someone who understands the business priorities and knows when and how to reprioritise the backlog. You need someone who is constantly asking the question, "It's fine to do X, but what does that mean for Y", or "What makes you think that this is the solution we need" or "Who is going to be affected when we do X".
Often product/project managers think, "Oh I don't have to know how the product works in detail". This is a huge red flag for me. They often think "Oh the programmers can decide what to do here". Yes, the programmers can, but they already have their plate full with how to do what needs to get done. If you ask them to think through all the details of what and why then they will have less time for how. Similarly, if you have a team of 6-8 developers, then you will have 6-8 opinions about what the best thing to do is. The vision will potentially be weakened and you will often find that the programmers spend half their time arguing about who has the best idea. At best you'll have 1 developer doing the product/project manager's job and the rest will be doing programming jobs.
I could go on forever here. I haven't even touched on dealing with internal politics, reporting, ensuring visibility of problems, coordination with other groups, gathering data, etc, etc, etc. If you don't have someone doing these things then they are often not getting done at all (often to your detriment) or you are wasting your precious programming horse power dealing with the realities of business.
As you can imagine, I over the years I've regularly butted heads with "I don't really want to do anything at all" product/project managers. But if I get someone willing and able, I will absolutely load them down with work that has the potential to make a massive difference to everyone.
First lead developer. To me a lead developer is the person on a team that leads the technical direction of the team. Programming is all about judgement calls and long term success on the technical side depends on getting those judgement calls right more often than wrong. Some lead developers like to make all technical decisions, but this can create a bottle neck and also piss off the rest of the team. For those reasons, I don't like that approach and prefer to have the lead developer act as a technical coach, leading by example. The lead developer should have the final say on technical decisions and should be aware of all of the decisions being made on the team, but they should avoid making decisions if they can. On political matters, they should refrain from being too active, but rather defer to the development/engineering manager if there are any problems. Lead developers should also write a lot of code IMHO.
The sound clip is, though, the lead developer should be a 10x developer by virtue of doubling everybody else's productivity. However they do that is fine.
I tend to use the term "development manager" rather than "engineering manager" for arbitrary reasons, but they mean the same to me. A development manager ideally should make no technical decisions. That should be left to the lead developer. In some organisations, the team is not deep enough to have an effective lead developer, so sometimes the development manager has to take on that role too. In other organisations, there is no development manager and so the lead developer has to take on that role. It's not optimal, but it really depends on the size and depth of the organisation.
A development manager's responsibility is political in nature. First they must evaluate and track the progress of the members of the team (usually working closely with the lead developer to get insight). They will ideally decide on the head count of the team, choose the members of the team, organise hiring if necessary and arranging for movement out of the team (whether that is a transfer or dismissal) if necessary. The development manager is responsible for the conduct of the team. If there are behavior problems, the development manager must find a solution (usually working with the lead developer) to those problems. The development manager is responsible for tracking performance of developers, negotiating raises, managing career progression, finding appropriate training, allocating resources (for example computers, desks, chairs, internet), etc. They are also responsible for ensuring that outside problems are dealt with effectively. A big part of that is making decisions about how to deal with external requests for development, allocating people to deal with problems, etc, etc. They must work with the project manager(s) to track performance and ensure that there are adequate people available to do the work that is necessary. The must work together to track work completion and adjust expectations for delivery dates, etc.
Where the lead developer is looking at the tactical view about how to best accomplish a series of tasks, the development manager is looking at the strategic view of plotting the current location and direction of the team (as well as dealing with the people problems and political fall out from that).
I wrote earlier about what I see the project/product manager doing, so I won't get into it too much, however I'll talk a little bit more about the communication/politics role the product/project manager needs to do. Unless the company is small, there are usually a lot of other departments, many of which dwarf the IT group. These groups include (but are not limited to) marketing, sales, documentation, customer service, etc. In some organisation you even have a separate IT group from development usually called "services" that does custom development for large customers. The project manager has to coordinate all of these groups. This is a big job. They need to listen to all of these groups to gather requirements. They need to coordinate with marketing and sales to keep them synchronised for timing. They have to constantly update everybody as business needs and requirements change. They need to make sure that marketing aren't putting together a campaign for something that you aren't building. They need to stop sales from selling things that you don't have. They need to coordinate the development of documentation. In some industries they need to arrange for and plan certification. I could literally type for pages on this kind of thing. You need at least one person dedicated to this job for each project in most large companies.
The main difference between a project/product manager and a development manager is that one if focused on the project/product and one is focused on the performance of the team. You can merge these roles in a small company, but there are desirable separations of concerns in these roles. Especially (and it's a bit hard to say this politely), there is plenty of latitude for abuse if both of these roles is performed by the same person.
You will notice that I haven't answered your first question. I don't make a distinction between project and product managers. However, many people do. I think the best way to look at the situation, though, is that you almost always need someone who is responsible for the artefact that you are building. They "own" the requirements for that thing. I will say that just like the lead developer position, I prefer a technique where as "owner" you don't actually make all the decisions. Instead you are aware of all the decisions and you make the final decision when there are problems. It's the ownership of the responsibility, really, rather than the ownership of each individual choice. Otherwise you get into the same position of becoming a bottle neck, or pissing off the rest of the team who has to pay for your mistakes, even though they have no say in the matter. It's a hard job, though, because you really have to travel around talking to people all day and make sure that you understand every decision being made.
On the other hand, just like there is a separation of tactical and strategic goals in development, you can do the same in the project management side. So you can have a project/product "owner" and a project/project manager, who may be responsible for the strategic view of how all these tings are fitting together. In a very large company, you almost certainly need this role. Most of my career has been spent in organisations with less than 200 developers and in those organisations, I've never really seen the need. YMMV.
Edited to fit into a reply (apparently I typed too much).
Answer: >>If anything, that's one role where the practitioners typically know -all about nothing and where good ones are worth their weight in gold. >>Instead, more often than not, you get 20-30-something "management fast-track" wannabe's who could not solve a problem to save their lives.
You answered your own question. Nobody (wants to)hires people better than them and end up creating impossible-to-defeat competition at work. This is regardless of whatever people might claim about wanting to hire the best.
All this bullshit about inclusivity.
What we SHOULD be doing is blinding the candidate and interviewer.
No name. Just the last 2 years of job history. That's it.
You don't know their gender. Don't know their age. Don't know their race.
Just complete meritocracy.
An interesting solution would be to score differently based on known biases; but that would be a can of worms in itself.
Meritocracy is a lie used by the privileged. There is no such thing in the real world.
And the common currently practices don't control for that any better. The parent's idea (blind or double-blind screening of candidates) seems like it would, to me, be inherently better if we can figure out how to deal with the logistical complexities it adds. (E.g., how does on-site work? Are there on-sites?) If anything, it would be interesting to weigh against current practices of a few phones screens and a on-site.
(It doesn't seem worse that the world I'm living in, where I'm at the bottom rung doing my damndest to make sure I'm not part of the problem by treating people equally, while at the same time I see some employers offering hiring bonuses for "diversity hires".)
The query in the paper allows the candidate to say "they don't know"; if you force their hand in answering by removing that option, they should be again on equal footing, no?
Additionally, I've also read about mathematical means of recording uncertainty in answers and weighting score with that. (That is, correct answer to which you were more certain net more points, incorrect answers to which you were uncertain lose less points than incorrect answers to which you were more certain.) The end result you're trying to get at is which person is giving better answers and certainties.
> Meritocracy is a lie used by the privileged.
Sure, people can twist things into something they're not, but that doesn't inherently make the original thing wrong or evil.
It's literally where we get the name "Meritocracy" from. The book "The rise of the Meritocracy" was a satire, not a manual.
If you (think) treat people equally, you are part of the problem. When one group is more vocal than the other, you have to amplify the other group. If not, you're just keeping the current bias in place.
I don't understand this point of view. It sounds like, by calling it a lie, your real complaint is the ways attempts at meritocracy have fallen short of being an actual meritocracy. That being the case, isn't meritocracy still the correct ideal that we should be doing a better job of striving for?
If this is not how you feel, what is the word for the appropriate assignment strategy that we should be strive to use to decide who gets jobs and promotions?
I would actually say no, at least when it comes to when arguments for a meritocracy are used as arguments against redistribution of wealth from the more "meritocratic" to the less.
Consider, as a thought experiment, if instead of features like intelligence, communication skills, self-confidence, etc., that our economic system instead only valued basketball skills as the means for distributing wealth. That system would be a meritocracy: great basketball players with tons of talent and effort would be really wealthy and successful, while talentless or lazy basketball players would be poor.
I think this is a good thought experiment because of some of the things it highlights. Perhaps most importantly, all short people are pretty much destined to be forever poor in this meritocratic system. If you are short, what value would you see in abiding by this system at all if tall, great basketball players took all the gains? What about if instead great basketball players could be wealthy and successful, but they still had to pay a very large amount of taxes to ensure that short people didn't starve (or revolt).
While a (true) meritocracy may be ideal for how jobs are to be distributed, if it is also how wealth is distributed it means that it is also, by and large, a lottery of DNA. How is that any more "fair" than an aristocracy?
My (short) experience working in health care suggest both are very bad qualifications for a health professional.
I'm curious, though, why you would not want someone who was genetically smart? Why would you want a "dumb" healthcare professional treating you? Do you not believe intelligence to be related to genetics?
Also, how does being male make one a worse healthcare professional?
If you are saying you want fairness in opportunities, then isn't discriminating on the basis of someone being male the opposite of fairness?
An exception is if you may need the doctor to insert a hand into your body. In this case, note that Asian female doctors generally have the smallest hands.
An exception is if you are very heavy and might require feats of strength for your care. In this case, young non-Asian males are most likely to have the needed strength.
Given those concerns, I think it is not reasonable to just say "we need to try again and try harder" because it does a disservice to those times it was tried in the past. Maybe there is a fundamental problem there that still has to be solved?
For a meritocracy, this isn't super complicated. Who decides what has merit? How will you measure this? Are the things that you measure the right things? Given that there is a possibility for side-channel information (for example, certain groups of people having terms they "look for" and that you only know about being part of this group), how will we solve this?
If you judging system by it's ideal implementation, then you should argue for Communism (we all know how that turns out, and to what a douchy sausage fest so called "meritocracies" ends as)
Say you need brain surgery. Are you telling me you will choose based on some criteria other than results?
I will pick a 9 headed purple alien if it will do the best job. And I won't care that it had the advantage of 7 parents who were rich doctors and harvard alumni. The place to fix inequality is upstream.
The cure for those advantages is to level the playing field.
> If you judging system by it's ideal implementation, then you should argue for Communism
Straw man. Like visiting a junkyard and concluding all cars don't move. That line of reasoning lets you conclude anything with a failed example can never work.
I remember an essay by a black female engineer. She said what helped her were three things, her dad had a union job, disability payments from the uncle who came home from Korea with no legs. These meant they could fake a middle class lifestyle. And her mother teaching her how to dress and talk like a white person.
Seriously a lot of 'Meritocracy' is nothing more than soft affinity fraud.
Actual meritocracies are rare, but that doesn't mean we should redefine "meritocracy" to be the the distorted (and more common) version of it.
That's absolutely untrue.. you really discredit yourself when you say provably false things like this.
https://www.worldcat.org/title/rise-of-the-meritocracy/oclc/...
If not; it’s pretty fun.
Likewise. And look, I've offered just as much proof as you did.
The government is desperate for people who can code.
Not desperate enough to teach people to code who want to learn though.
But I bet half the need is from mountains of shit code anyway. The contracting and procurement processes are fucked (source: friend who works in gov't IT contracts -- stay far away from any dev positions involving Dept. of VA).
Demand for good devs is going to be won by companies. We clearly can't even fill private sector roles even at these salary levels. I'm not sure how anyone can look at our really picky labor market with the government's lack of salary and perk offerings and think "yeah we can fill these if we just try a bit harder".
Government really needs a different approach to solve their staffing needs in this regard. They aren't competitive.
That said, the context was about older and experienced devs who, for some reason, can’t find a job in the private labor market.
The federal government is a much safer bet for these people. As bad as it can be, it’s better than unemployed. Some of the jobs are actually good.
There's endless free material online for those who actually want to learn.
I don't think anyone who relies on a paycheck should work for the government, unless God himself touched their heart with his finger and made that their calling. Although the man in the article is probably desperate enough to give that a shot.
A vouple months delayed pay can absolutely be devistating to someone at a certain income level, and I don’t want to discount the hardship the recent shutdown has caused. But, I imagine most people well-off enough to have a programming job wouldn’t have too many cash flow issues, given proper financial planning.
If it was desperate, the pay would be better.
You have no idea what you’re doing and you are blindly digging yourself deeper into the hole by writing more apps. I wrote a couple of quality apps and I had seen some success financial success with them, you are not moving in the right direction.
You can’t write an app and think up a marketing plan afterwards as an extension, it’s the other way around - you find an audience with a need you can satisfy and a loudspeaker to reach them about it, only then you add an app as an extension to that.
If you want to write quality apps as a hobby then go for it, but don’t expect financial stability from that or you will face emotional ruin on the heals of financial struggle. Just don’t.
If you’re looking to make a living then go be a consultant to small-medium businesses. Fire bad clients asap, make unexpected treats for good clients. Repeat business accumulated over a few years will set you up for life.
Virtually no businesses work like this. Maybe NY Eve wasn't the best date, and it's great if you get a boost from the announcement, but you need to follow up with marketing, continue talking to customers, sales, calling people, etc. Most users will not hear about your business from the initial announcement.
A lot of times when you see a business take off after an announcement, it's because they worked for months prior to build an audience. Sometimes that's the developers audience (if you have a lot of twitter/blog/etc followers), or it can be because you preannounced it, collected emails, and kept them engaged as it was being developed. You still need a game plan for after the announcement though.
Good luck... try not to get discouraged if it's not an immediate success. (Your other point, about it being too niche, can be a problem if that niche isn't valuable enough.)
I mean, they are gating some incredibly high-paying jobs. Sure, you gotta jump through some hoops to get it, but I'd argue that the coding tests are... well, they certainly aren't the hoops I find difficult.
Don't know. To me, college CompSci material might as well be greek. But I somehow get by programming...
Now - if we want to talk about contrapuntal music composition techniques - I'm your guy.
https://www.reuters.com/article/us-usa-banks-cobol/banks-scr...
I’m in my mid 40s, was just looking for a job last year and it took me two weeks and from the time I started looking until I had an offer.
That’s been about the speed for the last 10 years across 5 jobs.
Let’s say I’m back in the job market when I am 50 in 2024 and I just keep my experience from 2008 or 2012 depending on the company I am interviewing for.
They have eyes, and age shows. Wrinkles, greying hair etc.
Its not that hard to spot old people.
It wouldn’t have mattered either in my last two jobs or my current one since my managers were all older than I am. But, I don’t take any chances. I go to all my interviews clean shaven - bald head, and no facial hair specifically because of the ageism boogeyman. No one thinks twice about a Black guy with a bald head.
No I’m not saying that’s the answer for anyone else.
Anyway dying/shaving your hair etc will help you mask 50 vs 45, but when you're 60...
I'm sure there are numerically plenty of places that would hire me, but finding them is pretty arduous, esp since many of my declines were after all-day travel interviews to the opposite coast.
It's a big change from the past, when jobs would invariably just fall in my lap.
The difference between being hired into a business and working on your own is that you'll have to create stability on your own, but the benefits seem worth it.
Making a change like that probably takes time to adapt, but fuck me if I ever fail to make use of the skills I've honed throughout my whole life and that I know are useful for people. One just has to bridge the gap between what one can provide and what people need. If someone gets in the way of that because of their own misjudgments, sidestep them and prove them wrong!
(For the forseeable future, I have lots to live for. Promises to keep, and miles to go before I sleep.)
Consequently, I’ve seen that younger people are more wary of hiring people too far removed from their own demographic like there’s a forethought a 40+ dev is going to be some burdensome fart from an AARP commercial.
Younger people often find it awkward and uncomfortable to manage someone who's closer to their dad than to them. I suspect in such cases they just filter them out if they have other candidates.
Was this someone you spoke to in anyway? Or was there any rationale hinted at?
Through a back channel, I heard something that sounded like a euphemism for "too old" or "too family oriented". I take that with a grain of salt, though. Most likely just the operation of pure chance.
If you believe you can, you can, if you believe you can't, you can't.
When you're actually painted into a corner in life, and really are facing a bad situation with no support whatsoever, you get defeatist. It happens. Human beings have feelings, and no amount of vapid self-actualization bullshit is going to make you stop feeling those feelings.
And sometimes there really aren't any other options. If you have no money, and nobody is hiring you, and you have bills to pay, and you have no money, you will have to accept a "lesser" job. This isn't "defeatist", it's real life. You can't wish yourself out of a bad situation. People often have to work hard, from the bottom, until they get a foothold, and then slowly, slowly work back up.
But it's still massively more difficult to do any of this when you're older, because nobody wants anything to do with you. You're the awkward old guy at networking events, in job interviews, virtually anywhere anyone can see or hear you. Nobody - govt, schools, hospitals, banks, enterprises - nobody wants to hire an old person.
Also - "starting your own shit" ? "other countries" ? How is somebody with no money, no contacts, and no collateral, supposed to pull those off? Just wander into a bank and bullshit your way into a loan? Corner some VCs at a cafe in the valley and win $50K off an elevator pitch?
The ones I know who did it started by contributing to open source projects and developing a reputation. Employers often canvas open source projects looking to hire the better contributors.
My advice would be to do personal projects for the pure enjoyment of it, and for learning. I wouldn't expect great career payback, though.
There are other ways to raise one's profile. One could join the C++ Standard committee and actively participate in it. The top C++ companies will notice you. Or the standards committee of your favorite language.
One can submit papers to relevant conferences. Companies often attend conferences for the specific purpose of recruiting.
Even better, you can do the above without needing to relocate, and with minimal investment of funds.
But you also need to be a hard-nosed realist. Play the cards you actually have--not the ones you wish you had--as well as you can.
As a technical individual contributor, what matters is what you can do, not how you feel.
Edit: Yes, yes, all absolute statements are wrong; Attitude does matter some for technical jobs. But what you can do is overwhelmingly more important than your attitude in tech jobs, just like your attitude is overwhelmingly more important in management and sales.
Yes, at interviews, you must act engaged, and you must display what you can do, and that is kind of sales, but it's really easy mode sales.
Sure, I mean, it depends on job role. In sales? yeah, that attitude is required.
(To be clear, even in sales, that attitude is not sufficient. While it is absolutely necessary to project that sort of confidence, that unshakable self-belief, it is not sufficient. You still need to sell. Attitude is sometimes required; it is never enough.)
More specifically to the person you are responding to? when it comes to individual contributor technical roles? As long as you are engaged and interested in the technical questions? It's cool. Having a ridiculous Tony Robins kind of attitude can actually hurt you there; Most technical people don't want to work with a person who's true calling was sales. When I'm interviewing someone like that, every instinct I have is telling me to get them out of the office. I mean, I do my best to overcome my prejudices, and I will still evaluate them on technical merit, but man, it's not easy.
I think that outside of sales and management (note, that's a big part of running a business) defeatist talk and feeling are kinda normal, and unless they are overwhelming for too long, not really a problem.
This is the difference with technical work. What matters is not how you feel or what you project, but what you can do
While getting out from under my business I was super depressed and engaged in a lot of "negative self-talk" in public. And yeah, it probably hurt me on selling that business (I mean, I think I still got a fair deal for what the business was at the time.) but just because I wrote like I was depressed online, as long as I kept going for interviews (and acting engaged during those interviews) I don't think it hurt my prospects as a technical individual contributor much.
I mean, sales is... a different world from technical work. And yeah, I am going to have to come up with a new attitude if I want to go into management ever again But as a technical individual contributor? Ability is key, not attitude.
This is what you tell a child, not a middle aged professional. You should really rethink how you talk to people.
In one interview, was asked to produce a class that could serialize and deserialize a list of numbers, to/from a string of chars. Sure, it's not that hard. Took maybe ten minutes? A few tests, it worked fine. They declined--"your skills seem rusty". Huh?
I'm in good health and much better financial situation than the guy in the story. But without being too grim, I've accepted that someday I might run completely out of money. If I can't get hired in tech, I'll give McDonald's a shot--it's honest work. Failing that, I'll make my graceful exit.