Ask HN: What are the signs that you have a great manager? - <AUTHOR> Overheard that people don't leave jobs, they leave managers. I am relatively new to software engineering professional field (about 2.5 years). <comment><USER2> 15 years of experience here, an I noticed there is 1 main rule:

A great manager is at the service of their team, the team is not at the service of the manager.

The irony is that you don't really notice a great manager. Their job seems like a walk through the park, and you have a "I could do that job easily" feeling. That's because a good manager shields you from all the shit that's going on, so you and your teammates can concentrate on your job.

If you're in a project where shit hits the fan every time, where you have to extinguish fires, overwork because of deadlines, etc. then this is the managers fault.

I also noticed that the atmosphere within the team and the company, is always a reflection of upper management. And there is not much that can change this.

<comment><USER3> This is so crucial. I've had managers who were ex-developers and I've had managers who are managers first and not subject matter experts. The unifying quality among the good ones was that they aren't really leaders, they're facilitators.

\- They get you what you need to do your job. \- They shield you from product owners and stakeholders by meeting with them and giving you only the information you need (unless it's necessary you meet with them). \- They advocate for you and your work. \- They give constructive feedback and insight to help you improve. \- They never try to stand between you and the advancement of your career.

Again, they facilitate. They facilitate the goals of the team and they facilitate your career development. I had one manager who said his sole mission was to get developers promoted out of his team. He wanted to make developers better. It can be very frustrating to find talent if you can't nurture it but I think great managers create an atmosphere where people thrive and become better in the company of their team.

<comment><USER4> > They shield you from product owners and stakeholders by meeting with them > and giving you only the information you need

I've worked at a lot of places like this, and I'm continually surprised people enjoy it. For me, it always ends up having the telephone game problem. You spend a huge amount of time error-correcting.

How do folks scale it? Given the aforementioned error-correction process, the amount of time a manager spends facilitating that process caps with very few engineers.

We have gone another way and our engineering teams work with product managers and together they make decisions. The PM deals with gathering feedback from our analytics teams, end-users and clients, and summarizes that for the team.

We feel this gives a sense of ownership to individual engineers and allows them to make better decisions without a lot of back and forth communication funneled through a proxy. And it also means we don't need a dozen managers.

Good engineers are expensive and hard to find, and I'd say finding excellent managers is just as onerous.

<comment><USER5> > I've worked at a lot of places like this, and I'm continually surprised > people enjoy it.

That's been my experience as well. When a manager says they try to "shield you from the bullshit" it's just a lack of transparency that leads me to making my own (often worse) assumptions.

<comment><USER2> Lack of transparency is just bad communication. I see "shield you from the bullshit" not as bad communication.

I look at it more like this: The customer has an emergency and needs something ASAP. A bad manager will pass this bullshit straight to his team, including the "Oh my god this thing is going to blow up if you can't get it done by Friday!!!!",

A great manager however, will first figure out if this is a real emergency or not, how much it will cost, etc. (S)he will take into account who is currently working on what, what the priorities are, etc. Then will present a realistic solution to the customer/management: "Look, this we can do, this we cannot do".

In this situation, as a team member, work comes in as usual, and you probably were allowed to put an estimate on it. No "Help the world is going to end if this isn't done, DROP EVERYTHING!!!".

I've worked for multiple managers that fall in either bucket, and I had cases where something needed to be finished by Friday, because the customer needed it on Monday. Asking a week later after deadline: "Did it work?" "The customer hasn't tested it or put in production yet".

Great managers however, have great communication skills. Maybe a better wording is that they are able to filter the bullshit from the rest.

<comment><USER6> And when something bad happens because of this rushed code, they'll tell you, "you have to do more testing", make sure quality is not compromised. "We can do automated tests, we can do them as long as it doesn't eat up developer time".

Makes me think that in a consultancy business, everything hinges on getting the customer to fund your development properly. Ask too much and you'll lose the contract to a competitor.

Any thoughts on this?

</comment></comment></comment></comment></comment></comment><comment><USER7> With a great manager you get lots of work done and feel good about yourself and your accomplishments. You get the right amount of recognition for your work (not more or less than you want). You understand what's expected from you and you feel free to express yourself.

The really difficult thing about this question is that it's not a 1 way street. If you don't work hard and have a good attitude, it will be hard to achieve anything. You need to have realistic expectations of how others will perceive what you do. You need to be able to balance the needs of others with your own needs (not too selfish and not too selfless). Your manager can help you with those things, but they can't actually do it for you.

I've been in a bad place at work many times in my career. The most important thing to ask yourself is: is it me, or is it my environment (including your manager)? Try to rule out as many of the "is it me" scenarios as you can. Try to put yourself in a good place. If you hit a wall where you are thinking, "I'm trying to do X, but Y is getting in my way and there is nothing I can do about Y", then you can see where the problem is. After you've "levelled yourself up" as much as you can, if you still feel constrained, then it's probably good to look for another place to go. I usually advise more junior people to stay in a job (even if it is not ideal) until they get to that point. It's easy to say, "That manager sucks! I can't work with them," and fly out the door having learned nothing. If you do that you run the risk of doing it over and over and over again.

When things start to work well, the thing you will hopefully notice is that it isn't just you. You can't perform to your maximum ability without a great manager (if you are in a job where a manager helps). Similarly, you can't perform to your maximum ability without working well with your coworkers. When it clicks, make sure to spend some time appreciating what those other people do for you. Everybody is different and I can't tell you exactly what it will be for you. The key is to work hard so that when you are in the situation where you can excel, that you are up to the task.

<comment><USER8> This is really good advice. Not many devs think about themselves when discussing their managers.

>> The really difficult thing about this question is that it's not a 1 way street. If you don't work hard and have a good attitude, it will be hard to achieve anything. You need to have realistic expectations of how others will perceive what you do. You need to be able to balance the needs of others with your own needs (not too selfish and not too selfless). Your manager can help you with those things, but they can't actually do it for you.

</comment></comment><comment><USER9> In my case: when you move to a new role in the same company and you realize 3 months later that your manager is terrible, you start making comparisons with your previous manager and you find a long list of differences, the plus parts on your previous managers are all signs. The signs for me are: \- I feel free to do anything I believe it is good for my company and my manager fully supports me after I prove I did the right thing over and over \- my manager cares about me (this can be in different forms; my manager traveled half of the world just to have a couple of days of face 2 face talks; he is not the kind of guy to travel a lot) \- my manager has a plan, a vision, that he articulates, we all know it and we all have input in it, so we all feel we own it \- my manager takes (calculated) risks more often that others \- my manager is trustworthy \- my manager talks straight \- I can call my manager at any time and tell him I don't agree with any of his decisions, he will listen and he can easily be convinced if he was really wrong (it happened usually when he did take decisions based on incomplete information) \- I can call my manager any time and he will find the time to talk to me; he knows that if I tell him "we need to talk now" then it is something important enough to talk right now

<comment><USER10> Where can I get one of these?

<comment><USER11> I feel it is the norm in Scandinavia.

The word leadership is "lederskap" in Norway/Scandinavia.

Leder => Leader

Skap => Closet (where the leader should be when everything is OK)

<comment><USER12> Leaderless teams / self organising teams

It's a huge topic in the study of management

</comment></comment></comment></comment><comment><USER13> As a manager myself, I'm going to post this evergreen I keep continuously revisiting every half a year. It's extremely concise while complete on every aspect I would have loved in a manager while being an employee. That's why it's my gold standard and the one thing I'm handing out to every new manager at our company.

[https://www.defmacro.org/2014/10/03/engman.html](https://www.defmacro.org/2014/10/03/engman.html)

Relevant HN thread:

[https://news.ycombinator.com/item?id=14381264](https://news.ycombinator.com/item?id=14381264)

The one thing I'd add on top of it from my last 5 years in CTO experience is:

\- Communicate context as high level and as complete as possible.

If you say "I want that button in red" when you really mean "I want to increase sign-ups on this landing page", then what you REALLY mean and want to communicate is that you want as many customers as possible to find your valuable product.

Letting the team jump in with own ideas, _even if you think you already have the best solution_ will make them grow in responsibility, accountability and self-confidence.

Likewise, ideas like a company/team "Mission" and "Strategy" are 90% used in bullshit contexts, but articulated correctly and repetitively, they make sure people run into the right direction, even if you don't follow every of their moves.

<comment><USER14> > Don't > 7\. Personally fix bugs and ship features. You have to write code to > remain an effective tiebreaker...

Should "write" be "read" here? I'm not sure I understand this point.

<comment><USER15> I read that bullet point as "Yes, you should still write code now and then, so that you're at least loosely familiar with the code base and challenges, but don't put yourself anywhere near the critical path for your product."

</comment></comment></comment><comment><USER16> That's true, people leave managers not jobs.

A good manager:

1\. Make you feel comfortable in expressing your inputs

2\. Bats for you in upper management without you knowing a bit of it

3\. Pushes you for taking up bigger assignment even if you don't feel confident.

       This will help in learning a lot & getting bigger share in overall contribution.

4\. Never says immediate no for your ideas. Takes time & gives a thorough feedback

5\. Keeps you informed about your progress in 1x1's

6\. Is open for feedback

7\. Keeps things cool even if his/her back is on fire

8\. Never micro manages

9\. Always makes sure you get your credit & visibility for the contribution you have done

10\. Has a very good understanding of stack/technology/project you are working on

<comment><USER17> I'm doing all this, although after 2 years now I feel the very fact that I am not 'micro managing' is affecting our team's productivity. I notice my team is on social networking websites for a long time daily with some work (we all sit together), come late and go early, and I don't say a word to them and am always that 'cool' with them. I'm thinking may be that's a bit wrong on my part, but there is just no way to tell them these things without sounding 'uncool' and micro-managing.

<comment><USER18> Let me provide an alternative perspective.

I've been on a team with someone who basically does this -- spent half the day not working, usually selected a single low-difficulty task at a time from Jira to drag out over a couple days or a week, and often went home having put 30-45 minutes less time in per day than others on the team.

There was an unspoken but very palpable dissatisfaction from everyone else on the team. No one wanted to be the Bad Guy that calls them out on it, but the manager was unwilling to push them to do more, and a result they were able to get away with slacking off while others were actually putting in effort.

It was _tremendously_ bad for morale. That's the biggest effect it had. All the other team members were bitter about the manager's unwillingness to keep the team on a level playing field. If you let this slide, you're ultimately letting everyone else on the team down.

The point absolutely shouldn't be to police someone's time; it should be to ensure that, if they have time to slack off, they should be pushed to _take on more tasks_ during sprint planning. "That seems like it won't take too long, can you take on these two tasks as well?" is really all it takes.

<comment><USER19> This is actually a difficult problem, because there are two kinds of slackers: (1) the kind that work less but produce roughly the same as, or sometimes even more than, everyone else (i.e., smart but lazy), and (2) the kind that don't work or produce.

Dealing with (2) is absolutely the manager's job and such a person should be fired if attempts to identify and fix an underlying problem fail.

But (1) is really difficult. We have one of those right now, let's call him Bill. Our manager is hesitant to do anything about him, because the manager wants to incentivize productivity, not butt-in-chair time (we're all salaried, with no set hours). But Bill comes in 4 hours a day, seemingly works 1 of them, and spends the other 3 trying to distract everyone else with off-topic conversations. If he comes in at all.

Amazingly Bill does get work done, somehow. But it is terrible for morale. Worse, some of the junior members are starting to think they can get away with the same thing Bill is doing, and they can't. As the senior dev, the "big brother" to our manager's "dad", it falls to me to do something about it, but I have no idea what, if anything.

Manager fears that if he rewards finishing tasks quickly with more work, it will also harm morale and productivity. And there is a decent argument to be made for that. Having experienced that firsthand, it is highly irritating and incentivizes people to work slowly.

Additionally, in reply to GP, a manager that has great technical skills (10) and good managerial skills (1-9) must be as rare as a unicorn. Even a manager who started with good technical chops inevitably will lose them over time when they are an Outlook jockey all day. OTOH, I have seen plenty of otherwise decent managers who think their technical chops are good when they aren't. Pretty much the whole premise of Dilbert. The best realistic alternative seems to be managers who know their technical limits, delegate, and seek advice from their subordinates.

<comment><USER20> > Amazingly Bill does get work done, somehow.

How do you define what "get work done" means? Everywhere I worked (as a developer) there has never been a situation where you can say "OK, there is nothing else useful to do today". So it obviously can't be that.

Is it related to seniority? Or even salary? As in, "we expect our senior/highly paid people do accomplish 2X (or whatever multiplier) amount of work that the junior members of the team do".

Or is it just related to how much work the developer estimates they can do? You say you will take these 4 tasks this week, everyone agrees that it's a reasonable amount (for your level/role) and then if you complete them your work is considered done.

Or is it something else completely? I'm interested in anyone's thoughts on this.

<comment><USER19> What I mean is that he produces an amount and quality of work that is comparable to other people at his experience and title level. In some ways better, in other ways worse, but on average, he is producing at least as much as his peers are. He's quite talented but lazy.

Obviously there is never a situation where you are out of work to do but some would say it is unfair to expect a talented person to produce more for the same salary and title as less talented people (I have no clear opinion on that, I'm only concerned about the morale issues). After all, the whole premise of being salaried rather than hourly is that you are paid to produce a certain amount of work, not work a certain amount of hours.

Normally a solution could be promotion but that is not an option right now.

</comment></comment></comment></comment></comment></comment><comment><USER21> This question has huge cultural variation. I think you need to specify the cultural region first.

Globally, in some places it's expected a boss micromanages everything, and in other places that's considered a sign of ineptitude as leader.

Within a smaller area, say, Europe you still get huge variation from egalitarian north to more hierarchial areas which affect quite a lot of things.

But, in the most general sense:

\- is the person polite and respective? In any culture being 'bossy' and abusive is not a sweet character trait, it's a fault.

\- does the person allow you to fail and grow?

\- does the person listen to your suggestions and act on them?

\- does the person give you honest feedback?

\- does the person have your back? I.e. can you trust that politically they are on your side when dealing with the rest of the org?

\- is the person honest?

Most of these are characterizations of what a regular well mannered person is. I suppose there are two types of bad bosses: the insecure one who would like to avoid all responsobility and negative interactions at all costs, who don't want to 'rock the boat' no matter what, and the bossy bosses who enjoy their position in the hierarchy and act like it in any way possible.

But, a good manager does not need to be:

* warm and caring

* charismatic

* become your close friend - you are colleagues and professionals

* send you holiday greetings (unless that's considered a serious affront in your culture)

* same sex as you

* same culture as you

* old or young

* probably other things that you expect in a friendship but since being friends is not needed they don't matter

</comment><comment><USER22> I read a great piece a few years ago outlining the notion that everyone should have _two_ managers: one performance, and one pastoral. Often times those two elements rarely overlap, and often contradict.

Recently I've gone through a phase of having 5 managers in 6 months - two most recent ones are polar opposite, but both great. One was fantastic at making sure my work/life balance was going well, that I was making the most of networking and opportunities around the org. My current manager is great at managing my outcomes, and making sure all the i's are dotted and t's are crossed for org processes.

I'd say if you only have one, the latter is the best for succeeding in a company - and the main marker of success is another pithy quote as below:

"Their success is their team's success, their team's failures are their failures" \- basically they pass the baton for their wins to the team, and take the burden of their employees mistakes themselves to the rest of the org (whilst not shielding them from the learning opportunity).

<comment><USER23> A good cop, and a bad cop. A buddy and a taskmaster.

</comment></comment><comment><USER24> The simplest answer to this question is: You generally enjoy your job and get paid enough.

I've had objectively bad managers who I enjoyed working with, who at the end of the day kept the job enjoyable and looked out for my paycheck.

I've also had objectively great managers, but got so board with the general company that I quit and moved on. (In hindsight, though, I should have recognized that I had a good thing going and stayed a little longer.)

IMO: At 2.5 years in your career, it's okay to jump around a bit and see different management styles. It's more about your personal happiness about what you're doing everyday than getting a perfect manager. If you work with an "okay" manager, but genuinely enjoy your job, (and get paid,) it's better than working for a "perfect" manager in a boring job.

And, to be quite honest: I've realized that I can recognize this in interviews. There's no single way to explain how, other than the general feeling I get when I talk with the manager.

What I realized is that, ironically, I enjoy a little drama at work. (Just a little). IMO, a bad manager is someone so drama averse that you can't pushback when other people don't carry their weight. (Some examples would be QE that never gives good steps to reproduce, support that never explains the support ticket, unreasonable expectations from product management, ect.)

<comment><USER25> What you call 'a little drama' is actually just holding people accountable. It's not unusual to have the same expectations of others that you have for yourself.

<comment><USER24> I guess what I'm trying to say is, sometimes it's fun to push back on the slackers!

It's kind of like enjoying a spicy meal, or an extremely bitter beer!

<comment><USER26> It's also often valuable to the ones being pushed back on. Lots of people will just complain and never directly confront the problem by explicitly asking for consistency in information communicated. I much prefer co-workers who will provide direct feedback in lieu of the "inform the manager route". If the problem doesn't correct over a reasonable period of time, then involve a manager.

</comment></comment></comment></comment><comment><USER27> "Great" is probably not a good term to apply to a manager because it panders to an unhelpful "David Brent" mentality. As this thread ages, you will probably notice a lot of managers detailing the ways in which they are "great" (typically couched in terms of "aspiring to be", since nobody wants to be seen as a pompous egomaniac).

The truth is that managers are measured by a lot of different metrics, and what makes a really good manager for you as an employee is not necessarily what makes a good manager for the organisation as a whole, or even that managers manager.

The idea that people don't leave jobs, but leave managers is wrong, and clearly overstates the influence of a manager over more significant things like pay, conditions, location and status.

Managers should be capable of treating their underlings as human beings, and should be able to keep their ducks in a row. If you have one of those then count yourself lucky- you have a GOOD manager, and GOOD is good enough.

<comment><USER28> > The idea that people don't leave jobs, but leave managers is wrong, and > clearly overstates the influence of a manager over more significant things > like pay, conditions, location and status.

I've seen too many cases where people have left places because of a shit manager to discount this. My wife had a team at Oracle that was highly effective under one manager, and experienced 200% turnover under the next. People will absolutely flee a shitty, scummy, abusive manager, especially when times are good like they are now.

</comment></comment><comment><USER29> I have had a good and bad manager! Here are the traits of each one

Bad One: Gets pissed off easily when something doesn't work, focuses on himself, doesn't like when people go on leaves while he himself enjoys vacation twice a year, discriminates, uses trickery to get things done, uses his ego in product decision making in case of a technical debate, not at all honest

Good one: Rarely looses his cool, may not write code but brilliant with products and product architecture overall, defeats you in technical debates using intelligence rather than his command and ego, is honest & loyal with you and so are you, is a boss but works with you like a team

When I started out I remember once I was staying late to the office coz I had some pending work, my manager stayed with me because he had good understanding of the problem and he dropped me off(I used to travel using companies transport) even though he had to take detour. Best product manager ever!

<comment><USER30> > doesn't like when people go on leaves while he himself enjoys vacation twice > a year

the US sounds like a dystopia more and more everyday. sure, one could make the case that these work habits are a reason for your success, but who is really benefiting that success?

<comment><USER29> > the US sounds like a dystopia more and more everyday. sure, one could make > the case that these work habits are a reason for your success, but who is > really benefiting that success?

Talking about India not US!

<comment><USER30> ahh it ocurred to me that i might be wrong, but repeatedly hearing from expat friends how americans find the number of vacation days in EU shocking, i decided to poke anyways

<comment><USER31> I thought the same. I think 10 days paid leave is considered competitive in the US. I'm in the UK where 25 days is considered competitive.

<comment><USER32> 10 days is garbage even in the US. You take it, but you grumble about it. Partially, nobody in the US knows how to value vacation, I think. So even highly paid people kinda shrug at vacation and don't really factor it in.

<comment><USER33> > _Partially, nobody in the US knows how to value vacation, I think._

It's partly engrained into the culture and partly to do with the prohibitively expensive means of travel.

For example, you could probably find a flight from London to Paris (return trip) for under 50 quid (for one). In the states, there's no way you're traveling that same distance and paying less than 300 quid, I'd say.

So, it's a combination of both but I think the expense contributes, or lends itself directly, to the social stigmatisation.

<comment><USER34> Just did some test trips of that distance, and for me (based in Chicago) it would be about $200 for flights of the same distance.

But that just takes me to St.Louis, Cincinnati, Detroit. I've been to all of them before, and there's some nice parts about them, but they're not a completely different culture like Paris is to London. Hell, St. Louis is just barely in a different state.

Pretty much all the chain stores are the same in every city you go to in the US, so it really enforces the sameness of the country. There's unique landmarks and museums and parks and local restaurants, but half the city is going to look the same as every other city.

Detroit is actually the closest comparison to London/Paris, because you can go through a tunnel at the edge of Detroit to Windsor Canada, and then you do get a bit of a culture shift.

But with Paris, further travel to other very different cultures are just some quick and cheap train rides away, whereas I just have more Canada.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER35> It depends on person to person.

For me, my manager listens me, understand my problem/trouble and he acts accordingly. I am not going to lie, but there were few months in my job where I wasn't productive at all, fail to yield proper result due to my personal problems. He is always there to help me and did almost everything how i wanted to act/work in the job. Obviously, there were also lot of situations when i had to act myself according to him, but it happens after mutual discussion. He is one of the few biggest reason why I'm still in the same job since last 6 years. I always wish when i switch to some other company/start new company and the person who will going to command me (in some sense), i always wanted person like him or him.

</comment><comment><USER36> I had one bad manager, and one good one.

Bad one: lots of micromanagement, fear of making mistake, fear of looking bad to upper management, lack of technical insight, lack of business insight

Good one: little to no micromanagement(except in some cases), stilk has good technical insight and tries to stay up to date and can make reasonable discussion, always challenges you in good ways, tries to increase system efficiency by creating an environment where people can try many ideas without going off the track, good business insight - surprisingly many people dont know anything about business you are in.

</comment><comment><USER37> Interestingly, we don't get to judge objectively what a good manager is, but we can tell what the effects are.

Simply, if you can plan an expensive 2-week vacation 6 months from now without doubt or much stress, and with a high degree of confidence, you have a good manager.

If you feel your work is making progress and contributing positively to the success of the company in a clear way that you have control of, your relationships with your co-workers are based on a basic level of trust and friction doesn't derail them into a power struggle, and you are able to approach all your work with calm deliberation, you also have a good manager.

If you think these are things that are the responsibility of the employee and not your manager, you would be missing the point, because a good manager hires staff and maintains teams like this. It's very possible a good manager might not hire you or keep you on as well.

It's worth asking why a good manager would hire you, and whether your criteria for having a good manager is simply that they like you. :)

</comment><comment><USER38> Two former employees came back to work for me. Five former employees went on to great careers, two of whom I "fired" with instructions to leave me and pursue their dream. I have many weaknesses as a manager and as a person... But developing talent is the one thing I'm most proud of.

</comment><comment><USER39> I think a lot of the characteristics that make a great manager really depend on the team dynamic, but my favorite managers have generally had these qualities:

\- They actually care about your career growth. One of my managers held occasional "stay interviews" where he'd ask us questions about what's making me excited at work, what would make me want to leave the company - that sort of thing. If someone was interested in work another team was doing and wanted to switch, he'd also help them transition if possible.

\- They're a good listener and follow up on issues you discuss with them.

\- They try hard to hold regular 1 on 1s without frequent cancellations.

\- They take the time to explain the business reason behind tasks and projects that are coming in, if they're in a position where they're feeding the team work.

\- They're good at giving performance feedback. One effective way I've seen this done is to give the feedback as soon as possible after an event that demonstrates the behavior (positive or negative).

\- They find ways to compensate you fairly. Sometimes salary isn't in their control, but they may be able to grant other benefits like extra days off.

</comment><comment><USER40> On a Sunday evening, you find yourself looking forward to getting into the office on Monday morning.

</comment><comment><USER41> The best managers I've had have been formerly great engineers, or Product people who understand the importance of engineers. I'm sure there are good managers who were not god engineers, but it's certainly harder for them to grow into such a role.

The best managers try to understand different perspectives including yours. They must must must be good listeners, otherwise they can never truly understand what their reports really want.

The best managers understand what's important for every member of their team and try to create environments conducive for their growth.

Being a good manager is a rare skill. Some are born with it; but it's a skill that can be learned by those who listen. Most managers unfortunately have a messed up paradigm of themselves and how they relate to the world, and most will actually create more obstacles rather than clear them.

<comment><USER42> >>> Being a good manager is a rare skill. Some are born with it; but it's a skill that can be learned by those who listen. Most managers unfortunately have a messed up paradigm of themselves and how they relate to the world, and most will actually create more obstacles rather than clear them.

Could you elaborate on this ?

I've been managing for some times (years, small teams) but for the first time, I get a project that is 100% screwed : loss of control, some people hate me, the customer is becoming (righlty) ultra nervous... And I'm really asking myself if there are patterns in my behaviour which are clearly wrong. So relating to others might help a bit in figuring it out...

</comment></comment><comment><USER43> They're the only ones who didn't want themselves to be the "managers" yet still do the job with a smile on their face.

</comment><comment><USER44> This is thankfully the case in 99% of situations, but I'd like to add on top of all the comments: technical proficiency is super important to me. Having a manager that doesn't understand the details (or even basics) of your work is super tedious to work with.

</comment><comment><USER45> I can only speak regarding my current manager since my interactions with my previous managers were few and far between, but here are a few things I have noticed:

* If there are any issues at all, he is always available to listen. I am free to contact him at all hours during any time of the day, and he'll respond as soon as he can. In turn, I do the same for him. If there's ever any issue, I immediately jump on it and prioritize it, if possible. One thing to note is that I get 1.5x pay for every hour I work extra, so I don't mind spending a few extra hours to try to help out late at night if need be. It should also be noted he's only ever asked me to help work late once during the nearly five years I have been here...and I got a huge paycheck thanks to it.

* He keeps me out of unnecessary meetings and makes sure I only attend the ones that need to be attended. He attends the various program meetings and other leads meetings so that I can focus on actually programming. I have maybe one meeting a week thanks to this despite co-leading the BSP dev team here on at least four different programs.

* He listens to me when I suggest stuff and takes what I say seriously. I am free to speak my mind without consequence, even if it's questioning his decisions or direction. As such, I respect that he can override what I say and will go along with his final decision. That said, usually whenever I bring up something critical, he jumps right on it and begins talking to higher ups ASAP regarding how we can solve it.

* He gives actual feedback. If we, as a team, drop the ball, then he'll make sure to point that out. If we, as a team, do well, he'll make sure to mention that. If you perform well, he will make sure you get recognition from higher ups.

</comment><comment><USER46> Having a great manager is inversely correlated to how many times you ask yourself "Why the fuck are we doing this?"

</comment><comment><USER47> Key factors in my mind:

* Does your manager encourage you to have a growth mindset? Do they push you to take a moment of company time and think about where you might want to be in 1-5 years?

* Does your manager help you get useful feedback? Do they try to hold retrospectives from time to time? Do they identify and address communication gaps?

* If your manager has an engineering background, are they effective at precipitating alignment among diverse technical perspectives? Can they get people to agree on some things, even basic things?

* Does your manager counterbalance engineers' tendency to pursue too much complexity? Does your manager help focus on the simple stuff from time to time?

* Is your manager effective at recognizing and addressing burnout?

I've only had 2 managers who scored more than half on that scale in 10 years of experience. Try to find one of the items that your manager is good at and exploit their strengths.

</comment><comment><USER48> \- you find yourself actually doing your job and not theirs

\- every day you have a clear idea of what you need to do and deliver

\- You are busy. Not drowning in work and not twisting your fingers with nothing to do.

\- they clear roadblocks that you encounter (reaching out to senior people in org when needed, providing steering on difficult issues...)

\- You can talk to them about career development, training, moving to other teams, etc, without fear that the talk will become confrontational

\- They encourage you to move up or sideways (or out) when they think you are ready or it would benefit your career, or be a better fit for you

\- They provide feedback on what you are doing well and less well, on a regular / continuous way, not once a year

\- They are transparent in their agenda (but they do not have to share everything with you)

\- Pushes you out of your comfort zone, while watching out to manage risks

\- They trust you : they don't micromanage

</comment><comment><USER49> A good manager:

let's me give estimates for how long tickets will take me instead of giving me deadlines

doesn't interrupt my productivity with pointless meetings

keeps the team working as a team, resolving conflicts quickly

If I feel confident in the value I create, feel good about my productivity and ability to have an impact and have my voice heard I probably have a great manager.

If I feel dread when I see a notification on slack from my manager, before I even open it, if I go into a 1-1 with my manager feeling any amount of worry, if I come out of a 1-1 feeling bad or demotivated then I probably don't have a great manager. Or I need to look at myself to see what I'm doing wrong, who knows maybe I'm the one screwing up.

</comment><comment><USER50> My 12 years exp. being manager:

\- You're the CEO of the product. You drive the vision.

\- You know your product from 0 to 100%. You know everything.

\- If anyone wants something or know about one problem, you should be the first one to know this. Never go to team members.

\- You should be able to identify problems, the source, before declaring it as "a problem to solve" for your team. AKA "false positives", "that's not a bug, that's the behavior", etc. Be the shield for this shit.

\- People will use all kind of trickery to force you to do things for them. Learn how to say no. Learn how to prioritize. Remember you have your own interests to cover for your product.

\- Always tell what you want to achieve, what is needed, how much time it will take and what will be the deliverable. The more defined the answers, the best for both team and you will be.

\- You're the one taking the last decision. Everyone must acknowledge this.

\- You should listen people, and rely on their expertise. They will tell you how to do something, but don't let them to change your high level achievement.

\- Tell the people what you want to achieve.

\- Call on people when they did stuff out of the planning. AKA: "I've been doing this nice animation, now the product looks nice", etc.

\- Always talk individually, short meetings, instead big team meetings. Consensus always drive bad products.

\- Nothing goes production without your approval.

\- Enforce criteria acceptance: all features must be done according to the plan, not what the developers wanted to implement.

\- Kick out toxic people from your team. The earlier, the better.

\- Never let people insult you.

\- If you happen to make a mistake, be the first one acknowledging this. Never try to justify incompetence. Always try to solve that to avoid new cases in the future.

\- Try to help team members who aren't motivated. Talk to them. They're confused with their role in the project, usually.

<comment><USER51> > \- If anyone wants something or know about one problem, you should be the > first one to know this. Never go to team members.

> \- Nothing goes production without your approval.

> \- Enforce criteria acceptance: all features must be done according to the > plan, not what the developers wanted to implement.

I wouldn't be able to work for you. Sounds you want to decide everything. But sometimes, the manager's plan doesn't work out as it was supposed to be. I've found that relying on the technical expertise of developers yields better results than forcing them to code line after line what the manager thinks is best.

Then again, some people probably like your style. To each his own.

<comment><USER50> I said "you should rely on the team expertise". Sadly, you're reading it wrong: if the criteria acceptance says feature X must output Y, then if we see that it outputs P just because someone didn't liked the initial agreement, then it is not teamwork, it is what you want to do.

Sadly again, this kind of free will leads to poor products.

The production thinng is imporant: you must be aware what you launch, do the internal communication, external, making sure things goes well. If you push to production features without approval you're basically creating a problem.

I think you want to be in a place where you can rule, meaning, being the CEO of the product and the one who make it. Maybe I'm wrong asserting this, but the product manager has to be accountable.

</comment></comment></comment><comment><USER52> Great managers do a lot of things...but I'll talk about a couple of them that matter to me at the moment.

Great managers give _clear_ expectations. Even if you operate autonomously, they still provide you guidance on "this is what I expect, and this is how and when you should communicate <X> to me". Great managers also make time to clear up any doubt or uncertainty about a task. You should never feel embarrassed or afraid to ask a great manager for clarification or direction, their job is to give you those "good vibes" that make those conversations _easy_ for you to start.

Great managers never onboard you by saying "you'll figure it out", or "welcome aboard, you'll find everything in the wiki". Great managers show you the docs, answer any questions you have about using them, and initially shepherd you towards where they need you to end up. This plays into the "clear expectations" quality I mentioned above.

Great managers (sometimes subtly) pair you with great teammates. They initiate cross-training themselves, and not by telling you to shoulder your way into someone else's domain. Sometimes they do this by making the other member(say, a DBA) responsible for a task they cannot do without your(the programmer) help. They might make the DBA responsible for documenting your help, or vise versa. This is subtle cross-training, where neither role feels like they are being pushed out or prepared-for-replacement by the other. Instead, you should end the assignment feeling like teammates that both managed to learn something new, from an experienced professional(the other person).

That's my two cents. For what it's worth, I didn't realize I had been a bad manager, until I went to work for one. As I found myself thinking of "geez life would be better if he/she did <XYZ>", I realized those were things I didn't do myself in the past. That made me really appreciate what life in the shoes of my reports must have been like. I didn't set clear expectations, it probably felt like a bit of a mystery gamble to the people who worked for me. I hate that for them, and no one could have convinced me I was doing it wrong - until I had gone through this experience myself.

<comment><USER53> _> Great managers give clear expectations. Even if you operate autonomously, they still provide you guidance on "this is what I expect, and this is how and when you should communicate <X> to me"._

In many places, managers are subtly discouraged/disincentivized from doing this by not being given enough power to properly reward their people.

Being granted poor rewards or being denied a raise or promotion by organizational powers-that-be for reasons like budget or priorities is a morale killer when your manager has given you nothing but positive feedback and affirmation that you are clearly meeting/exceeding clear expectations. Being able to say "well, you were given a lot of freedom, and you _chose_ to pursue things that didn't have the right kinds of impact" is an easy get-out- of-jail-free card for a manager, and is only really effective if you've been stringing someone along with arbitrary mixed feedback and unclear or constantly shifting goals.

</comment></comment><comment><USER54> I recently experience a great manager after 11years working as freelancer and employee and I have seen a broad range of great and deeply disturbing managers.

What I learn is that Without looking to much on how your manager work or does for you and your team,you have to see how are you improving in your skills and trade because of him. The best managers I work for made me a better professional and mindful about my own skills.

There are so many styles and ways to lead people, at the end the thing to look is how a manager made you a better professional and a better team member, and finally what you improve because of them

</comment><comment><USER55> I've had 9 managers in the last 4 years and I'm going to make two different points about good managers:

POINT #1

Lou Holtz [0] has a great quote about leaders:

"You ask every leader three questions:

1\. Can I trust you?

2\. Do you care about me?

3\. Are you committed to excellence?

Think about someone you've always thought of as great leader and I bet the answer to all three is 'yes'. Now, think of someone you are having problems with and I bet the answer to all three is probably 'no'".

I think about that quote all of the time when interacting with managers.

POINT #2

One way to categorize management is into two different types:

Type 1

The "widget maker". Here the manager is the smartest person in the group and they know more than any other of their underlings. Each employee is considered replaceable because the manager is the one that knows everything so it doesn't matter if a junior person leaves.

Type 2

The "film director". Every member of the team is better than the manager at their particular speciality. e.g. the Special Effects head knows way more than the director ever could about SFX. That means that it becomes the manager's job to be the co-ordinator and get this disparate group of folks to work together towards a shared vision. In fact, part of the director's job is to make that vision and then communicate it in such as way that everyone wants to participate.

This goes both ways in that the "director" needs to trust the team members to do their best work and they, in turn, need to trust the director to "steer the ship" in the right direction.

Personally, I MUCH prefer the "film director" mode although there are times where it's nice to have a manager that knows more about a key part of the work than you do so that you can learn from them.

[0] [http://triplecrownleadership.com/the-3-questions-asked-of- ev...](http://triplecrownleadership.com/the-3-questions-asked-of-every- leader/)

</comment><comment><USER56> On a somewhat related note, I'm curious what people think of having a remote manager? Either they're in another office/timezone, or you work remotely.

I work in an office, and prefer doing so as I like being around my colleagues. I find it easier to collaborate and, despite being an introvert, like being around other humans. I've had times when my manager has been on another continent and it's been the most frustrating thing for me as they're not just there, on the other side of the desk, when I need them.

</comment><comment><USER57> I am about to leave a company made by very bad managers, even if my line manager is great (he is a former rugby player and rugby manager, then he really know how to manage a team).

Good manager:

* It's a person that I can trust, everytime

* He is always on my side, even with upper managers

* No micromanagement (he is in another office, far away from me)

* Very clear and deep communication (sometimes is a bit verbose, but it's okay)

* He can take reponsabilities and fight for them

* He always drive me to growing

* Care about people and feelings

Bad managers

* No responsabilities at all

* Care about end year bonus, not about people

* Using people to fight each other

* No communication at all

* Trying to exploiting people with tricks and hidden moves

* Manipulators

* Arrogants and conceiteds

 _

<comment><USER50> > He is always on my side, even with upper managers

Give one example why you need to go against upper management. UM wants you to achieve their design, they don't want you to be free will and do what you think it's best for the company.

<comment> g-clef Upper management is not omniscient. They may want you to achieve their design in an unrealistic timeframe or with unrealistic resources. Their design may not be technically possible.

It's perfectly normal for line-level management to push back in cases like this. Failing to do so means that line-level management will be setting themselves and their team up for failure.

<comment><USER50> I never said they're omniscient. But it sounds bad middle management than C-LEVEL bad management. When things are asked to be done, there's a process to know this. Nothing starts, at least, in serious companies, without measuring the scope the project, the time requiered and the amount of resources (maybe you need to hire more or something pro on that area) to achieve something.

It's true there are companies where the CEO jumps on the role he wants and start changing things micromanaging.

</comment></comment></comment></comment><comment><USER58> I worked at several small companies. One had good management, and I always was aware of that. I didn't always agree with them, but they treated me right. Another small company had a Great Manager and an Upper Asshole.

A Great Manager is the firewall/proxy between you and the Upper Asshole. He translates the orders into something reasonable that works for you and that you can work with. He sees what you need, if you're in trouble, and keeps you from getting into big trouble by keeping watch. He jumps in if necessary to help out if he can.

The Upper Asshole I'm talking about took over in the end, because the Great Manager left and nobody else wanted to take over that role.

It was all about him. He lacked vision, except the vision on his bank account. He didn't like criticism, reacted offended, and scoffed you when you made suggestions. The result is that you start to care about the interaction, about avoiding interaction and limiting it to the absolute minimum. You stop criticizing, and keep your mouth shut. The result is Upper Asshole Tunnel Vision because nobody says "no" anymore. So all his ideas are great, and he knows how to do things, and if he would put his mind to it he could solve any problem and learn any tool or language in half an hour. That's either dillusional (about his abilities) or condescending towards his employees. It probably is both.

Now think about this for a moment: Upper Asshole Tunnel Vision. Visualize it. Does it bring good things? In the end UA spend a lot of money on lawsuits and lost lots of money.

<comment><USER59> Here's the problem... when the Great Manager leaves, the people they protected rarely survive. (And Great Managers rarely suffer UAs for long) It's a fine line between filtering the noise, and sheltering from corporate realities.

</comment></comment><comment><USER60> One way I look to answer these questions is to invert them. I'm asking myself: "What are the signs that I have a _bad_ manager?". A few off the top of my head:

      - Lack of trust which leads to micromanagement and double-guessing
      - Lack of professional and/or personal respect
      - No interest in your career growth
      - Plays favourites
      - No enthusiasm for *his/her* own career (this translates into poor growth opportunities for you)

</comment><comment><USER61> Some of the following is "team lead" stuff, but sometimes the manager and team lead are one, so...

* If they listen. A manager that listens to your concerns, and actively works to help resolve them.

* If they give you agency. You should have the power to do your job and make decisions.

* If they help you grow. We all need help, and managers should identify when you need help, and work with you to help you improve.

* If they facilitate teamwork. Managers should be able to diffuse friction in a team, lead by example, and help promote more efficient work. A team can often self-organize, but a manager should know when to step in and provide direction when needed.

* Keeping an eye on the bigger picture. It's easy for team members to sometimes be lost in minutiae, and a manager should be able to redirect efforts toward making progress sooner.

* If they keep a cool head under pressure, don't bad-mouth others, don't intimidate or harass, and generally behave in a professional manner. (I don't know why I have to state this, but sometimes it's lacking)

* Helps run interference, mostly for inter-team or managerial issues. Employees should _want_ to defer to their manager to help resolve conflicts. If instead people _don 't_ want to involve their manager, something is very wrong.

</comment><comment><USER62> Stating the obvious, but: if nobody in your team is leaving and or forced to leave, you are likely to have a good one. If a lot of people go, you have a bad one.

<comment><USER63> Not necessarily, it might be that they quickly grow and get placed into better positions

</comment></comment><comment><USER64> Jocko Wilink: "Instead of asking 'Am I a good leader', ask 'is my team successful'."

Success = fulfilling your mission within the rules of engagement.

Rules of engagement include integrity, morals, ethics. But perhaps also certain no-go-areas, resource constraints, other divisions' goals, etc.

Most CEOs focus on traits. Or on skills. They are doing 360 reviews. They get mentors. These are all good things to do. But they are a complex answer.

</comment><comment><USER65> As a few other people have said, a great manager sees their job as ensuring your (and your team's) success. A poor manager sees your job as ensuring their success. Everything else flows from that.

Bill Campbell famously called this "the right kind of ambition". Right ambition sees personal success as a byproduct that arises from success of the team and the overall mission rather as a worthy goal in its own right.

Part of ensuring the team's success as a manager is however being able to empathize with the team but not always doing what they (think they) want - this sometimes means having the courage to make horrible decisions that you know to be correct rather than make you popular and then communicate them in a non-weasely way. It doesn't help you sleep at night but it does help you to understand next time you read "Of Mice and Men".

The final point is help your manager by being as resourceful and positive as you can be, and making sure they know when there are things that are blocking you that you need their help on because you can't fix them by yourself.

</comment><comment><USER66> They're positive in the face of adversity but always realistic. For example, the software you're working on fails 10% of required tests. A manager once said to me that it's the nature of engineers to focus on that 10%, but he always likes to remind them of the 90% that passed, and will accomodate the team to see the remaining 10% pass too.

</comment><comment><USER67> They aren't just a stooge for the next layer up, brought over from their boss's previous gig. Every executive has their "enforcer" guy/gal that they bring over so they themselves don't have to do the trench work of actually managing people. Seen this movie so many times.

<comment><USER68> I once had a manager try to recruit me for this purpose... literally tried to feed me what they wanted me to say when discussing implementation approaches - so they didn't look like the one trying to push an agenda... Hinted at a promotion if I played ball. When I gave my own opinion instead - they stopped talking to me entirely... So, yknow - disobedience had its upside.

</comment></comment><comment><USER69> \- They always told the truth (to everybody).

\- They knew their stuff (tech, system, user domain).

\- They figured out the right thing to do.

\- They communicated often and flawlessly.

\- They did whatever it took to get the right thing done.

\- They smiled almost all the time.

\- They made each other person feel special.

\- They made work fun.

\- They were always teaching something.

\- They called bullshit instantly.

\- They protected their team.

\- They inspired us by showing how good things could be.

</comment><comment><USER70> I have been managing for the past 2 years and my team is up to 8 full time and 2 interns for the summer.

I do not have any formal training as a manager, only as a computer engineer. But I focus on four things for my team.

1) I try to see myself as Archimedes lever. Instead of trying to be a bottle neck and program, I do what ever I can to remove roadblocks for my team.

2) I treat everyone as a person, and I try to keep them happy.

3) I give anyone in the team one on one time if they need it to discuss anything on their mind.

4) I establish how we organize and document the knowledge of our department, and I encourage everyone add to our documentation if they learn something new or if they see a way to improve something. This helps everyone in the team find information they need quickly and it helps with training new hires.

</comment><comment><USER71> The biggest signals I pay attention to are:

1) When they call me on my bullshit, do I listen and take it to heart?

2) Do they back me up, private & publicly, to other people?

3) Do they trust me to make decisions, and ask for help when I need it?

4) Are they looking out for my career?

5) When they have feedback, is it specific?

</comment><comment><USER72> Here is a great book on the subject: [https://smile.amazon.com/First-Break- All-Rules-Differently/d...](https://smile.amazon.com/First-Break-All-Rules- Differently/dp/1531865208?sa-no-redirect=1)

Essentially, great managers do these things:

\- Create clarity \- Provide support and equipment \- Celebrate wins \- Build an atmosphere of learning and development \- Help cultivate personal connections \- Give developers the space to work in their strongest areas \- Listen to the opinions of the members on the team and make sure they matter \- Instill purpose \- Practice empathy \- Commit to quality

</comment><comment><USER73> Never had a great manager, but I can tell you what makes a bad one. Sometimes knowing the opposite of what you want can be just as helpful:

\- No communication outside of routine things (assigning work, asking about deadlines, etc.)

\- No vision or goals for the team or individual team members aside from "show up on time and get your work done"

\- No attempts to encourage or reward employee development

\- Doesn't effectively manage workload and deadlines (it's impossible to learn new things when you're always behind)

\- Not receptive to suggestions, even less receptive to feedback/criticism

\- Never fights for team members when it comes time for raises and promotions

</comment><comment><USER74> I've helped develop 20+ first time managers, and coached/mentored many more...

"Great Managers" signal in a few simple ways....

1\. Develop Rapport - they put in the effort, over multiple discussions, to build trust 2\. Prioritize People - they put their people's desire to grow, ahead of other priorities 3\. Establish a Process - they define (and practice) a clear protocol for communication, development, and growth 4\. Stretch and Coach - they design growth opportunities and provide coaching 5\. Deliver Results - they make an impact, hit goals, and produce value

</comment><comment><USER75> I am not sure if people generally know what they want from a manager. I think it varies between company, organization, team, and individual.

Not even every company has the same expectations of an engineering manager. Some is more coordinating and facilitating, some is more team leadership, some is more talent development. None of those are wrong, either. It depends on circumstances.

This is a bit meta, but a great manager knows what the company expects of them, knows what their team is capable of and has the judgement and capability to make decisions when those don't match up.

</comment><comment><USER76> I currently have probably my best manager yet. She takes the time to actually understand what is going on from my perspective, and she does that for our whole team. Empathy. Moreso, she's also always coming up with new variations on meetings... Like at the end of sprints we do a new Retro exercise. She comes up with 10 or so funny cool names for each sprint and then we all vote on them. Things like that. She also advocates for us when we have a technical opinion and feel like we cant get it passed through on our own. Stuff like that.

</comment><comment><USER77> Many good comments in this thread! Here's a practical item I'll add:

Good managers offer praise in public. They offer critical feedback in private.

Critical feedback isn't necessarily the sign of a bad/mean/uncaring manager. (It's taken me a long time to learn this—and I still forget at times!) Important work often involves hard decisions, competing priorities, and so on. A good manager does not shield their team from this reality; they filter it appropriately and turn it into useful conversations, at the right time, with the right audience.

</comment><comment><USER78> People connect at a basic intuitive i.e. "gut" level and thus i consider the following character traits as the most important;

1) Sincerity - Sincere about their job, putting in the work reqd. and taking care of the "team".

2) Honesty - No unnecessary political games and being honest about one's limitations and strengths i.e. what they can and cannot do.

3) Trustworthy - A man of his word and understanding vis-a-vis deadlines, features and requirements. Somebody who can be depended upon to always be there when things get sticky.

</comment><comment><USER79> Bad managers focus on them.

Good managers focus on you.

</comment><comment><USER80> They take care of you and take your problems seriously and act on it. It feels like they are serving you instead of you serving them. They care about your career path and act in the best interest for you. They trust you. They might even do things for you which you already forgot you asked for.

One concrete example: I asked what are the requirements for me becoming a senior developer. Next time we spoke, he did not come back with the answer, but my promotion on the way.

</comment><comment><USER81> I worked with a bad manager and currently work with a really good manager. I absolutely hated coming to the office working for the bad manager.

Bad manager - \- Constant micromanaging - needs an update every day. Sometimes several times a day. \- Has little/no technical knowledge \- Takes most/all of the credit. Makes sure that he's the guy mailing the folks in other teams, not me \- Ends up asking me to fix the bugs of other teams, because he doesn't have the ability to confront others \- Behaves as if he grows because of my output, but not vice versa. \- Schedules tons of useless meetings. \- Probably not his fault, but work was pathetic. Just rote repetitive tasks and fixing bugs on a dead end project. I complained about it, but nothing happened.

Good manager \- Has strong technical knowledge. In fact, he's probably the best code reviewer in the complete engineering team. He spots several errors/flaws that none of us would've spotted. \- He takes up all the grunt work, making sure we're spending our time productively. For instance, there was a recent mandate that everyone should update the jira page about their work. He mailed us saying - "Here's the mandate. However, you guys can just carry on with your work. I know what all of you do, so I'll update it periodically" \- Generally doesn't say no to ideas. A few times it so happened that I disagreed on a particular idea. Our team is not constrained by deadlines, so he asked me to go ahead with my idea. A couple of days into the implementation, I realized why my way is bad, and how his is better. This is my first gig out of college, so this is not something a veteran might face \- No stupid meetings of any kind and No micromanaging. \- Makes sure I get good, interesting work. I once complained that I don't feel challenged enough. He calls me into the office a couple of days later, asks me to abandon the things I was doing and gives me a really interesting high impact project.

One sad part is that the compensation is low and he says there's nothing he can do about it. However, he tries to offset it by other perks like giving more vacation (we have a flexible vacation policy), sponsoring conferences that I want to attend, etc.

I think when a person is knowledgeble, and not insecure about his position, he becomes a better manager than the person who knows nothing and feels constantly insecure as a result.

</comment><comment><USER82> Here is one facet, your boss can be either:

\- An umbrella: Makes sure you and your colleagues are dry whatever goes on above them.

\- A funnel: Makes sure everything bad from above hits you in the head.

</comment><comment><USER83> They don't touch you inappropriately and have a healthy respect of boundaries not limited to personal space. Don't have a history of complaints of inappropriate behavior. Don't retaliate & gaslight for complaining about hostile work environments. Don't encourage mobbing & harassment especially among impressionable fresh grads/jrs. Don't pursue sexual relationships with direct reports/subordinates.

</comment><comment><USER84> In a larger organizational setting, your manager probably has a title that reflects their level and/or seniority, such as principal or general manager. Or at the very least they'll have something in their business card, like product manager of foo.

When you talk to your manager, are you consciously aware of their title? Do they speak to you with that clout? Do you filter what you say based on that?

</comment><comment><USER85> Your manager understands what you are doing and why.

Your manager removes roadblocks from accomplishing tasks.

Your manager finds resources from other teams.

Your manager complements and shares your accomplishments.

Your manager does not allow other teams or managers to pull you down.

You can communicate honestly and openly with your manager.

Your manager does not lie.

Also, this is kind of a tautology, but people are not leaving your team (excepting larger industry or company trends)

</comment><comment><USER86> Agreed with the comments about a good manager being at the service of the team, rather than vice versa.

I've had both in my past several years working, and the biggest difference to me is that you can tell that the good managers want you to succeed and go out of their way to _help_ you succeed.

The poor managers expect you to succeed and diminish you if/when you don't.

</comment><comment><USER87> I go to work for only two reasons:

\- to make money now

\- to learn new skills to make more money later at my current job or a future job.

As long as I have a manager that helps me with those two things as well as they give me a certain amount of freedom. I'm good.

The only appreciation I need shows up in my paycheck.

I don't care how great of a person my manager is, if they can't get me market rates, I am looking for a company that can.

<comment><USER88> I up voted this, because this is my experience as a manager of small development groups. No matter how much I mentored, blocked, told people leave when they are stressed, or just plain worked to make my devs successful, in the end it was give me more (money, perks, whatever), or out the door they went.

The lesson - there's no loyalty for doing well as a manager. It all comes down to money. Even if the environment and work are great, if there's more money elsewhere, you are on shaky ground.

<comment><USER87> Its not about being loyal to the manager. No matter how good you are, there is no such thing as the company being loyal. The company wants to extract as much value out of the employees as possible. Their ultimate goal is to please shareholders or investors. The company wouldn't think twice about laying off employees, or not paying market rates if they can get away with it.

Salary compression and inversion are real. A company is more than willling to pay market rates to get a new employee but barely give existing employees a cost of living raise. I judge my manager on how well he can push for compensation for me.

</comment></comment></comment><comment><USER89> Formerly titled "Three Signs of a Miserable Job": [https://www.tablegroup.com/books/signs](https://www.tablegroup.com/books/signs) Illustrates dynamics (on which managers have great influence) of a satisfying work environment.

</comment><comment><USER90> A good manager doesn't tell you what to do, but asks you what you need. A manager should be a facilitator, not a micro-manager. Provide you with the resources you need to do your thing. Juniors need more active guidance of course, but they should be getting that from seniors rather than managers.

</comment><comment><USER91> Project Oxygen is worth checking out. It was mentioned in "Work Rules" by Laszlo Bock [https://rework.withgoogle.com/blog/the-evolution-of- project-...](https://rework.withgoogle.com/blog/the-evolution-of-project- oxygen/)

</comment><comment><USER92> In my three decades of professional work I've had three excellent mangers. They all share one trait.

They place a high degree of trust in their workers, and (and this part is crucial) they have a good system to obtain workers who merit a high degree of trust and reject those who don't.

</comment><comment><USER93> > Overheard that people don't leave jobs, they leave managers.

FWIW, i have never done this. I've always had good managers, who i would happily work with again. I've left jobs anyway, because something about the work itself was intrinsically unfulfilling.

</comment><comment><USER94> There was this pretty good thread worth reading through: [https://ask.metafilter.com/300002/My-best-manager-did- this](https://ask.metafilter.com/300002/My-best-manager-did-this)

</comment><comment><USER6> Certainly when your manager knows that estimates mean estimates, not deadlines. But I guess that's the dilemma in false-agile fixed price big ball of mud consultancy business, you have to give a commitment.

Would appreciate any comments on this topic.

</comment><comment><USER95> It's absolutely correct. When people leave a job it's usually due to a bad manager which can be confusing because sometimes upper management will say a manager is great, but everyone below him thinks he/she is awful

</comment><comment><USER96> A great manager helps you to get the job done.

Input from customers at the right time.

Keeps the team together and customers happy.

Knows when the team must work uninterrupted.

Does her best to give you the best available workspace and tools.

The best managers are servant of both the customer and team..

</comment><comment><USER97> \- Arranges a good progression of projects that will be challenging but doable, lead to career growth.

\- Takes your concerns seriously.

\- Recognized your strengths and successes.

\- Gives constructive criticism tactfully.

\- Trusts the right people on decisions that affect the team.

</comment><comment><USER98> Think about it: managers are only something other managers create.

Nobody wants a manager.

You could be such a swell person, but nobody wants to work under somebody unless it's an apprenticeship.

Therefore, the best manager is one you barely know exists.

</comment><comment><USER99> Knows where you want to be in the future and does everything to get you there. If you don't know, they show you the options and give you a taste of different responsibilities.

</comment><comment><USER100> This guy gets it: [https://www.youtube.com/watch?v=oDsMlmfLjd4](https://www.youtube.com/watch?v=oDsMlmfLjd4)

</comment><comment><USER101> without reading any of the comments, i would say this manager actually cares very much about your personal development, this person has a good pulse on the company/product, this person has relevant experience where i can learn from, and this person exhibits fairness.

i'm sure this varies with the level of manager, for example, a vp's requirements versus a first line manager might vary alightly, but these are the generic ones.

</comment><comment><USER102> The best manager is no manager. If you must have one, then the second best manager is one who connects you with the right people and improves your career.

</comment><comment><USER103> \- Who is best to lead on this?

\- Do you need anything from me?

\- When can you have this completed by?

\- What are your thoughts?

\--

I.e. a good manager facilitates, helps you to become better, asks questions and is your most important ally.

</comment><comment><USER104> Great manager? Not sure, but some managers will take the best space in the office and some will take the worst. And it's not about the space.

</comment><comment><USER105> Good managers see you as team members instead of labor force. They ask for your advice and act accordingly to help you grow in your career.

</comment><comment><USER106> Be mindful of attribution error when working with a manager, whether in good times or bad. The situation (context) really matters.

</comment><comment><USER59> A great manager does a few things:

\- They help connect what you are doing to larger corporate goals.

\- They facilitate communication.

\- They help you get what you want out of the job.

</comment><comment><USER107> They fix bugs and leave you get on with the main job instead of delegating bugs to you

<comment><USER108> Do you mean that you do not consider bugs in your software to be your job to fix?

</comment></comment><comment><USER109> Those that help their team be a better team vs those that help their ego.

</comment><comment><USER110> Great Manager = you don't feel like moving to other job / team.

</comment><comment><USER111> When it feels like you're working with them instead of for them.

</comment><comment><USER112> people also leave jobs if jobs they are going to are more money. but yes as a general rule people leave managers or company cultures.

Even the best manager can only do so much if the company is awful.

</comment><comment><USER113> Well, if you don't know, chances are you haven't had one.

</comment><comment><USER114> I'm self employed so my manager is me. He's not a very good one.

</comment><comment><USER115> a good manager is concerned with you as a person, because if you do well, you will work well. a good manager is a people manager. sounds logical, but it's rarely seen.

</comment><comment><USER116> [https://en.wikipedia.org/wiki/The_One_Minute_Manager](https://en.wikipedia.org/wiki/The_One_Minute_Manager)

<comment><USER117> The idea that a company of any significant size can survive with a single manager, and that that manager might benefit from being having a small stature is laughable

</comment></comment><comment><USER118> Things 'Just Work' organisationally

</comment><comment><USER119> I talk to managers every day as a part of my free mentoring program for managers (info in my profile, although I'm booked till the end July), and I've spoken to 60+ people from 12 countries since this past February when I launched. Many of whom are from right here on HN! A few thoughts.

There's no universal rule to "what makes a good manager" because that's going to vary by team, company size, and culture. A flexible manager (but one need not be flexible to be great) can adapt to multiple situations where they need to be hands on with junior developers on one team, while simultaneously being the macro-manager for a senior team that requires blocking and tackling, not direct guidance. In other words, being a good fit for your team is an important place to start.

Another "universal" truth is feedback. That means demonstrating appreciative feedback very often, delivering coaching feedback as needed, and giving effective evaluative feedback on a regular (quarterly, semi-annually?) basis. This is the most common issue most managers talk to me about in my program, as they don't feel equipped to understand how to do each of those steps effectively. (Check out the book Thanks For The Feedback for more info on this)

Another universal truth is trust. You and your manager need to build a trusting relationship (typically this starts in 1:1s, and is why they are so critical 99% or the time), and it needs to be bidirectional. The worst advice you'll read on the internet re: 1:1s as a manager is that you should tell your team member "this meeting is for you, not me". In fact, "this meeting is for us" is the correct statement. Think about any healthy relationship you've had in your life. They are always bi-directional relationships, where each party is putting in as much as they are taking out.

One of the key things I also harp on is around being "energizing" as a manager. Jack Welch has his "4Es and a P" framework for what makes a great manager. One of which is "energizing". Whether it's by running a team meeting that helps you see your purpose, running a one on one that leaves you feel buzzing, giving you that spot on appreciative feedback that lets you know what you did matters... Each of these things helps to keep you engaged and energized as a team member. When everyone feels that way, and is in sync, great things can happen. Sometimes at a rocket ship company the progression of the business is enough to do this and mask bad managers. If you ever find yourself at a company that's struggling to grow, but your manager still keeps you engaged despite this, that's a great sign.

If you're a manager reading all of these posts and looking for help on how to build out these skills, my company runs a multi-week (2 hours every other week) remote cohort program to help you understand how to be an effective leader for your people. It's a great way to network, learn from experts, and engage that desire to be a better manager. Hope you check it out: [https://connect.eagerlabs.com](https://connect.eagerlabs.com)

</comment><comment><USER120> I had the best manager of my life recently, so I will try to list some of the things she did/was, all of which seem obvious in retrospect, but I have never seen another manager actually do them holistically.

1\. Knew the business logic. The role of a PM in my job is to get the BUSINESS requirements, and put them into a story. She took the time to get VERY CLEAR business requirements. (Yes, we are SCRUM, yes, we could tell her "that's not the best solution", yes we could change the plan). The problem is that most managers take "self managing teams" to mean "lol I don't have to do shit."

2\. BECAUSE she understood the business logic and roughly what we meant when we said SQL/K8S/RabbitMQ/backend/frontend, she DID NOT PRESS FOR DEADLINES. As opposed to a super senior manager I got placed under next who constantly asked me to give the exact number of hours when the pointed story would be finished.

3\. She did not throw all the blame on the team. She took personal responsibility for all the failures and said we did not plan it well. With that said, the team was endlessly loyal and went out of their way to keep her updated and do their work.

4\. Trusted us and FORCED us not to overdo it. Whatever magical world HN lives in, a lot of places have "stealth overtime" \- she avoided it like the plague. This also worked because she knew what everyone was working on and she knew we were using work time effectively. As a result, she didn't have theories about someone trying to slack off.

5\. Planned things she is responsible for planning: Deploys (after getting out feedack), talking to other teams, scheduling meetings with third parties, etc.

6\. Remembered "special occasions" \- never made a big deal out of it, never made anyone else go do something - you would just get a nice thing YOU like on your desk for your birthday. I know this is petty and trite, but because it was just there, and you KNEW she got 6 hours of sleep and still drove across the city to get your co-worker his favorite cake, it had meaning.

6\. When shit hit the fan, she worked OT with the rest of us - that way we knew she had a vested interest in avoiding issues. Most managers really do call you and go back to enjoying their day.

7\. This weird and usually a mistake, but I could drop my professional facade around her, and she never abused it to get info or figure out if "I am quitting soon, etc." But she never broke hers, ever, which, I guess, only worked because we somehow knew she was human under there.

Anyway, this post ended up being a rant.

\---

Edit regarding BAD MANAGERS: I think I am figuring some heuristics of bad managers as this spins around my head:

1\. Hypocritical behavior - specifically treating us as incompetent when there is blame to be placed, and as rockstars when there is work to be done. Can't have it both ways. 2\. Passive aggressiveness / failure to communicate. "Mr/Mrs. Manager is there anything I could do to help make your job easier." "No everything is great." Then it turns out that over 6 months, this particular manager hasn't said one good thing about anyone on the team and kept a calendar of the SDET's bathroom breaks, but never once did she tell him there was a problem. 3\. Emotions at work - specifically, a common trait I notice is management being emotional / expecting you to sympathize and then immediately calling you unprofessional if YOU share something.

I guess it all falls under hypocrisy.

</comment><comment><USER121> Time management.

</comment><comment><USER122> Here's some things I've picked up that might be useful. For context, I've worked roughly ~35 jobs since I started working (illegally) at 13. This includes all kinds of work including manual labor, food service, construction, sales, and dev/tech work currently.

Great Managers are almost unconditionally great leaders. At the core that usually just means they are well liked by everyone and well respected by everyone that works with them. The litmus test on this is to ask yourself who you "go to" if you have a problem, who you think knows the most about the stuff you are all working on and/or who could help navigate though things the easiest even if they don't know about them.

Typically, they trust you to contribute without observation or correction. This doesn't mean that they don't believe in improving the people they work with, in fact they believe the opposite. If they are looking to improve their people or their team they will do it in a structured, safe, methodical way that will help get the best results possible.

Great Managers are crafters of a great environment. They use their people to make a place that is: inspiring, motivating, resourceful, thoughtful, caring, safe... etc- in other words, they let build an environment to help people do the best work that they possibly can.

Great Managers also know a manager's tool box, but they are also selective of when to use the tools. This can be things like one-to-one meetings, "team building", or Awards/rewards, etc. (on the positive side) ...or on the dark side hard CCs, "performance plans", the full gambit of power moves, creating environments where it sucks to be a bad employee, etc.

Another secret about a "great manager" ... they almost always have another great manager next to them too (even if it isn't in title). This is actually part of the reason that Y/C prefers co-founders. Having one person with ultimate authority over a group of people is a bad ida. Great Managers know this and keep someone around them with equal stature so that you have the opportunity to go to different people with different problems, AND so you can disagree constructively.

They are also humble. The are accountable to the customer, to the company mission, to their boss (who might be the customer), and to their people. When things start going bad they accept blame first, and when things are going well they give the credit to who it rightfully belongs to.

Additionally, They work harder than their people. Why? Because it is a privilege to serve the people that work WITH them. They respect the opportunity that they have in front of them.

Lastly, and this is a big one for me... they are willing to get their hands dirty. The work that needs to get done is owned by them as well. Many times, these managers were really good at the work they were doing and leveled up because someone above noticed that they might be good at teaching people to do that thing. In other words... a lot of times they wish they could be doing the work that their people are doing, not glad that they don't have to do that work anymore. This exists because they take pride in their work, and thats why they have no problem getting their hands dirty or learning things that might help YOU do your job better. For a GREAT manager, there is no crystal palace, there is shit to get done, and they don't care if its them or you that gets it done.

</comment><comment><USER123> They accommodate your technical interests/desires and make sure that you have what you need to be productive. A good manager fights red tape for you and facilitates personal growth.

</comment><comment><USER124> The same as what makes a great spouse. No one knows. It's different for everyone. Not all work out. Some will be unhappy and leave. Even the best of people.

</comment><comment><USER125> That you never worry about them. You don't worry whether you're doing the right thing or not, or what they're reporting about you to others. You don't worry about their approval or whether they're going to accidentally create obstacles for your work. Due to circumstances outside of everybody's control, great managers may be forced to deliver negative news and have unpleasant conversations, but there's no part of that where you feel they might be hiding something or letting you down. Great managers function seamlessly with whatever you're doing as if they were just another part of your body. They're an extension and natural part of whatever you all are doing, not a separate entity that adds complexity, drama, and stress to things.

In that sense, great managers work for you, not the other way around. Yes, they might have to fire you one day because of budget cuts or some such nonsense, but you never doubt that they spend their time working to learn from their reports and remove obstacles for them -- most times without folks having any idea what they're doing.

ADD: If you're interested in learning more, a good book on teaming and how managers/leaders fit in is "The Culture Code"</comment>


Ask HN: RE-BRANDING... any advice? - <AUTHOR>

The time has come to rebrand my website printingfacebook.com. The name has done me well over the past couple of weeks, but It's got to change. For one because I;m getting ready to launch more products that go beyond facebook, (but still in social network print space). Also because my quick success will inevitably lead to a call from facebook's legal team.
This was a marketing decision to launch with. I figured if i ever got big enough for facebook to notice, then i'd think about this at that time... the time came earlier than i was expecting.
I was wondering if anyone had any advice for me. How to smoothly streamline to a new brand identity?
Any ideas or advice that will specifically pertain to my biz? I'll monitor here, so i can answer questions should they arise.
You can also reach me by email if you want to get in touch more directly or privately benjaminlotan@gmail
thanks! <comment><USER2> A few domain ideas, depending on the direction you want to go:

friendprint.com (available $7) socialprinter.com ($1,695)

You definitely need to get away from your current domain, that's just a lawsuit waiting to happen.

Domain search tool I like: <http://instantdomainsearch.com/>

Good luck!

<comment><USER3> Off topic: instantdomainsearch.com should be the model of what an "instant" site should be -

It doesn't get in your way and queries are prompt.

</comment></comment><comment><USER4> Does it have lots of backlinks/SE traffic? Might want to forward each listed page to the new domain if so.

</comment><comment><USER5> I'd suggest you to use trademarks in subdomains.

facebook.onmywall.com twitter.onmywall.com

</comment><comment><USER6> If you have SEO, do a _slow_ transition. Don't just put a 301 in place and assume it'll work. I did a transition once and then all the links dropped out of Google, and it cost, I don't know how much, but a lot of lost revenue. Re- write any SEO pages on the new site with different language (but the same keyword density and basic idea), change as many backlinks as you can, and have the old site's pages link to the new site at first. Once the new site is ranking on the frontpage, then maybe put a 301 in place and that should get you close to the top of where you were at. I'm all for fast action, but not on this particular score. Transition slowly. Good luck.</comment>


Top military official: WikiLeaks founder may have 'blood' on his hands - <AUTHOR> http://edition.cnn.com/2010/US/07/29/wikileaks.mullen.gates/index.html?hpt=T1#fbid=j7dFtjG4AKx <comment><USER2> Talk about fear mongering...

 _They do not represent official positions or policy ... the battlefield consequences of the release of these documents are potentially severe and dangerous..._

So.. they _do_ represent the official positions and policy?

</comment><comment><USER3> Lol at an organization that terrorizes and murders people every day whining about a little sunlight shed on their activity.

</comment><comment><USER4> And this was said by someone who definitely has 'blood' on his hands?</comment>


Why you shouldn't be using S3 or Google App Engine - <AUTHOR> http://www.electricmonk.nl/log/2008/06/24/why-you-shouldnt-be-using-s3-or-google-app-engine/

<comment><USER2> This link is not working, maybe they should use EC2.

<comment><USER3> or it could that the /. effect produced by an hacker news is now sufficient to swamp dynamic blog software that has to generate each page from a database...</comment></comment>


If you had a choice, which would it be: C++ or Java? - <AUTHOR>

Hey Hackers, here is my quandary.  I have to make a choice between C++ and Java as the next language I learn at school.  If you were me, which would you select?  Why?<p>My career interests are mainly in data analysis, with perhaps some financial applications later on.  Which of these two languages would give me the most traction? <comment><USER2> I happen to work for a company in the financial sector.

Our developers use Java (mostly).

Our research department uses whatever they are most comfortable with for research, but the result of their research is coded up in C++. If we had to do it over, we'd probably do everything in Java. Misc. notes:

Personally, I am WAY more productive in Java.

I supplement Java with Clojure.

I find the performance penalty for using Java is pretty-much negligible. It's always _how_ you do it that matters more than _what language_ you do it in. Don't use Java Generics for number crunching though... use a dedicated primitives collection library like Colt.

Java and C++ are quite similar in _some_ respects. I would say though, that it's easier to go from C++ to Java, than from Java to C++.

Best C++ books:

 _Accelerated C++_ by Andrew Koenig and Barbara E. Moo

 _Effective C++_ by Scott Meyers (make sure you get the 3rd edition)

Best Java books:

 _Effective Java_ by Joshua Bloch

 _Java Concurrency in Practice_ by Brian Goetz, Tim Peierls, Joshua Bloch, and Joseph Bowbeer

If you have to use C++, start using the Boost C++ libraries early on. You can learn a great deal just by _using_ the Boost libraries, and reading their documentation.

<comment><AUTHOR> Thanks for the book tips! These will help after I make my choice.

How about IDEs for each?

<comment><USER2> Oh man.... the tooling situation....

Eclipse for Java.

Visual Studio for C++ on Windows. Netbeans everywhere else?

I am constantly dissapointed with my tools.

(edit) ViEmu for Visual Studio is excellent. I'm not sure if it's Eclipse or viPlugin for Eclipse, but one of them is laggy.

<comment><AUTHOR> I was poking at Bloodshed Dev-C++ to test it out. Seems pretty good. Any experience with it?

</comment></comment></comment></comment><comment><USER3> I think Java will help you focus on more high level stuff than C++, which is a good thing. For instance, you will spend less time debugging subtile C++ corner cases.

Also, a lot of C++ "good practice" are "built in" in Java. For instance, you won't have to use #ifndef #endif or to declare your function in a header file. So, again, I think Java is a better choice since, if you have to learn and use C++, you will already know the good practices.

</comment><comment><USER4> My POV (I don't have any special insight):

Big users of C++ are more tech-oriented. These are the people that would use something better but they need the 2x speedup, because it's a major competitive advantage in a mature pure tech firm.

example: google.com

Big users of Java are more enterprise-oriented. They use it because it is proven, and they can hire programmers for it, and they can manage big projects with it.

example: SAP.com

IMO: chase the $$$, learn Java. But if you work hard you can learn the basics fast, and keep learning other languages. Once you know many languages and the paradigms behind them, any given language is just a point in "language space" and the details of the language are obvious, because they couldn't be any other way.

<comment><USER5> Except Google is a HUGE Java user.

They've even release a large amount of libraries developed internally here: <http://code.google.com/p/guava-libraries/>

</comment></comment><comment><USER6> If you want to do quant finance as a career. Learn C++. It is the industry standard for quant work.

</comment><comment><USER7> Between C++ and Java? I would open a restaurant!

Seriously: of those 2 choices, I would tend towards C (more than C++). I would prefer more choice, of course. Current Lisp compilers are very efficient.

</comment><comment><USER8> In addition to the point about chasing the $$$ by learning Java, I would definitely call your attention to C#. C# is based on C++, starting to pick up speed (think Sharepoint), and developers are coveted right now for the small but growing market.

<comment><USER2> How easy is it to use C# on a _(shudder)_ Oracle Solaris box?

(edit) In all honesty, skennedy makes a very good point. C# does seem to be gaining popularity. (And yes I'm aware of the Mono project.) Frankly, I just don't trust Microsoft. There have been compatibility issues with migrating between early versions of the .NET framework, and the end of Visual Basic left a bad taste in many mouths.

<comment><USER8> If you are using C#, you are using a Windows box. But you can tie into Oracle using the ODBC connection.

Maybe it depends on your specific needs, but I am not sure why you would want any products you develop (regardless of the programming language) to share server resources with the Oracle database. My teams always separate the product load across servers and tiers. If you can afford the $20,000 per processor for Oracle, hopefully, you have multiple tiers to put your code elsewhere.

<comment><USER2> I simply meant that Solaris is now an Oracle property - not that they're Oracle DB boxes.

<comment><USER8> Ack. Still trying to get used to replacing all mentions of "Sun" with "Oracle". Sorry for the misunderstanding.

</comment></comment></comment></comment></comment><comment><USER9> C++ is really an expert's language. It should be something you learn after several other languages.

If you don't know Python, learn it. Then learn plain C, then perhaps Java, and only C++ after at least those 3.

<comment><USER10> I disagree. It was talk like this that convinced me to learn a couple of other languages when I was a kid before jumping in to C++, and I regret not going straight for it. C++ is not difficult to learn, but once you have it down you'll have a better understanding and appreciation of all the higher level languages that abstract the hard stuff away for you but sometimes perform like crud.

</comment></comment><comment><AUTHOR> I am seriously bummed by my lack of choices. As always though, I want to make the best of it.

If I said that ultimately I wanted to use either language for distributed computing applications, which then?

<comment><USER2> For distributed computing: Java.

<comment><AUTHOR> Any examples come to mind?

<comment><USER2> Well, maybe I'm not the best person to ask, and my answer was a bit off-the- cuff. The best answer is probably more like: _it depends on what you're doing_.

But, I just find that Java makes life easier. For example, you don't have to worry about endianess issues. You don't have to worry about portability (as long as you can run a JVM). You can serialize objects across the network easily, and if you want to do stuff like RPC, there's Cajo.

On the C++ side, you have stuff like LAPACK? Though I'm not too sure about this stuff...

Also, Google's _Protocol Buffers_ project is quite helpful in passing data around. (C++, Java, Python, in any combination)

</comment></comment></comment></comment><comment><USER11> Since you trying to learn something as apposed to just get something done, go for C/C++.

C++ is closer to the machine. You'll have to worry about things like memory management, pointers, sigfaults, etc - a great learning experience.

After this you should be able to pick up Java no problem. Although if you want to be really productive or hate typing, Id pick Python.</comment>