Ask HN: How to deal with incompetent people - <AUTHOR> Long story short: I've been working in this position for a couple of years with a colleague at the same level as me. We both lead a few product team giving them advice on technical implementation, best practices and architecture.
I've been doing a lot of work to clean up the debt that was accumulated and, meanwhile, I improved the reliability and the efficiency of the infrastructure. I wrote common components and library to avoid duplication and shared it with wiki pages on how to implement certain things correctly.
On the other hands, my colleague, is more focus on building relationships and acting like he's the manager even tho he's not. In a couple of circumstances he event tried to give me orders which is not what he supposed to do. In meetings with our manager he brag on stuff that I did sharing it as a "we did", while when he does something alone (which most of the time asks to me as well) he would say "I did".
Most of the team members know it as they always asks technical informations to me. Most of the new architectural design has been done by myself same as the library that they use daily bases.
This kind of behaviour was ok at the beginning but since our boss left and he got promoted as manager is not sustainable anymore.
So here I'm asking for some advice. I started to look for a new job already, other than that I can't find a way to make my life easier has it might required some time (European market is not that good) and I got a break to travel a bit and clean up my mind. <comment><USER2> I never heard anything about incompetence in your description.

Technical debt can build up for myriad reasons not related much to competence.

What I would suggest is not to approach this situation as how you can wall off or otherwise attack this person but, instead as a life lesson on the importance of interpersonal relationships and politics.

Politics are a fact of life. Humans are social creatures. All things being equal, and some ways even when not equal, those that are proficient in interpersonal relations will come out ahead. Grok that fact. There is no escape from it.

Good. Now that unpleasantness is out of the way. On to how to cope. Scratch that, /thrive/, in an environment of people doing people things when you are a technical person.

First, information. That is the lifeblood of many systems and politics is no different. Simply make sure important information is conveyed to the right people at the right time.

You use the example that this fellow was able to take credit for your work. Had you passed the information of what you were doing and why it was important to the right people, he would have simply looked foolish to try to take credit.

It can be uncomfortable, to toot your own horn, but it is necessary. Additionally, it can be important to the organization. Assuming you are creating value, it is important that decision-makers know that so they can make the correct decisions. Don't feel bad. Toot away.

Building relationships is critically important in almost every human endeavor. Get good at it. It is a skill like any other.

The target of your annoyance became a manager because he built up those skills and made it known.

Build your skills and make it known. It is just that simple.

<comment><AUTHOR> Yes I agree with you, the point is that being technical person doing a technical job I thought that the value that I create will talk more than the nonsense of some people. As I like to act first and share later, but there are people who talk but don't know how to act properly.

I can build this skills as you said, true, but in my position now it would be impossible to get a promotion as the available spot has been taken already.

<comment><USER2> >I thought that the value that I create will talk more than the nonsense of some people.

Nope. Silence is always less noticeable than noise.

Evil prevails when good men do nothing. Also, nonsense fluff prevails when good work isn't spoken of.

You have a professional duty to make sure nonsense is crowded out by important information. No one is going to do that for you.

Follow the rule of three...tell people what you are going to do and why it is important. Tell people what you are doing. Tell people what you've done. And not just anybody; decision makers.

It is no one else's job to tell people who influence your life of your good works.

No one has time to dig through everything you might have done to hold up the shining examples of your work. And now you have someone above you that might actually be interested in seeing it kept buried so it is even more critical that you do that interpersonal information transfer yourself.

You are a business, and like a business there is no worth in a product that the people who are in a position to buy don't know about. You're going to have to market and sell your value to the people that are buying. All of the time. Make it a habit. Your co-workers are competitors...don't expect them to sell your product for you. (though, keep in mind, part of your value-add is cooperating in your value-add chain so don't take this analogy too far).

Honestly, this is stuff that took me way too long to learn. They should teach it in engineering school. Hell, they should teach it in secondary school, for that matter, since there is really no one who is not running a business even if it is a business of one.

<comment><USER3> Cannot agree more, this is a life lesson that should be taught in school. Especially in medium/large companies where you got rewards like promotions, bonuses and so on, then your colleagues are competitors. Pretty much like politics, the one over promising and under delivering wins over the quiet one that delivers.

<comment><USER4> exactly how much to promise is an art form

over promising and under delivering isn't a sustainable model

under promising too much and you won't get the chance to deliver

there's a sweet spot somewhere in there, which can be sometimes tricky to find

<comment><USER5> Is it a poem or you're just missing capital letters and punctuation?

<comment><USER4> just missing capital letters and punctuation (maybe stream of consciousness posting isn't the way to go)

<comment><USER5> Are you aware that it's difficult to get your message from such form and some people might ignore your posts?

<comment><USER4> I guess that's a risk, opaqueness was not my intention, thank you for the heads up.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Bluntly? You're letting anger and resentment cloud your judgment. Your colleague is clearly not incompetent. He just has different goals from you. He probably wanted to shift from a technical role to a managerial role, and he succeeded. That's not incompetent! And that's probably because he recognized his talents are better with people than with technology. So be happy for his success, rather than resentful of his perceived incompetence.

It seems to me like people skills are a weak spot for you. That's not unusual in our industry. But leading and managing people, sorting out the relationships to make large project work, that work is just as essential as technical skills are. Nothing big ever got built by a bunch of grumpy, resentful introverts.

Rather than hating his "incompetence", try to recognize him (and others like him) as valuable allies. Find ways to work together, to let them deal with the frustrations of relationships, and let you focus on the technology. Create a mutually beneficial partnership. If you can't learn to do that, to trust the "people persons", you're going to find yourself in this situation over and over again.

<comment><AUTHOR> > It seems to me like people skills are a weak spot for you.

That's not true as I always hangout with the people in different teams, and, we get along pretty well. I just don't do kiss-ass to my boss and I don't take advantage out of situations.

> Find ways to work together

We worked together for two years on daily basis. And I overcome a lot of bad behaviours but I can't stand to report to him

<comment><USER7> This is not likely to work out well for you. You disliked the guy when he was just your coworker, and now he's become your manager and you have this seething resentment ("I can't stand to report to him"), which I'm sure he and others can see. It can be difficult transitioning even to having a teammate you like become your manager, and the fact that you dislike him puts a 10x multiplier on that difficulty. A situation where you resent, distrust, and dislike your manager is not sustainable and in a lot of companies will end with your removal if you can't truly get over it. Assuming that you can't see yourself working happily with this guy as your manager (which, to be clear, I think is perfectly reasonable on your part), you could try to transfer to a different team if your company's big enough, but I'm guessing most likely this will end with you leaving the company either on your terms or theirs.

</comment></comment></comment><comment><USER8> It's probably too late to do anything about this job. This person has already taken advantage of you and will continue to do so. Try to transfer out from under him to another group. If you can't, find a new job. This guy will continue to take credit for your work and will probably resist promoting you so he can continue to do so. In the future, don't let this happen. As other posters have commented, you should have either spoken up at the meetings or complained to your old boss privately. Many people have more social skill than technical skill. This situation will come again so learn your lessons. If someone is asking about your status right before a meeting, that's a good sign he's going to try to take credit for your work. You can use it to your advantage, though. For example, keep something in your pocket. Don't tell him an important detail and then interject with it at the meeting. As an ULPT, tell him something that's wrong so he makes a fool of himself. (He'll accuse you of saying it, so tell him he misunderstood.) People like this are playing a game with you. Don't ignore it; you must play as well.

</comment><comment><USER9> I toiled like you seem to be for a long time, cleaning up technical debt, and writing well-architected (but very time-consuming) code. I learned a few things (things I have to remind myself of often, when I too feel the anger rising at people who don't place the same priority on those things):

The business is almost never paying to you clean up technical debt. They are paying you to generate revenue (or save costs). Period. It could be the best architected system in the world, but if it takes 4x as long to build, and the "quick and dirty" version can ship and generate revenue earlier, then that is the way the business will want to go (even with an elevated error/loss rate). My takeaway: If you do not intimately understand exactly how what you do each day makes the business more money, or saves the business more money, then you need to pause and figure that out.

Nobody gets credit for building a system that never goes down. It does not speak for itself (much as I would like it to). As others have pointed out, it's critical to communicate the value (see point above) of what you are doing, and communicate it to the people who matter.

Dealing with Humans (incompetent and otherwise) is actually what most of us get paid for (or at least it's a big share of why we get paid). Dealing with bureaucracy, red tape, incompetence, things taking too long, etc... Sometimes I wonder why I have to wait for others who are slow, don't they realize how much money is being wasted?! But it's true, the human component of our jobs is the main reason why we haven't already been replaced by others/computers. Relationships trump even adding business value (point 1 above): if you are difficult to work with, but add value, you will still be marginalized (or even let go). However on the flip side, if you are great to get along with but do little-to-nothing, you may not thrive, but you will survive.

<comment><USER10> There's so much wisdom in the post.

>The business is almost never paying to you clean up technical debt. They are paying you to generate revenue (or save costs). Period.

So true. Once you're in enterprise nobody cares that you wrote the connection pool yourself (which I did and nobody gave a darn). I did 5 years in enterprise and decided that was enough for a lifetime.

>Nobody gets credit for building a system that never goes down.

This happened to me. I designed and wrote a subsystem that is used by every GM dealership around the world and that thing never went down meanwhile my colleagues project was always down yet folks from the other team were the ones that got promoted.

<comment><USER11> Probably made it look too easy. That'll get you nowhere.

<comment><USER10> so true lol.

</comment></comment></comment></comment><comment><USER12> The time to speak was when the liar was claiming someone else's accomplishments - to contradict them clearly and immediately. After that it's much harder to recover.

</comment><comment><USER13> Others have said this person is competent and meeting his personal goals: building relationships and successfully evangelizing your department's work. I agree. He's not incompetent. He's just not a technician, and you are.

You have the makings of a fine partnership here, that uses your strengths and his to get things done. Don't forget that complementary talents and work styles are generally good. You are already the go-to guy for tech questions. He can be the go-to guy for relationship questions. SOMEBODY has to answer the questions, "how do we get whatever in the budget?" or "do you know anybody at our customer Initrode?"

But, this person has some things to learn about taking and sharing credit. It's up to you to give him appropriate feedback. Let's say he takes credit for something he personally did not do. Here's what you do:

1\. Cool off if you're annoyed.

2\. Speak to him in a place where nobody can overhear you.

3\. Ask him to listen to everything you have to say without interrupting.

4\. Describe, with particulars, the unwanted behavior. "Yesterday, in the team meeting, you said 'WE successfully framised the zumbinator under budget and ahead of schedule.'" (Don't generalize: don't say "you always take credit" or anything like that.)

5\. Describe the behavior's effect on you. Speak for yourself only. "When you said 'we,' I was uncomfortable because I know you personally had nothing to do with that project. It sounded to me like you took credit for work you did not do. " (Don't say "the team gets annoyed" or anything like that.)

6\. Ask for a change. "In future, please keep in mind that people who work hard on projects deserve credit for them. When you announce an accomplishment, please be careful to give credit to the right people."

7\. Say why: "Personal pride in good work done is very important to me. We have a good partnership here. If you give credit to the right people we'll be even better. Thanks for listening."

8\. DON'T expect him to immediately smack his forehead and say, "Oh I have been a fool. I'm sorry, I won't do it again." It takes people a while to absorb "constructive" feedback.

</comment><comment><USER14> Front running news is a standard play.

The line for me has always been lying and sabotaging others, but I've found that even this sort of honesty gets you blindsided by those who don't share it. You don't anticipate it when you aren't in the habit of doing it.

As a thought experiment, try to re-imagine the idea of honour as a luxury, where people raised to value and expect it have been saddled with a privileged misapprehension that they do not have the power to enforce on their environments.

Viewed through this lens, an expectation of honesty and relationships with principles and interactions according to rules is an artifact, if not the definition, of a poor education - one that does not equip them to succeed in organizations that have optimized this costly luxury out.

Ending this thought experiment, consider how someone without that luxury and little exposure to it might operate, and what it might mean if to succeed, you had to leave a luxury you took for granted from a former life behind.

My recommendation would be to grieve it briefly, look forward to a time when it doesn't cost you dearly as it has, and then move on.

</comment><comment><USER15> Let me start by pointing out that, based on your description, your colleague is not incompetent and your colleague technically did not do anything wrong.

Is it wrong to say "we did" for tasks given to your team as whole? No, because after all everything is team's effort. At the same time, it is also not wrong to say "I did" when it is indeed only your effort alone. It's just playing with words for one's own gains.

What is very apparent, however, is your lack of confidence and interpersonal skills. You should talk to your manager (or skip to the next level) to assert the relative contribution between you and your colleague, based on hard evidence (git commit, wiki edit history, interviews with other teammates). Also you should do it as soon as possible after your colleague plays the word game while the manager for both of you still have fresh memory.

But now it might be too late for any of these. Move on to another team or another company.

<comment><AUTHOR> > technically did not do anything wrong.

I didn't share everything that happened in two years time but just some vague summary. Is hard for someone that does nothing to do something wrong. In all the meetings we had his first thought was "let's find an open source alternative that does that for us" even in some highly customisable and domain specific solution that won't be available in GitHub for you to use. Or not any "how to do ...." search in Google can solve.

Yet, after more than two years, is still have lacks on how our infrastructure and the application works. And he still propose useless open source or SaaS solutions that don't fit at all our usecase because he doesn't even know what the applications do.

</comment></comment><comment><USER16> How come people don't know what work you are doing at the company (thus allowing your colleague to take credit for it)? That's probably what you should try to address.

I'd start by writing emails detailing such or such feature you are working on, how it improves the system, etc. Maybe ask for feedback, or ask general questions to the business owner. Maybe suggest using some issue tracker where you could document over time what you are doing via comments, issues, etc. I'd expect your colleague might be the kind to distort truth, so such record is a good point of reference to set things straight.

Not only that would be good for you, since people will know that you are improving the system, but it will be good for the company since they'll know what's going on. They are lucky you're actually doing your job because another employee could have been slacking off and they wouldn't even know it.

</comment><comment><USER10> I worked at a fortune 500 where IT was a support role and we had lots of people who were not that technically proficient. I really did have to deal with people who were incompetent programmers. Rookie mistake all over the place. Global variables in JavaScript. Check. Not using version control. Check.

What you describe is not incompetence at all. It just sounds like this person has aspirations for management and you don't. Personally, I believe that it's best to lead from the front meaning that one should demonstrate to the people he/she is trying to lead that one really knows their stuff.

That being said, it sounds like now this person actually is responsible for managing you now so it appears their tactics paid off. Unless this person is asking you to write bad code or implement designs that don't make sense, there's really no issue other than your resentment towards this person. you got to let it go. That stuff is poison.

</comment><comment><USER17> Since it seems you must work closely with this colleague, perhaps you could look for opportunities to improve together? Maybe taking a training course or attending a talk together or as a team? Maybe you could even give an internal talk on an area you feel is important that they could benefit from?

I would also be careful to assume that your colleague is incompetent. Perhaps the two of you have just very different styles. I once worked with a "solution architect" who would over-engineer every project. Even the smallest utilities would become a "system" with lots of moving parts. Management lauded his technical abilities, but those who later had to maintain these "systems" he created were not as impressed. I could see how he might consider some of the other members of the team "incompetent" because they did not work in the same way.

</comment><comment><USER18> This is of course only your side of the story but it sounds like he's way better at office politics and elbow tactics than you are. When you were at same level in the org I would have just cut him off from the critical information flow and communicate directly to the superiors. Now that he's your superior you cutting him off can backfire where you're the one causing the trouble and not being a "team player". Anyway, you can bet that he'll continue to take the credit of the work that his team will be doing, fast forward 10 years and he's probably a C level exec while you're still a SWE. Just the way the world works.

My advice is to a) leave asap, b) simply ignore him as much as possible while you're stuck there.

</comment><comment><USER19> In response to/summary of some of the other comments, to keep it brief:

1) Your colleague is not managing. They are politicking. A good manager gives credit where due and listens to the people doing the work.

2) You don't want to work in a culture that rewards politics over solid engineering. They need to coexist, by staying in their own lanes.

3) It's too late with this role. Move on and bring these lessons with you.

The alternative is a fairly ugly and costly series of discussions and confrontations with the company during which you will need to make the argument that what you say is happening is happening and you will need to change the company culture along the way in order to win those battles.

Not worth your time or energy.

</comment><comment><USER20> Think of yourself removed from the situation, perhaps think of yourself meeting these same people in another context, and realize that it's the time and the place, rather than the people, that distorts things enough such that you are in conflict.

For a long time I thought of such people as my enemies. But it is the context that makes them so.

A lot of them may not have the maturity to come to these conclusions, and some folks on the periphery may take their side too. That's OK. You know the truth for yourself.

Change jobs if you have to. It's not great to keep working for people who hold up these illusions.

</comment><comment><USER21> It seems like you have a few problems: 1\. Doing more than your role calls for and not getting recognition 2\. Reporting to somebody who you don't trust 3\. You want to keep coding/architecting. The next promotion requires pointy hair

I see 2 solutions: 1\. Try to work with the company to come up with a solution. Make sure the people higher in the management chain know you're unhappy. Many companies really don't know what to do with senior/lead devs. Often the only way to advance is to stop coding, which of course is the whole reason you were valuable to the company in the first place. If that's the case where you are, consider talking to some decision makers about it. Frame it as "I like it here and want to stay, but my goals are incompatible. I'm producing more and more value for the business but there's currently no way for me to advance my career without setting aside the skills I've spent so long honing. Help me to find a way to meet my goals here." Try to talk them into creating a position for you that formalizes your role as a technical leader and gets you out of this person's reporting chain. Either they've been paying better attention than you think and they'll work with you to get you to stay, or they're clueless and have no idea what you're doing for the org. Either way, at least you tried to do something and you know where you stand. 2\. Quit. 3\. Deal with it (not recommended)

</comment><comment><USER22> I would like an answer to that too. I'm the youngest member of my team so the older more 'experienced' teammates are really good with politics.

We have a new project coming up and I basically was the one implementing the initial architecture, I showed them how to use the linux terminal, gitflow.

I am the dev with the fewest number of bugs reported, they are always on meeting about issues. They take the most visible, interesting features.

Yet during meetings, people talk to them more because they are older, so they basically take most of the credit.

What should I do in that case?

<comment><USER23> Divide et impera, I'd say. Get a backer, someone that sees your values: your manager, your manager's manager, one of the senior devs. If you have 3 people in a room at work, there's bound to be at least 2-3 (hidden) conflicts. Figure out where they are and benefit from them: get your backer to help you with your task and when you present it, present it as being team work. While you're the person actually presenting. Your backer will... back you and you'll be able to stay a bit in the spotlight and you could use the exposure.

Or just find a sane work environment, which one is easier.

</comment></comment><comment><USER24> I am a little late to the conversation, though want to share some quick thoughts here.

On the one hand, I understand why you this situation makes you unhappy. On the other hand, I want to offer a different perspective. Based on your description, it sounds as if the two of you could form an excellent team! You have the technical know-how and drive, he has the relationship building and political skills. Perhaps you should team up with him and make him your advocate for career advancement - he at least appears to be good at it. Never forget that advancing one's career in a company is NOT a zero-sum game!

Also - when a manager, whether or not he has the title, says that he did something, or that he will do something, in stead of taking credit, can also signal acceptance of accountability. In other words, if a deadline is missed, or a system breaks, etc, he will take the flack. Perhaps this is something you need to clear out with him directly.

Assuming that you enjoy/prefer the technical work, aligning yourself with him might be a match made in heaven. You continue to make him look good and he makes sure he gets you regular raises, progresses your career, gives you time off, sends you to conferences or training courses in which are interested, gets you bonuses, etc., etc.

</comment><comment><USER25> You talk about not getting enough credit but want to be a manager. It's not a good trait to have as a manager and you will suffer even worse.

A new shared dependency is worse than duplication. Sometimes developers get carried away about doing it the right way and don't understand the trade-offs you need to do to make it tick. FYI - I am a fully hands-on manager.

If you truly aspire to be a manager you need to understand that tech side alone doesn't cut it.

<comment><AUTHOR> It was required by our ex-manager and director to do so. As we were re- inventing the wheel in any application. If you're a fully hands-on manager you should understand the value of having strong common components that can be plugged in an out.

If you don't think so, just use a plain language without any framework, module, library or third party component and let's see who target the release date first.

We are paid not to build beautiful or robust software, but, first, to deliver faster and without headache. Decoupling stuff and avoid redundancy is a huge benefit and we experienced it dropping down the delivery time by at least 20%.

<comment><USER25> You are missing the point here. No one is doubting the usefulness of reusable code or common components.

Its about developers spending time on what they think needs to be refactored due to the engineering itch on an already functional and maintainable code. Most times by doing it they can be introducing instability to the whole system. In a larger code base with handful of engineers and teams it becomes a bottleneck to make quick changes since it can break others stuff so too much interaction and policy around it and so forth.

</comment></comment></comment><comment><USER26> I don't think your colleague is incompetent. Instead he has a better understanding of the reality of a company than you have.

My advice is that you learn the political game. Otherwise you have a lifetime of resentment and disappointment ahead of you.

You don't need to use politics to do evil things. But you need to understand how it works and protect yourself. Nobody gets ahead by just doing good work.

</comment><comment><USER27> Why was it wrong to promote your colleague to manager instead of you?

You did technical work, but your colleague build relationships and manoeuvred politically.

So from what you're saying, your colleague was a better choice for management than you. Because management isn't really about having technical skills, even in tech, it's about building relationships and getting the most out of them while you hold a steady course through corporate politics.

I mean, you didn't even speak up for your achievements when you felt they were being stolen. And now you can't come to terms with a new management structure. How do you expect to handle a management meeting?

That's a little rough, and I am sorry, but technical skills isn't really useful above technical leads, and those guys/girls rarely have responsibilities outside of technical direction.

I mean, do you even want to spend 60% of your time motivating other people, dealing with their problems, resolving their conflicts and helping them improve? Never writing another line of code? Because the other 40% will be spent in spreadsheets and meetings.

</comment><comment><USER28> > he brag on stuff that I did

> when he does something alone ... he would say "I did"

> he got promoted as manager

Act like the stereotypical manager, get promoted to manager.

<comment><USER29> I mean, he's already functioning at the level he is aiming for, so might as well make it official.

</comment></comment><comment><USER30> It can take a while in an organization before people learn whether someone is really competent; especially if as you say the individual in question is particularly good/charming at convincing others that they are effective or a necessary part of the org.

If you trust your employer and management chain enough, then you can use the normal reporting loop to file concerns and notes along the way - just try not to get emotionally involved as it could become difficult to separate your observations from your personal opinions.

Even more so don't let this person pressure you or change your decision-making in ways that could undermine your position.

And certainly, if the organization fails to take care of things, then it may be time to move on and find somewhere more progressive and healthy. It's the sign of a failing environment if it can't identify and deal with individuals who claim overdue credit by using others' contributions.

</comment><comment><USER31> Some great advice already in this thread.

To add on to it

I'm reading that you don't like your new manager. 2 option s are to go above his head and become his boss or find a new job

If you decide finding a new job is your move then I recommend using some of the advice here to _sell_ your accomplishments and ability to lead to acquire the position and authority you want.

Politics do happen but there are people who have the necessary "no bullshit" political attitude that keeps others in check. If you are that person then get the authority to execute that prerogative and improve people's lives.

Tech culture tends to forget the interpersonal side of careers which is critical for advancing goals.

Have you taken the StrengthsFinder assessment before? [https://www.gallupstrengthscenter.com/](https://www.gallupstrengthscenter.com/)

</comment><comment><USER32> Read the Dilbert Principle. If you are in too much of a hurry here is the Wikipedia summary of it. [https://en.wikipedia.org/wiki/Dilbert_principle](https://en.wikipedia.org/wiki/Dilbert_principle) The situation seems completely unfair but you need to move on, life has some sucky points sometimes and a magic fairy isn't going to come down and fix things and set them right. I suspect talking with the management will only make things much much worse. You look much better to an hiring company if you currently have a job. Put your resume out and when a good offer comes in jump. Do not let the fact that you did great work and an idiot got promoted suck the life out of you.

</comment><comment><USER33> The one thing you probably haven't been doing is having friendly work-oriented talks with your boss. A couple of times a week you should have been raising some easy issue just as a "heads-up" so the boss is up to date.

The idea is to break down the social barrier between you two and make sure he knows you, feels relaxed around you, and knows you're competent. A related important goal is to make sure the boss knows that you two can work together as near-equals as part of a team. That's what being promoted really means, from the boss's point of view.

You've run into a colleague more of a predator than an engineer. I've also been pushed out this way and was foolishly resting on my technical laurels.

</comment><comment><USER34> Reading your post, the only incompetence I see is your management. So, to deal with that I have some suggestions.

First off, again, your manager failed you. They should have known who was doing what and who wasn't. There is simply no excuse for that. That is their job.

Second, what you should take from this is make sure you have constant conversations with your manager(s). If they're not doing their job, do it for them by initiating these conversations. Tell them what YOU have done both individually and as a team member. Don't be negative. Even when teammates fail you, find a way to be positive. That may just mean that you leave out the team part and focus on your individual part. This cannot become a habit, however.

</comment><comment><USER35> I've been in a similar situation and can relate to most of what you've described. In my case, I pointed it out to upper management multiple times but they failed to take action. I left the organization eventually.

<comment><USER35> To add to this, reading your post, I was actually surprised to see that someone else is in a pretty similar situation. In my case, I felt the other person was really a toxic element and did my best to point it out to upper management, with concrete examples and validation from other team members. I rarely faced disagreement in any of these discussions with upper management but alas they failed to take action. I came to the conclusion that if an organization is incapable to weed out toxic elements despite substantial evidence, it's going to only get worse from here and that it's best to leave the organization as soon as possible.

</comment></comment><comment><USER36> +10,000,000 the comment below.

If you feel you have not received recognition or reward in proportion to your efforts while in the employment of this company, its time to 1) start looking elsewhere for an environment more in sync with your own personal values and 2) accept that for >90% of all economic interactions, perception = reality and adjust your attitude accordingly.

"clavalle 1 hour ago | unvote [-]

I never heard anything about incompetence in your description. Technical debt can build up for myriad reasons not related much to competence.

What I would suggest is not to approach this situation as how you can wall off or otherwise attack this person but, instead as a life lesson on the importance of interpersonal relationships and politics.

Politics are a fact of life. Humans are social creatures. All things being equal, and some ways even when not equal, those that are proficient in interpersonal relations will come out ahead. Grok that fact. There is no escape from it.

Good. Now that unpleasantness is out of the way. On to how to cope. Scratch that, /thrive/, in an environment of people doing people things when you are a technical person.

First, information. That is the lifeblood of many systems and politics is no different. Simply make sure important information is conveyed to the right people at the right time.

You use the example that this fellow was able to take credit for your work. Had you passed the information of what you were doing and why it was important to the right people, he would have simply looked foolish to try to take credit.

It can be uncomfortable, to toot your own horn, but it is necessary. Additionally, it can be important to the organization. Assuming you are creating value, it is important that decision-makers know that so they can make the correct decisions. Don't feel bad. Toot away.

Building relationships is critically important in almost every human endeavor. Get good at it. It is a skill like any other.

The target of your annoyance became a manager because he built up those skills and made it known.

Build your skills and make it known. It is just that simple."

</comment><comment><USER37> I face this situation everyday after joining my current company. It can be disturbing and counter productive. My manager is non technical, this is the root cause in my case. I am determined to either join a different team or company, My requirement is that my next manager needs to be technical (this helps because previously there was no such issues). Alternatively i keep hoping to join a startup where your work is transparent.

</comment><comment><USER38> I hope you got a chance to read a good HBR article posted earlier on HN:

[https://hbr.org/2018/11/5-ways-smart-people-sabotage- their-s...](https://hbr.org/2018/11/5-ways-smart-people-sabotage-their- success)

Discussion here: [https://news.ycombinator.com/item?id=18459389](https://news.ycombinator.com/item?id=18459389)

</comment><comment><USER39> > I've been doing a lot of work to clean up the debt that was accumulated and, > meanwhile, I improved the reliability and the efficiency of the > infrastructure. I wrote common components and library to avoid duplication > and shared it with wiki pages on how to implement certain things correctly.

What's the business case for this?

<comment><AUTHOR> Required by our ex manager and director to cleanup the debt and increase delivery time. And, it was urgent since we were having performance issue.

Pretty much I don't like to do stuff for the sake of doing it

</comment></comment><comment><USER40> Accelerate your job search, take some time of to decompress, and try again in a new opportunity.

<comment><USER41> Agreed. You can always try going to his boss to explain it, but that probably won't work out. It just seems like a miserable situation to be in.

</comment></comment><comment><USER42> You can't change what has already happened. And trying to change that will only cause more trouble.

Inform somebody higher up about this. Do it more subtly instead of name calling. Usually people sitting higher up will take this into consideration on future decisions.

</comment><comment><USER43> Have you spoken to Manager's manager and requested for a change as you & your current manager were peers earlier & do not want him as your manager?

</comment><comment><USER44> Is there a way to train the kind of social skills that people are saying the OP lacks, or are you just boned if you can't play the game?

</comment><comment><USER45> I'm going to be a little mean here, but it sounds like you might be the problem.

> I've been doing a lot of work to clean up the debt that was accumulated and, > meanwhile, I improved the reliability and the efficiency of the > infrastructure. I wrote common components and library to avoid duplication > and shared it with wiki pages on how to implement certain things correctly.

Did anyone ask you to do this work? Does it benefit the company in any tangible way? Did you make the product objectively better, or did you fixate on code purity at the cost of work that generates more business value? Sometimes tech debt needs to be addressed for technical reasons, sometimes it's a vanity exercise. If your work doesn't have visibility, maybe that's because no one wanted it done in the first place. Spending time on tech debt, not under the umbrella of tangible benefits, is usually not a productive undertaking. As much as you might loathe working on some hairy piece of code, if you're not changing it for a business reason, you might be making things worse. You might be adding complexity, introducing bugs, hurting performance, or simply going off on a wild goose chase.

> On the other hands, my colleague, is more focus on building relationships > and acting like he's the manager even tho he's not. In a couple of > circumstances he event tried to give me orders which is not what he supposed > to do.

Building relationships is critical. Most of software development is not writing code; it's understanding business problems, gathering requirements, organizing/prioritizing, delegating, getting feedback, etc. Of course you need to produce a product at some point, but doing so effectively requires that at least some team members be engaged with product owners, customers, and other teams. Your colleague sounds like a manager/team lead, and it sounds like he's viewed that way by others.

> In meetings with our manager he brag on stuff that I did sharing it as a "we > did", while when he does something alone (which most of the time asks to me > as well) he would say "I did".

In a functioning team, almost all tasks should be "we dids" rather than "I dids". It doesn't sound like he's taking credit for your work. He's not saying "I did" in reference to your work; he's saying "we did". Maybe he slips up and says "I did" when talking about his own work. It could be that he is trying to speak in terms of team effort and only says "I did" out of habit for his own work. Or maybe he's an underhanded dick.

> This kind of behaviour was ok at the beginning but since our boss left and > he got promoted as manager is not sustainable anymore.

It sounds like he IS a manager. In fact, despite your earlier claim about how it's not his role to give you orders, it sounds like that is in fact his role. It sounds like he is YOUR manager, but you're simply not happy about it.

Maybe your colleague is an asshole who takes credit for your work, brown-noses his way up the food chain, and is less technically competent, but I don't see any of that. What I see is someone who's able to strike a balance between social engagement and technical engagement, with natural leadership abilities, who's able to effectively delegate, and has successfully transitioned into a leadership role.

You have to advocate for yourself. If you don't think your contributions are appreciated, make sure that your contributions are what the company actually wants, and not your own agenda. Make sure people know what you contribute, by building relationships with other leaders in the company. Make your voice heard during planning and review meetings.

If you really are leading a few product teams, then you must have people working under you. Delegate to them, and stop worrying about taking personal credit. When your team does well, you'll look good. And if you start saying "we did" instead of "I did," your team will appreciate it and view you as a humble leader.

</comment><comment><USER46> Who are you to judge another's competence?

By what standard?

Your expectations are yours alone, unless you are tasked by the business to analyze and optimize.

<comment><AUTHOR> Indeed that was my scope. I was tasked by the business to analyze and optimize the technical assets of the company. And yes, I do also recruit and judge other's competence

</comment></comment><comment><USER47> I live in two separate worlds simultaneously. Here is what I have observed, but please bear in mind the following points are easily abused by incompetent superiors to protect themselves.

1\. Corporate:

1a. Subordinates: In the corporate world firing people isn't as easy as it sounds. Put everything on paper. Good managers have lots of paper on their people. Good documentation lets you know who to promote, without implicit bias, versus who to fire if layoffs happen. This is why contractors are so common at many firms. Contractors are easy to fire.

1b. Managers: There are great managers and there are horrid managers. More often than not it comes down to personality. Does your manager know anything about you? Do they listen to you or care about your job? Good managers really show they care. No matter how much you suck they still want to provide you opportunities to propel your career. Incompetent managers look you are a line item. In the case of incompetent managers you aren't going to be a rockstar. Instead cover all your bases and check off all the blocks on the metrics the boss cares about. The goal is to tread water with comfort and not make waves. In this case a life raft is any opportunity to work under a different manager.

1c. Peers: Tread carefully.

1c I. Incompetence: Incompetent peers who are downing might try to pull you down with them. Don't let incompetent people dictate your quality of work. Be independent and grow a backbone in the face of their uncertainty. Always be helpful with frequent offers of assistance and guidance. Help them to learn and remain productive, but the bottom line is to deliver quality work to the project on time.

Ic II. Assholes: If they are assholes or too special for help then simply let them drown. If they do stupid things to harm product quality let the product owner know, but remember you are not their boss. If they don't make it at the current company they will always find work somewhere else.

1C III. Immaturity: Immaturity is rampant among young developers. Its weird how so many young developers, even when I was young, think they are so incredibly talented. I believe this is the _dunning-krueger effect_ effect. Kindly remind the immature person when they step out of bounds, but keep a very safe distance. Typically immaturity stems from a lack of self-awareness similar to starting forest fires.

2\. Military:

2a. Subordinates

2a I. Disobedience or Disrespect: Eliminate the problem immediately and directly in a very ad hoc manner. This is ok because they are owned by their superiors. The superiors must then care for them with directed guidance and mentoring. After you crush their emotions you have to empower them to make better decisions independently.

2a II. Incompetence: Counsel them on paper. Every major screw up goes on paper. This protects you and them, because lets your booses know you are working on it and maybe they need a different job. You need paper to prevent them from being promoted before they are ready. Putting things on paper with great specificity also imposes an action plan upon you to improve the individual.

2b. Superiors

2b I. Assholes. Pull them aside and kindly let them know they are burning all their bridges and although they don't see it yet they are drowning and nobody wants to save them. Give them an olive branch and be patient and respectful while they are being an asshole to you. Be a good example and encourage them to follow your lead before they really hurt themselves.

2b II. Toxic Leaders. The core of all toxic leadership is some sort of selfish quality. Document all the wrongs you see about them. Simultaneously report the evil bastard to the unit commander and let the unit commander you have already submitted the issue to the inspector general's office. Don't wait on this and don't be passive about it, because if they aren't screwing you they are screwing somebody else. This is one of those situations were the forced dichotomy isn't a fallacy. You really are part of the solution, part of the problem, or an immediate victim.

2b III. Incompetence. Stupid, unqualified, or unprepared people can be promoted to astonishingly high levels. This is going to sound counter- intuitive, but do their job for them, but don't let them take credit for it. Ensure the work gets done and everybody stays safe. Don't worry about a paper trail because actual incompetence is obvious and people talk. If their incompetence results in harm or high risk situations they will typically be removed before an investigation falls upon their boss.

2c. Peers

2c I. Toxic. People primarily interested in self-serving interests aren't leaders. Address this directly with both them and their boss. Document what you see, but keep it secretly to yourself. If the toxic behavior is bad enough to warrant an investigation it often comes down to paper and good paper will protect you and the toxic person's subordinate.

2c II. General Incompetence. Talk to them and figure out what's going on. Sometimes a life situation can arise that provides serious distractions. Help a buddy out and try to get them on the right track. If they continue to fail, well at least you did all you could to try to fix the problem... right?

</comment><comment><USER48> You're in an office, or the way I like to think of it - a tribe of "professionals". Like all tribes you have people who hunt, gather, tan leather, and make dinner.

The "best" hunter occasionally will bring back a deer, maybe once a week. The stable hunter brings back 15 fish every day; aka they feed the tribe consistently.

People recognize and praise the deer hunter more. Even if they bring back less food, they are visual and there is a celebration when a deer is brought back. Meanwhile the person bringing back fish, well, they feed the tribe, but it's consistent and not flashy.

To your post:

> I've been doing a lot of work to clean up the debt that was accumulated and, > meanwhile, I improved the reliability and the efficiency of the > infrastructure. I wrote common components and library to avoid duplication > and shared it with wiki pages on how to implement certain things correctly.

First, it sounds like you may have done unnecessary optimizations (aka not a "good" job at delivering real business value). I'm not saying that's the case, but always be wary of "delivering" what no one asked for. At the very least, you didn't bring back a deer, you delivered a steady stream of fish. It actually appears like you built a new net, but at the same time catch the same number of fish.

Second, it appears the deer hunter has already been made chief (aka manager), and you're still catching fish. So now it's your job (if you want to stay there) to figure out how to work together. Explain what you'd like to do, and where you'd like to go. As a manager it's his responsibility to work with you to achieve those goals. Move to be the next deer hunter, and learn from the chief on how to get there.

Clearly, they appear to be better at distributing the work and / or self- promoting. Ask them to promote you too, work with them to ensure you're being promoted as well. As a manager, they can only be as successful as their underlings. Use that value you create to benefit both of you. At this point it's not a zero sum game. Both of you can move up the ranks, albeit in different paths.

Looking for a new job is also an option, but in any case. You need to refocus, you were out maneuvered politically -- you lost. However, it doesn't appear your goal was to manage, you thought bringing in the regular solid work would promote you. It doesn't, solid development does nothing, achieving business goals and sharing it is the key.

Keep in mind taking an open source library and distributing it often brings more value to the company than new development. The person who distributes that library is far more likely to get promoted (open source or internally developed - it doesn't matter).

</comment><comment><USER49> What are his responsibilities as your manager?

</comment><comment><USER50> Just find another job... life is too short...

</comment><comment><USER51> If you are able to discern his motivations, you can probably have faith that others will, too.

The extent to which your ego is bound up in taking credit, having a certain reputation among your colleagues, etc, is the exact extent to which your coworkers behavior can "get to you".

Always the best advice is: do your job to the best of your ability and don't worry what anyone else is doing. Others will notice. And if they don't, then perhaps its not the kind of place you would want to work, anyways?

</comment><comment><USER52> Seems like you learned the hard way that social skills are an important part of thriving in a social hierarchy.

I recommend you read books on how to deal with people.

</comment><comment><USER53> Don't take it personally. Be happy for their accomplishments. Be happy for your accomplishments. Think about how important the "tough" times you are having now will be in 1 year, 3 year, 5 year, 10 years. Control what you can control.

<comment><USER54> He can control someone taking credit for his work...

<comment><USER53> Do you offer suggestions?

<comment><USER55> As the top comment says, information flow at the right time makes all the difference. When you do something nice, put something in your slack channel like "man I finally got this elastic search issues fixed. the search is faster now and it doesn't fail for certain terms` or something like that. a subtle self congratulating message and everyone know you did it.

<comment><USER53> From my experience which is obviously different than yours, over time these pats on the back do more to divide than unite development teams. Others know who gets stuff done and who doesn't just like you likely know who gets stuff done and who doesn't. The slack pats on the back seem counter productive, almost as if looking for credit for doing your job. The higher up in the organization you go the less important it becomes that you refactored the code to batch load index data where the prototype might have inserted one record at a time. By the time the index is done, the people who use it don't really care how long or how efficiently it was built.

</comment></comment></comment></comment></comment><comment><USER56> Have you talked properly to the colleague in question? It seems like you've bottled up all this frustration for far too long, making this infected, which in turn makes it harder to talk about it.

Even if it's hard, just tell him how you feel. Take it easy (don't start by listing all his faults) and stay objective - as in "When you do ... I feel ...". Be honest and say that you're not sure if you want to stay, and that the situation needs to be resolved so that you can have a healthy working relationship again.

<comment><AUTHOR> I never tried because we had to work together closely and I didn't want to break the balance. And now I don't know if it make sense since he became my manager.

<comment> java-man leave the company.

if the company does not promote meritocracy (in a sense that it gives more competent people more responsibility and vice versa), you are destined to become more and more at disadvantage.

life is too short to spend it fighting a localized idiot. go build something interesting that will benefit mankind.

<comment><USER57> Spoiler alert: talking about your work is a big part of meritocracy.</comment></comment></comment></comment>


How To Get 100k Free For Your Startup C/o M.Birch, M.Butcher - <AUTHOR> http://bullethq.com/ebook-how-to-get-100k-free-off-the-government.php

<comment><AUTHOR> Hey HN,

We created this guide after running through the process ourselves and thought we'd put something together to help the community. It's about 136k in total you can get. We got some tips from other startups guys and popped it all together into a pdf with infographic.

Hope you find it helpful. Let me know your feedback @bullethq

</comment><comment><USER2> I was actually just reading this today. It would be smart if you had an email collection field so that people could get updates to this (assuming you plan to keep it up to date).

While I'm not a fan of the paywithtweet feature, the document does have value. (hint the pay with FB doesn't really work 100%)

<comment><AUTHOR> Hey,

We looked at some other products around sharing but it was working out at a cost of nearly a euro a share. Seemed crazy, but your right it's not idea. We'll make it better over time. We had a bit of a push to get the new marketing site up etc.

Glad you find it useful, took a while to put it together in a useful way.

Pete</comment></comment>


Apple Fight Could Lead to "Virtually Limitless" Surveillance Powers, Judge Warns - <AUTHOR> https://www.eff.org/deeplinks/2016/03/apple-all-writs-act-and-limitless-surveillance <comment><USER2> Pretty sure 'Virtually Limitless Surveillance Powers' is kinda the whole point.

<comment><USER3> they had to tone it down from their original headline "Apple Fight Could Lead To End of the World As We Know It"

</comment></comment><comment><USER4> Some interesting points in regards to licensed applications as well. I know this has been a highly debated subject, but if you have an app that people use on their phones under your license, who owns the data? If the app is under investigation, could user's personal data also be at risk? We quickly agree to so many legally binding agreements without even thinking about it...

<comment><USER5> The question that Apple and the EFF are addressing is slightly different. Not "can the company own your personal data", but "does the company ALWAYS own your personal data even if they WANT to let you own it." We already have established law that says the Government can demand any data a company has on you, without even needing much of a reason and without triggering most 4th amendment protections.

</comment></comment><comment><USER5> Have these people even READ Riley v. California[1]? To quote from the majority opinion:

"modern cell phones, [...] are now such a pervasive and insistent part of daily life that the proverbial visitor from Mars might conclude they were an important feature of human anatomy. [...] Cell phones, however, place vast quantities of personal information literally in the hands of individuals.

The argument with Apple is not the same question as the (now settled) situation where there is no warrant, but clearly cell phones need to be treated specially.

[1] - [http://www.bloomberglaw.com/public/desktop/document/Riley_v_...](http://www.bloomberglaw.com/public/desktop/document/Riley_v_California_No_13132_and_13212_US_June_25_2014_Court_Opini?1456930843#id772495)</comment>


It May Not Feel Like Anything to Be an Alien - <AUTHOR> http://cosmos.nautil.us/feature/72/it-may-not-feel-like-anything-to-be-an-alien <comment><USER2> Holy browser hijack, Batman! On Firefox for Android, this link opens 10+ times the same link, hijacking the "back" button.</comment>


Banned bread: why does the US allow additives that Europe says are unsafe? - <AUTHOR> https://www.theguardian.com/us-news/2019/may/28/bread-additives-chemicals-us-toxic-america <comment><USER2> I always look at the ingredients list of bread in the US and I am always surprised how long the list is. Why do they put so much stuff (and always sugar or syrup) into any bread?

<comment><USER3> While I would agree that store-bought bread in the US contains far, far too much sugar (which is why I started baking bread myself in the first place), some amount of sugar is almost always required for leavened bread. The added sugar is what the yeast feeds on initially, since most flour won't provide enough easily-digestible sugars for the yeast. However, the amount of sugar required isn't much; my go-to recipie calls for 1 tablespoon of molasses for a 1.5lb loaf of rye/buckwheat loaf.

As to the length, for example the ingredient list of wonderbread from [0]:

      unbleached enriched flour (wheat flour, malted barley flour, niacin, reduced iron, thiamin mononitrate, riboflavin,
      folic acid), water, high fructose corn syrup, yeast, contains 2% or less of each of the following: calcium carbonate,
      soybean oil, wheat gluten, salt, dough conditioners (contains one or more of the following:
      sodium stearoyl lactylate, calcium stearoyl lactylate, monoglycerides, mono- and diglycerides, azodicarbonamide,
      enzymes, ascorbic acid), vinegar, monocalcium phosphate, yeast extract, modified corn starch, sucrose, sugar, soy lecithin,
      cholecalciferol (vitamin d3), soy flour, ammonium sulfate, calcium sulfate, calcium propionate (to retard spoilage).

In order, the oil is for crumb texture and added fat, the salt is to regulate yeast growth, the gluten is to allow the crumb to hold together better (especially as most of the naturally-occuring gluten is removed from white flour). The dough conditioners are used to get the horrible texture that people expect from wonder-bread, as well as making it easy (read: extremely consistent) to bake at massive scale. The rest are preservatives & nutrient enricheners. The preservatives allow the bread to last long enough to make it to a supermarket; fresh-baked bread spoils extremely quickly.

As far as what is actually needed to make the white bread, for the white bread I bake on occasion all that is used is flour, sugar, gluten, oil, yeast and salt in order of volume. Note however that this bread will only last a few days; and ideally will be consumed the same day as baking.

[0] [https://www.fooducate.com/product/Wonder%20Classic%20White%2...](https://www.fooducate.com/product/Wonder%20Classic%20White%20Bread/556190A2-32C7-11E3-A74D-1E047F0525AB)

<comment><USER4> > some amount of sugar is almost always required for leavened bread

You don't need added sugar. Flour contains amylases which break down some of the starch in the dough to maltose and glucose, which is more than enough for the yeast.

The bread we eat only contains flour, yeast, salt and water. It's delicious in the first day and still nice on the second; after that, we toast it.

</comment></comment></comment><comment><USER5> I do not know anything about these chemicals in particular, but this framing:

> It may sound odd, but in America, your loaf of bread can contain ingredients > with industrial applications – additives that also appear in things like > yoga mats, pesticides, hair straighteners, explosives and petroleum > products.

always bugs the hell out of me.

 _Water_ has numerous industrial applications. Linseed oil and NaCl have numerous industrial applications. Acting like any chemical which can be used in an industrial context is automatically poison is just straight-up fear- mongering.

<comment><USER6> A particularly egregious case[1] is a lawsuit against LaCroix complaining that their product contains chemicals also used in cockroach insecticide. The chemical in common was linalool, which is just a floral scent!

[https://www.snopes.com/news/2018/10/08/lacroix-sparkling- wat...](https://www.snopes.com/news/2018/10/08/lacroix-sparkling-water-full- dangerous-synthetic-chemicals/)

<comment><USER7> Toll House Cookies contain 2 out of the 3 chemicals used in the clandestine manufacturer of crack cocaine, namely NaHCO3 and H2O.

</comment></comment></comment><comment><USER8> I've always been fascinated by how disgusting the bread is in the US. Do we know what lead to this ?

<comment><USER9> The US has no food culture, come on they sell cheese in spray cans.¹

Generally food in the US is sold for size, not flavour or nutritional content.

For example US roaster chickens are huge but basically live short sick lives and taste bland.²

Chickens sold in France are smaller but have more flavour.

1: [https://en.wikipedia.org/wiki/Easy_Cheese](https://en.wikipedia.org/wiki/Easy_Cheese)

2: [https://onlinelibrary.wiley.com/doi/full/10.1111/1541-4337.1...](https://onlinelibrary.wiley.com/doi/full/10.1111/1541-4337.12431)

<comment><USER10> I've heard of many shitty foods like that spray can cheese that Americans eat, and cringed hard at them, but I've always assumed they can also get good stuff if they want to. If they can't, though, that's honestly very grave.

<comment><USER11> A lot of American can neither afford the good (usually imported) stuff, nor have never learned to appreciate it either.

</comment></comment></comment></comment><comment><USER12> Pretty sure the two chemicals they are talking about in the article are in a lower WHO risk category in then bacon, salted fish, and alcoholic beverages.

The FDA may be underfunded and overwhelmed but I'm not yet feeling terrible about buying bread in the grocery store.

</comment><comment><USER13> Doesn't it simply come down to the EU applying the precautionary principle for all safety regulation, including food additives, whilst the US does not?

<comment><USER14> I think that is one part, and the other part is that companies opinions about what is safe or not, holds no weight.

</comment></comment><comment><USER15> If the FDA is broken, I wonder if some private entity couldn't audit brands and/or grocery chains and publicize a consumer health rating.

"But private auditing can't work because for-profit incentives!"

Well, there are plenty of cases in which for-profit auditing works just fine and TFA is dunking on the FDA for being a broken public regulator, so...

<comment><USER16> Perhaps Monsanto ?

The US needs a hard reset, there wont be a simple method to fix what is broken here.

<comment><USER15> I was hoping for a more substantial reply than "America sucks; it won't work".

<comment><USER16> America doesn't suck, I spent the last 6 months in the EU and I miss what we have here. That said, the issue you are talking about is directly related to large corporate profits.

A hard reset is what it will take to change that.

I do not refer to socialism either. Taking the power back from the govt and the corporations they empower is the key.

</comment></comment></comment></comment><comment><USER17> If only we had some field of science that studies toxins, We could call it Toxicology.... All joking aside Alcohol is classified as a group 1 carcinogen and the Europe has yet to ban it

</comment><comment><USER18> garbage website, I flag anything from the guardian and suggest that everyone who wants HR to remain valuable do the same. This goes for and any non- specialized, non-hacker, commercial media, and politics-first sites.

<comment><USER19> It's won quite a lot of awards and stuff.

</comment></comment><comment><USER20> Europeans are much more susceptible to green activist pseudoscience. For example the ban on GMO's which was driven by ideology not science; or vaccination rates etc.

<comment><USER20> and ... [http://www.euro.who.int/en/media-centre/sections/press- relea...](http://www.euro.who.int/en/media-centre/sections/press- releases/2018/measles-cases-hit-record-high-in-the-european-region)

"Over 41 000 children and adults in the WHO European Region have been infected with measles in the first 6 months of 2018"

<comment><USER20> versus ~ 400 in the US.</comment></comment></comment>


Gradient Descent: The Ultimate Optimizer - <AUTHOR> https://arxiv.org/abs/1909.13371 <comment><USER2> Can't pass on the opportunity to share one of my favorite (and topical!) paper titles:

[https://arxiv.org/abs/1606.04474](https://arxiv.org/abs/1606.04474)

</comment><comment><USER3> > We propose to instead learn the hyperparameters themselves by gradient > descent, and furthermore to learn the hyper-hyperparameters by gradient > descent as well, and so on ad infinitum.

Made me laugh. Can't believe this hasn't been done yet. Maybe I should stop looking at ML research upon a pedestal (regardless, OpenAI's PPO and TRPO papers were amazing, not to mention their Learning with Dexterity one)

<comment><USER4> No, it's been done. For example, "Gradient-based Hyperparameter Optimization through Reversible Learning" [https://arxiv.org/abs/1502.03492](https://arxiv.org/abs/1502.03492) , Maclaurin et al 2015 (one of their cites). The idea is pretty obvious: of course you'd like to learn the hyperparameters like they were any other parameter. But that's easier said than done.

The problem is that, well, to backpropagate through a _hyper_ parameter, you would need to, say, track how it affects every iteration throughout the entire training run, rather than simply tracking one parameter through a single iteration on a single datapoint. And it's difficult enough to do gradient descent on a single hyperparameter, so it hardly helps to start talking about doing entire stacks! If you can't really do one, doing ad infinitum probably isn't going to work well either.

If you look at their experiment, they're doing a 1 hidden-layer FC NN on MNIST. (Honestly, I'm a little surprised that stacking hyperparams works even on that small a problem.)

<comment><USER5> Reading the paper, instead of computing the gradient across the training run they compute the gradient for a hyper parameter after each batch and update the hyper parameter then. That keeps the computational cost pretty light. Stacking gradient descent 50 times on itself only costs about double normal gradient descent. That's specific to their experiment, but when done on bigger models the added cost for computing the hyperparameter derivatives should become a smaller fraction.

I'm surprised by the lack of any bigger experiments (imagenet would be nice, but even cifar10 would help) given how computationally light this was. Also surprised that an 11ish author stanford paper did their experiments on 1 cpu.

</comment></comment></comment><comment><USER6> "Gradient Descent: The Ultimate Optimizer"

Did they get stuck in a local optimum?

</comment><comment><USER7> Unfortunately, the 1-step optimal learning rate often differs massively from the long-horizon best choice:

[https://arxiv.org/abs/1803.02021](https://arxiv.org/abs/1803.02021)

Due to the fact that larger LRs can result in worse immediate performance but better progress in low signal-to-noise ratio directions.

<comment> 0-_-0 I suspect that's because higher LR leads to better exploration of the opt. surface, i.e. it works as an implicit regularizer. The ideal solution would be to develop better regularizers to go with the better optimizers, instead of relying on the noise in the worse optimizer for implicit regularization.

<comment><USER7> I completely agree, we shouldn't be depending on our optimizers do some approximate Bayesian inference- an optimizer should optimize only.

However, I think it's a different effect- even purely in terms of optimizing the training loss, on a quadratic (with noisy gradients), the short-horizon bias effect exists.

</comment></comment></comment><comment><USER8> Interesting!

Relevant work:

1\. What's one of the most important hyperparameters? Architecture: [https://arxiv.org/abs/1806.09055](https://arxiv.org/abs/1806.09055)

2\. Dropout: [https://papers.nips.cc/paper/5032-adaptive-dropout-for- train...](https://papers.nips.cc/paper/5032-adaptive-dropout-for-training- deep-neural-networks.pdf)

3\. Learning activation thresholds: [https://datascience.stackexchange.com/questions/18583/what-i...](https://datascience.stackexchange.com/questions/18583/what- is-the-difference-between-leakyrelu-and-prelu)

<comment><USER9> Regarding 2: I saw a talk yesterday by Alex Hernández-García in which he showed that dropout and weight decay can be replaced with data augmentation in many cases. The relevant paper by him and König is [https://arxiv.org/abs/1806.03852v2](https://arxiv.org/abs/1806.03852v2)

edit: changed to /abs/ instead of /pdf/ link

</comment></comment><comment><USER10> So we could see Adam optimization with hyper-parameter tuning by Adam? But IIRC this is never guaranteed to always find the global minima/maxima, so why would it in this scenario? Or is this just finding a way to let your optimizer self optimize?

<comment><USER11> Pretty much. pick something stupid, but good enough.

What IS interesting, is that the problems all end up in the same place after a few levels of recursion.

</comment></comment><comment><USER12> Because gradient descent never gets stuck in a suboptimal solution?

<comment><USER13> If I understand what they are looking at, they are looking at problems that are simple in the sense of having no local optima, but complex in the sense of having very high dimension.

ie. It's not a problem for the class of problems they are optimizing.

I've been out of that domain for awhile... but when I did a lot of optimizing / fitting in a high dimensional space with a function that had lots of local optima... I found the downhill simplex method with simulated annealing was most effective / robust.

<comment><USER14> which is great as long as you choose your problems based on what your tools are good at

<comment><USER15> Local minima basically don't exist in high dimensional spaces, so in practice the tools work for a wide variety of problems.

<comment><USER13> Definitely not true. Not even close.

<comment><USER15> Not much of a response. Care to expand here? This is a well-understood principle in the existing body of research on convergence in high dimensional spaces.

</comment></comment></comment></comment></comment></comment><comment><USER16> It is nice to see someone doing this!

This reminds me of using GD for tuning PID (which has been done for a while).

[https://www.researchgate.net/publication/287359696_PID_contr...](https://www.researchgate.net/publication/287359696_PID_controller_tuning_optimization_using_gradient_descent_technique_for_an_electro- hydraulic_servo_system)

</comment><comment><USER17> I couldn't find the code anywhere on the web (nicely formatted, easy to use) so I tried to make the code more easily accessible here [1]

[https://github.com/Rainymood/Gradient-Descent-The- Ultimate-O...](https://github.com/Rainymood/Gradient-Descent-The-Ultimate- Optimizer)

</comment><comment><USER18> There are some cites to similar recent work in this thread, but even older work is Stochastic Meta Descent.

This inspired my consulting company / ML q+a site name MetaOptimize and it's motto: optimizing the process of optimizing the process of...

</comment><comment><USER19> But then who tunes the hyperparameters for the gradient optimizer?

<comment><USER20> As said in the abstract: another gradient optimizer!

<comment><USER19> But then who tunes that optimizer?

<comment><USER21> Voom

</comment></comment></comment></comment><comment><USER22> 11 authors, impressive!

<comment><USER21> One for each gradient descent.

<comment> ur-whale I thought it was, to quote "and so on, ad infinitum"?

Maybe they chopped the long tail of authors?

</comment></comment></comment><comment><USER23> Hopefully this isn't useful for anything because it's the dumbest thing I've seen in my life</comment>


Harvard's Admissions Process, Once Secret, Is Unveiled in Federal Court - <AUTHOR> https://www.nytimes.com/2018/10/19/us/harvard-admissions-affirmative-action.html <comment><USER2> > Harvard has testified that race, when considered in admissions, can only > help, not hurt, a student's chances of getting in.

So if your race matches their preference they improve your odds of admittance. Since the number of admissions is fixed this reduces the odds of those who have a race that doesn't match their preference.

IANAL but it sounds like Harvard just admitted that they were guilty.

<comment><USER3> > IANAL but it sounds like Harvard just admitted that they were guilty.

I don't like what they seem to be doing, but Harvard is a private university - they should be able to recruit who they want to based on their own criteria. Of course, it's not a binary thing: universities in the US receive lots of subsidies from local states, so there is a certain expectation of fairness.

Maybe the right thing to do would be to completely cut subsidies if they decide to have a non-public selection process.

<comment><USER4> "I don't like what they seem to be doing, but Harvard is a private university - they should be able to recruit who they want to based on their own criteria"

How is this argument different than supporting a private restaurant not serving e.g. Chinese people since they "are a private company that should be able to serve whom they want based on their own criteria?"

<comment><USER5> How is what Harvard is doing supported by that example? They are giving preferential treatment to certain groups or ethnicities, not actively discriminating against any certain group. If you went to a restaurant and someone that was in line after you got seated before simply because of their ethnicity, that's not the same as not being served at all right?

<comment><USER6> If there are a limited number of seats it's exactly the same as not being served at all.

</comment></comment></comment></comment></comment><comment><USER7> The root of this is the Harvard Jew Crisis of the early 1900s, which redesigned the admissions process away from merit. This is the basis of the modern practice at the Ivy Leagues. It was not done secretly, publicized by the university's President in speeches, and had little backlash. It is in fact a result of Asian Americans having many similarities to Jews that they are being discriminated against, but they were not the original target. It will be interesting to see if they were ever explicitly targeted, but so far it appears to be collateral damage as times changed but the process's foundation has not.

<comment><USER8> As NovaX describes, "holistic" admissions had very ugly roots. It was specifically instituted as a way to limit Jewish admissions.

Oddly enough, Harvard president A. Lawrence Lowell justified the policy as a way to _avoid_ antisemitism, reasoning that too many admitted Jews could provoke antisemitic sentiment. This was the same President Lowell who tried but failed to impose segregation on students. ("We owe to the colored man the same opportunities for education that we do to the white man; but we do not owe it to him to force him and the white into social relations that are not, or may not be, mutually congenial.") [1]

Still, as Judge Burroughs has pointed out, the ugly origins aren't necessarily relevant to the current impact. [2] It will be interesting to see how well Harvard's "diverse student body" argument holds up to scrutiny.

[1]: [https://en.wikipedia.org/wiki/A._Lawrence_Lowell](https://en.wikipedia.org/wiki/A._Lawrence_Lowell)

[2]: [https://www.politico.com/blogs/under-the- radar/2016/09/harva...](https://www.politico.com/blogs/under-the- radar/2016/09/harvard-discrimination-jews-227842)

</comment></comment><comment><USER9> There is some more information in this document: [https://samv91khoyt2i553a2t1s05i-wpengine.netdna- ssl.com/wp-...](https://samv91khoyt2i553a2t1s05i-wpengine.netdna-ssl.com/wp- content/uploads/2018/06/Doc-415-2-Arcidiacono-Rebuttal-Report.pdf) One interesting thing I saw in there was the huge advantage that the legacy applicants and the kids of the staff get [https://twitter.com/LechMazur/status/1053290170315927552](https://twitter.com/LechMazur/status/1053290170315927552). The exact racial advantages/disadvantages are also calculated - they are large (Table 5.1N but it doesn't include Asian applicants).

<comment><USER10> I have heard anecdotally that legacies get a huge bump, and this seems to quantify it. Like 6x.

It's not like they aren't already considering a lot of factors besides some kind of test metric.

</comment></comment><comment><USER11> If it was up to me, for university admissions there would be a public clear and objective scoring system, based for example only on grades and then use a lottery system weighted inversely by income. No more essays and subjective values, silly extracurriculars or race involved (it's already somehow accounted for in the income).

<comment><USER12> Not sure you want that, because then you end up with something like the Iowa system. (Basically, everyone is admitted, because every school optimizes for getting the required score. It's nigh impossible to graduate high school in Iowa _WITHOUT_ the required 245 points for the Iowa schools.)

Giving an explicit formula for scoring, along with a required score, has historically been the same as letting everyone in, because schools, over time, will always "teach to the test" so to speak.

<comment><USER13> Here's how it was in the old country:

Score = (score from exam at the school you want to go to * 2 + GPA + high school Math grade) / 4

That's for engineering school. Every school has a different formula and holds its own exams. But the formula is public.

Sort all candidates, draw a line. When some of the selected people chose different schools, draw another line after a month.

We didn't have an equivalent of SAT. But it can easily be plugged in a formula like this. There's no studying to the test, since every school has a different test.

<comment><USER12> That's not how Iowa works. You get the 245 points, you get in. Full stop. It's law.

It's a system that can't be "gamed". (And, coincidentally, doesn't _need_ to be gamed.) The idea was that it would take all the race, and the extra- curriculars, and the subjective stuff out of the system. And it did. But it also gave everyone admittance. Which is fine. Maybe everyone should get into college? I don't know?

My point is, when you have a set target, it's pretty much guaranteed that after a few years nearly _everyone_ will be hitting that target. It's the nature of the beast.

</comment></comment></comment></comment><comment><USER14> Somewhat clickbait. They overview the different criteria but don't go into how each factor contributes to the overall score and thus the admission process so you don't really learn much how the overall admission process is decided.

<comment><USER15> > They overview the different criteria but don't go into how each factor > contributes to the overall score

Applicants are graded 1 - 6, so an applicant getting 'tipped' doesn't necessarily bump their score. The way I've seen it work elsewhere is just that applicants who are flagged get their entire applications reviewed, so that way someone actually reads the essays instead of just tossing it after spending 30 seconds looking at the grades and SATs.

Also each department is going to have its own quota, so that way the orchestra gets 10 people and the rowing team gets 10 people and the development office gets 10 people and so on. So you're really only competing with other applicants within your bucket, unless you're not in a bucket in which case it's really just lottery odds at that point.

<comment><USER14> The 1-6 grading I haven't read before this article but since there is no information on how that contributes to the overall application outside of 1 (strong admit) and 6 (strong deny), it doesn't really tell us much.

Also, they never mentioned "quotas", just that they try to "looks at factors like parental occupation, which Mr. Fitzsimmons said offer clues about financial hardship, and intended major, to avoid having too many students with the same educational interests".

<comment><USER15> > they never mentioned "quotas"

There isn't a quota in the sense that there is a permanent fixed number, it's all just politics. So you've got situations like someone who donated $100 million to the school had the kid they wrote a recommendation for rejected last year, and now they're pissed so the development office wants to make sure whoever they recommend this year gets in. But then the rowing coach is considering going to another school where they're promised 12 recruits instead of 8, so now you have the AD and the head of development both lobbying the head of admissions to get more slots for their department. And exactly how many each actually gets each year is going to depend partly on how the admissions process is structured, but also on the facts of the situation, who owes who favors, where different people are in their careers and how much they've been contributing to the overall mission and prestige of the university, etc. As well as what the admitted class looks like so far, which can be vastly different a few days or even hours apart.

</comment></comment></comment></comment><comment><USER16> On the one hand, harvard and the left repeatedly say we should live in a colorblind society. Race is not important and it isn't even real. It is a social construct of no importance to who the person is. They tell us only raicsts are obsessed with race and only racists see color.

On the other hand, harvard and the left are obsessed with race. So is harvard and the left racist? Aren't they supposed to be colorblind and not focused on a person's immutable characteristic? By giving certain racial group an unfair advantage, aren't they condescendingnly assuming these racials groups are inferior. Doesn't that make them patronizing racists?

If we are all humans and equal, why does race matter? Who cares if the humans attending harvard are all white or all asian or all black? We are humans right?

From where I stand, harvard's admissions policy seems like blatant condescending and patronizing racism.

<comment><USER17> _On the one hand, harvard and the left repeatedly say we should live in a colorblind society. Race is not important and it isn 't even real. It is a social construct of no importance to who the person is. They tell us only raicsts are obsessed with race and only racists see color._

That's a MASSIVE straw man. Harvard won't argue that, and nobody who studies race and equality issues will argue that.

I'm assuming that you are looking for actual discourse on the topic. The issue of color-blindness vs. race consciousness is pretty well-trodden territory in the context of studying racism. If you google those words, you'll find plenty of literature about it. I just tried it and there are several good discussions of the topic in the first couple pages.

The short version is that colorblindness doesn't address the "rich get richer" effect, so if you want to close the gap, you're going to have to look at ways to create catch-up mechanisms.

 _If we are all humans and equal, why does race matter? Who cares if the humans attending harvard are all white or all asian or all black? We are humans right?_

You're assuming that the default behavior is fair. That's fundamentally not true. If you're looking for the actual argument made by Harvard and "the left," then this is it: the default is unfair, and the goal is to make it fair.

<comment><USER18> The main problem is that the catch up mechanisms don't have a termination condition. At what point do these go away? What if for whatever reason, these mechanisms don't actually improve anything. Do we keep adding more mechanisms?

<comment><USER17> Well, affirmative action did technically have a built in catch-up mechanism.

But really, do you think all laws need termination mechanisms, and do you only vote for laws that do? Or if you think that some laws must exist that solve permanent problems, then, well, racism has never not been a problem, it has just taken different forms over time.

Alternately, we can trust the democratic system to do the course correcting.

</comment></comment></comment></comment><comment><USER19> Why on God's green earth are we evaluating candidates to a major university based on how well they're "grappling with [their] sexual identity"?

<comment><USER17> I think you're coming at this from the wrong perspective. The fact that someone is grappling with their sexual identity isn't by itself a qualification.

On the other hand, if in the essays or interviews you get the feeling that this candidate has matured beyond his/her peers as a result of it, or if this candidate demonstrates resilience dealing with growing up this way in an extremely conservative culture, then you'd probably consider betting on this person's upward trajectory. The context is important, and I don't think the NYT article captures it.

<comment><USER20> At that point why specifically call out sexuality? Why not just say "candidates whom have matured behind their peers because of difficult life experiences"?

<comment><USER21> Because that was specifically what the student was dealing with. If the student was dealing with the stress of a laid-off parent, or a serious disease, or a sibling with a drug problem, I wouldn't be surprised if those details were mentioned, and not just vague language about "difficult life experiences."

</comment></comment></comment></comment><comment><USER22> "I have a dream that my four little children will one day live in a nation where they will not be judged by the color of their skin, but by the content of their character." \-- Martin Luther King Jr.

</comment><comment><USER23> What is diversity? In a place so highly desirable, does that mean that discrimination is needed to preserve diversity?

</comment><comment><USER24> The "secret" (at least for me back in 1972 ;-) was to be in a far-flung location (San Diego for me) where there's slim pickin's. ;-)

Seriously, I'm sure the decision process has quantitative elements, but it's got to still be 70% intuition. And the "legacy" applicants most definitely get a big bump.

<comment><USER25> Yeah, I think the legacy crap is the real crime.

</comment></comment><comment><USER26> It's my understanding that California's Proposition 209 [1] prohibits public universities from considering race in their admissions process.

I'm curious if those who attended public universities in California felt that their education was less "holistic" in any way due to Prop 209.

[1] [https://en.wikipedia.org/wiki/California_Proposition_209](https://en.wikipedia.org/wiki/California_Proposition_209)

</comment><comment><USER27> Pretty sure this is at expense of poor whites, who are under represented under such admission criteria. Since "whites at the bottom 10% of family income distribution, do about as well as blacks at the top 10% of family income on SAT scores".

This video purports to break down the stats: [https://www.youtube.com/watch?v=UtXjAaxpI2I](https://www.youtube.com/watch?v=UtXjAaxpI2I)

</comment><comment><USER28> To those who have a problem with Harvard's alleged discrimination. Do you think female-only schools should exist? In addition, would you agree with an admission policy that only uses SAT and AP scores? Grades inherently are subjective and can unfairly be given on the basis of race on the K-12 level, so that's helpful.

Harvard should just model China and make the SAT the only criterion. If there are too many people with a perfect school, use randomization accordingly. Of course, the typical Harvard admit won't like this since it'll mean their private school boost won't mean anything, nor will the fact that they come from a feeder school.

<comment><USER20> Goodhart's Law: "When a measure becomes a target, it ceases to be a good measure."

SATs will quickly become one of the _poorest_ indicators for success.

<comment><USER29> Except that SATs measure something real (intelligence), so unless outright cheating and bribery are taking place, it will continue to be a good measure.

<comment><USER30> Citation needed. The huge amount of time and resources spent preparing for the SATs imply that it is not a direct measure of intelligence.

Is a someone who scored a 2300 after years of test prep necessarily more intelligent than someone who couldn't afford test prep or didn't have access to it and still scored a 2000?

<comment><USER31> See: [https://nepc.colorado.edu/sites/default/files/Briggs_Theeffe...](https://nepc.colorado.edu/sites/default/files/Briggs_Theeffectofadmissionstestpreparation.pdf)

"When researchers have estimated the effect of commercial test preparation programs on the SAT while taking the above factors into account, the effect of commercial test preparation has appeared relatively small"

</comment></comment></comment></comment></comment><comment><USER32> one thing that always puzzles me about this topic is that even though everyone knows Harvard's admissions process is unfair/phony/rigged _many people still want desperately to be accepted there in order to send the right signal_

so what signal could possibly be getting sent if we already know the game is unfair/phony/rigged?

</comment><comment><USER20> The answer to this is so simple: rather than trying to optimize algorithms for admission, we need to decrease the demand for admissions to these schools.

1\. Increase the supply. More seats. More schools. More teachers. More locations.

2\. Decrease the demand. Better alternatives. Vocational schools. On the job training. Not using degree a job criteria.

<comment><USER33> As a teacher, I agree with all the things you say in number 2. Full-heartedly. But can't really bring myself to agree with Number 1. Quality will just keep going down, and I know several schools that stay afloat right now only because of BS online programs (half supported by the state)... 2 really needs to be the answer, not 1.

</comment></comment><comment><USER25> A really great admissions primer - Sierra Burgess is a loser. You really have to stand out. Be bigger than life, grades and sat are not enough. Be a positive force but mature and mindful. If you can be super smart and this at 18, the world is your oyster.

</comment><comment><USER34> Why should anyone care what Harvard does? Isn't it a private university, and shouldn't they be able to choose who they want?

The whole thing strikes me as presumptuous and entitled.

<comment><USER35> Because employers love credentialism and can discriminate based on college.

Your ability to break into the highest levels of many fields depends on that Harvard degree vs a public or 2nd tier private school.

<comment><USER34> What's stopping you from making a groundbreaking company of your own and becoming an employer yourself? Employers can hire who they want and if Harvard's selection of candidates does not meet their standards, you can be sure that employers are going to stop hiring from Harvard.

<comment><USER35> Nothing. I can't afford Ivy League people, 90% of the people we fire are from public colleges.

</comment></comment></comment></comment><comment><USER36> I thought the ACLU had a rather interesting take on this issue: "Make no mistake: A lawsuit against Harvard that's purported to represent the interests of Asian-Americans would, if successful, primarily benefit white students. #DefendDiversity" [https://twitter.com/ACLU/status/1051626960537808898](https://twitter.com/ACLU/status/1051626960537808898)

<comment><USER37> Quite aside from the question of whether or not its okay to discriminate as long as it is principally whites who are harmed, I find this statement from the ACLU to be bizarre. I think it is fairly obviously wrong.

Moreover, the plaintiffs commissioned a study on the effect color blind admissions would have on the racial distribution of Harvard's undergraduate population. It should be taken with a grain of salt, as should the materials offered by the defense, and I suspect it overestimates the effect a bit, but it conforms fairly closely with anecdotal evidence I've seen and so sounds much more plausible to me than the ACLU's take.

It claims the share of black students would shrink from ~15% to ~0.9% and the share of hispanic students from ~15% to ~3%. Meanwhile, the share of white students would shrink slightly from ~37% to ~35%. The proportion of Asian students would roughly double, from ~25% to ~50%.

Again, the specific numbers might be a bit off, but it generally agrees with a lot of anecdotal evidence I've seen --- being black or Hispanic gives one a large advantage, being white is close to neutral, and being Asian is a large disadvantage.

<comment><USER38> If the primary goal is to be selected into Harvard, your finding is correct. Is it wrong to optimize for several metrics? What if the goal was to create opportunities that would exist for decades, for generations?

[1] [https://www.npr.org/sections/codeswitch/2018/03/19/594993620...](https://www.npr.org/sections/codeswitch/2018/03/19/594993620/forget- wealth-and-neighborhood-the-racial-income-gap-persists)

[2] [https://www.nytimes.com/interactive/2018/03/19/upshot/race-c...](https://www.nytimes.com/interactive/2018/03/19/upshot/race- class-white-and-black-men.html)

</comment></comment></comment><comment><USER39> Does it still include a photograph? When I was a kid, my parents avoided such private schools and similar institutions because of the dog-whistle of anti- Semitism and other genetic pedigree bias it likely signals.

</comment><comment><USER40> So in addition to having solid academic credentials, the ideal student would be from a rural place, a star athlete, potential humanities major (Philosophy, History, English), have parents with working-class jobs (chef, homemaker, construction worker), interesting or familial extracurriculars (film making, baby sitting), maybe an immigrant, maybe a racial minority, maybe not straight, but most importantly has great interview skills and personal recommendations emphasizing how outgoing, clever or mature you are.

Or your parents are super rich and can donate money for a new building or donate their entire art collection.</comment>


Lots of Rubies, now what? - <AUTHOR> http://merbist.com/2009/11/30/lots-of-rubies-now-what/ <comment><USER2> "The way I see it, for any new Ruby project, you should start be using with Ruby1.9. If it doesn't fit your needs, then, consider an alternative."

But first, make sure the alternative implements all of the Ruby you are going to need.

</comment><comment><USER3> Is there a problem here?

Yes, there is a problem. The problem may not _be_ the many implementations of Ruby but there is certainly a problem.

There should be one Ruby _just works_ or, at the least, different Rubies that can be added and removed only for performance reasons. We aren't there yet and we should be. Multiple Rubies might be a step there. Let's hope.

\-- Good choice is when you get lots of choice about what tell your system to do. Bad choice is when you have to make lots of choice _about_ you want the system to do what you tell it. The Ruby language itself has lots of good choice in it. But the "now you can choose lots of Rubies" situation is a bad- choice situation.

<comment><USER4> For one Ruby that _just works_ , use 1.8 for legacy apps and 1.9 for recent or new apps. Consider the alternatives only to augment or if they are needed for a particular requirement (e.g. JRuby for Java libs, MacRuby for Cocoa, etc.)</comment></comment>