8 ms·
So much of everything is about connections and reputation. Tech in particular holds up a guise that people are chosen and ascend because they are “good”, meanin
by kbos87 6y ago
So much of everything is about connections and reputation. Tech in particular holds up a guise that people are chosen and ascend because they are “good”, meaning, they are good at what they do. That’s part of it, but it’s an insufficient part, and you can do pretty well in a career being solidly average at what you do.
The real currency in my experience is one thing - relationships. Do I think this person likes, respects, and would vouch for me? Everything else aside, that’s what people optimize for when they choose who to promote, respond to reference requests, and generally in who they engage with at work.
Oftentimes It seems like it may not even be a conscious behavior, they just know that’s who they have a gut feeling about.
I definitely wish this wasn’t the way of the world, as someone who isn’t a natural when it comes to building relationships in a professional setting. But I also don’t let it get me down. It’s an element of human nature that’s hidden many layers deep in the workplace.
When I finally faced this fact and started devoting some of the time I previously spent on hard skills, I realized it was far and away the more impactful way to allocate my resources.
- vivekd 6y agoYes, this was the opinion I came here to post, certainly my own profession of law is like this, at least where I practice in Toronto Canada but I can't imagine other places being much different. I think one advantage of computers is that what you produce at the end has to work - and if the code doesn't work or you don't know what you're doing, you're quickly exposed as a fraud. This is not the case in other fields like law, academia, politics, and even the corporate world where the results and methods are more abstract and given to opinion. Unfortunately much of the world is run by people who excel in the abstract fields rather than the technical ones.
- KittenInABox 6y ago> I think one advantage of computers is that what you produce at the end has to work - and if the code doesn't work or you don't know what you're doing, you're quickly exposed as a fraud. Is this actually true? You can bullshit coding...
- oneplane 6y agoTake the old guestbook example: if you can't add entries to the guestbook the code apparently doesn't work. No way around that.
- earthboundkid 6y agoSubcontract it to someone who writes it with security holes.
- heavenlyblue 6y agoIf you are a lawyer and can’t write you probably wouldn’t be able to sell yourself as a lawyer. However being able to write doesn’t make you a lawyer. Same with the guestbook. It may even work. But on the inside it’s a pile of unmaintainable crap.
- heavenlyblue 6y agoAlso we can take this idea even further: what if only 1% of the entries in the guestbook don’t show? Does the code work? What if it’s so badly written it take someone with a really good experience to be able to prove that bug exists at all? How do you go about proving this? In the real world people are going to dismiss it. If you are playing against a politician you will be told that you simply have a bad memory thinking that some things exist that really don’t.
- deleted 6y ago[deleted]
- FpUser 6y ago> I think one advantage of computers is that what you produce at the end has to work - and if the code doesn't work or you don't know what you're doing, you're quickly exposed as a fraud. This is very naive point of view. Think of how car repair shops bullshit customers (especially what was before some mitigating laws) and then multiply it by Pi or more
- heavenlyblue 6y agoThis goes so well against the “free market hypothesis”. There are industries where lying is simply a stable equilibrium. You need law to keep those businesses going and fair. Otherwise the lemons spoil it for everyone.
- giantDinosaur 6y agoI don't think it's true that computers are great at exposing this. Software ranges from the concrete (does this button do anything) to the abstract (does this statistical program have an off by one error that's invisible to customers other than returning somewhat wrong results?). I think there's two competing definitions of 'work' in software - 'it works' as in 'allows for use' which can compete with the 'implements properly'. Computers and code will brutally expose the former, since it simply will not allow you to do something if it's broken. They don't necessarily expose the latter.
- karmelapple 6y agoIf the software should let me do X, I can click around and confirm that I can do X. I think most people would consider that the definition of “works,” rather than the quality of the code, the validation that the proper thing was built, etc. Looking at the code can tell you whether it was “implemented properly” - or at least, if it was done reasonably competently. Relationships, though, can help you know if that properly implemented code was likely a fluke or not. Does the person ask questions? How do they ask questions? How do they communicate? How do they capture requirements? How do they push back when something seems unclear or unwise? etc.
- hn_throwaway_99 6y agoI don't buy your arguments - at all. At the end of the day people have strong expectation about what software should do. If it doesn't do that, they will quickly notice. If they don't notice (now or in the future) things like your "off by one" errors, then that requirement wasn't likely that important to begin with. Now, I've seen plenty of "demo-ware" software that has been presented as something that was much more than it actually was, but again, stuff like that always falls over, riddled with bugs and crumbling under load, when it gets substantial use. Some things you really can't fake, and software engineering is one of them.
- giantDinosaur 6y agoPerhaps we have different conceptions of 'fraudulent'. I don't think it necessarily implies 'fake', but something more along the lines of using inferior building material. Perhaps it 'wasn't important all along' or perhaps it'll lead to catastrophic failure in 25 years, who knows? Software 'engineering' may be hard to fake, but that's because you're probably defining it as the proper way to develop software. A lot of software is certainly not built in a way familiar to an engineer.
- dba7dba 6y agoI know friend of friend who went to Harvard Law like 15 years ago and she told me there is SO MUCH butt kissing going on there. You'd think people who got that far would be confident enough to rely on their own skills/study to get ahead BUT even at that level, there is a lot of butt kissing to get ahead.
- throwphoton 6y agoIt's the correct asses though.
- tangjurine 6y agoIs choosing the correct butt to kiss NP-Complete?
- didibus 6y agoThis is one reason I believe computer science should be thought in school just like mathematics. The experience is very humbling, you've got all this logic, all the rationale, to you, it must work, but the computer knows it doesn't make any sense. I've learned that most problems are easily dismissed by people as being "easy", "simple", just do this, just do that. I've found software forces you to really think through, "just do this" is easier said then done, how to do it? Real problem solving is hard, and I do think computer science humbles you in that sense. Here's an example, my friend always tells me he thinks we shouldn't take anymore refugees. Alright, I'm not even going to debate the the morals or anything like that. He just think, whoever is letting the refugees in is dumb and shouldn't do that. That's surface level thinking to me. How do you do that? There's a boat arriving to the shore, full of refugees, it's not turning around? What do you do? This is a hard problem, no matter what you think you want the features or use case to be, how do you do it? The logistics are difficult, how do you scale it? What about all the edge cases? What about the cost? In that sense I think CS can help you learn how to really think through a problem from understanding the full implications and complexities and the challenges. We learn this by trying to model problems and their solutions very formally.
- tasogare 6y ago> Here's an example, my friend always tells me he thinks we shouldn't take anymore refugees. [...] That's surface level thinking to me. How do you do that? [...] What do you do? It’s funny you take this example because your point of view is precisely surface thinking too. I bet you don’t have any concrete plan to fund housing, education, healthcare for those people, nor you have one for them to become productive members of the host society. They are dozens of factors that makes irrational to allow any of them, and a lot of countries (Australia, Japan for instance) have in fact a successful policy of allowing only a bunch of them.
- arczyx 6y ago>It’s funny you take this example because your point of view is precisely surface thinking too But they're not...? GP didn't say he want to take refugees in, they merely said their friend want refuse refugees without specifying how exactly they want to accomplish that. >I bet you don’t have any concrete plan to fund housing, education... I don't think this assumption is fair.
- op03 6y agoYou make a very good point, but I'd like you to believe its not unfortunate. Most people I know would happily sign a document that states 'We hold these truths to be self evident that all men are created equal', even though the world shows us every single day that it isn't true. In technical fields, getting that document approved would be a nightmare. Maxwell's equations on the other hand are easy to get approval for. They are 'self evident'. Because they describe what we see, not what we want to see. So thank god for Jefferson penning that line down and effecting how everyone thinks, because it shows us for some problems, the ambiguous kind, were truth is what we want it to be, technical fields will struggle to provide answers. Its very fortunate, esp to make progress on all the ambiguous problems, that society props up a Jefferson now and then. How did Jefferson get into that position and not some jackass, is the most important question. And the answer to that, with a modern developing understanding of networks and graph theory, has only recently started moving from the abstract and ambiguous to the more technical - https://www.youtube.com/watch?v=07KKYostAJ0 https://www.youtube.com/watch?v=07KKYostAJ0
- mettamage 6y ago> I think one advantage of computers is that what you produce at the end has to work No that's not true, that something works is beginner level stuff in many cases. In some cases you're right though, because what has been asked is a super tough problem to crack. I'll showcase the moments in which the "it has to work" requirement is not enough. To show this example, I already have to break 2 conventions that are a no no, in my opinion. To other devs: I'm commenting everything (I can't assume someone who works in law to know code, he/she might, he/she might not) and I'm using globals for easier variable reassignment, to ease the example for readability. Let's get started. The requirement: print 5 to the console of your browser [1]. Open up Chrome Dev Tools (view -> developer -> developer tools -> console) Type in the following: five = 1 + 1 + 1 + 1 + 1 //compute 1 + 1 + 1 + 1 + 1 and save it in the computer with the name five console.log(five) //outputs 5 five = 0 //reset // loop 5 times, and every time the pc adds 1 to the saved part of the computer named five for (loopCount = 0; loopCount < 5; loopCount = loopCount + 1) { five = five + 1 } console.log(five) five = 5 //save the number 5 in the computer with the name five console.log(five) //outputs 5 console.log(5) //also outputs 5 FIVE = 5 //all-caps is a convention for that something is a constant, like a constant number such as 5 console.log(FIVE) //outputs 5 as well, and also probably the way programmers want to see it. Some of these methods have been really silly and if you catch that during an interview, you won't pass. People can point out that most of these methods happen one way or another, but not when you have a simple requirement such as "output 5". In fact, if that truly is the requirement, then I would go for: console.log(5) And I'd consider the first 2 entries totally nonsensical (unless I asked it with a funny voice or asked them to do whatever / be creative), the 4th entry slightly questionable but fine and the 5th entry fine. [1] Read the following link to have some context about what the JavaScript console is. Don't worry about not understanding the code or the technical terms. You're not missing anything, as far as context is concerned, I checked. Read it until the first paragraph of "Running JavaScript". https://developers.google.com/web/tools/chrome-devtools/console https://developers.google.com/web/tools/chrome-devtools/cons...
- makapuf 6y agoA question: is really fifth the best ? Seeing FIVE=5 always irks me, as it's an extra indirection for nothing. What do I gain with it ? The ability to change it to FIVE=6 ? OUTPUT=5 maybe but then console.log(OUTPUT) gains you nothing. Maybe NB_LEGS=5 and console.log(NB_LEGS)
- hkai 6y agoYou are correct, although I personally know two programmers who are not able to write basic JavaScript code and have survived for almost a year in their jobs by asking around, copying other people's code and asking for help ("I did this, but somehow it doesn't work!"). I don't know how to raise this issue at work without being insensitive.
- m463 6y agoI think these relationships are the spice of life. It's just any sort of scorekeeping added on top screws things up.
- veritas3241 6y agoI've been thinking about this a lot lately and have come to a similar conclusion. I've been very focused on technical skills lately, but in doing so I've started to lose some connections in my org and network. Career growth depends more on relationships than I'd like to admit.
- everyone 6y agoI clicked on comments so I could type exactly that .. "So much of everything is about connections and reputation."
- closeparen 6y agoIn my experience, coworkers gravitate towards each other socially because they respect each other's skills. Competence, humility, integrity etc. in your work are a major source of those warm fuzzies.
- nine_k 6y agoBut humility and integrity are "soft" qualities, outside raw technical prowess. A talented jerk is a scourge of a project (especially in open-source): the engineering might attract others in the short term, but being a jerk makes long-term interactions painful and not very fruitful.
- closeparen 6y agoSure, but these are qualities that come across in how you do the work, that make people want to build relationships with you. Brilliant jerks are bad, but engineers also tend to resent politicians.
- gregcoombe 6y agoTalented jerks can absolutely destroy a team. In my experience, the actual degree of coding prowess turns out to be significantly less important than the ability to collaborate.
- babesh 6y agoThe way a former boss explained it to me is that bosses need to form pyramids to support their own ascension. It is just subtribes within the big tribe fighting for power and dominance. Those networks that you form to support your own rise are used by your boss to support their rise. You get promoted because you will make your own boss look better in the future. The second this ceases to be the case, you get discarded like a used tissue. Competence is very far down this equation. I suspect this is almost universal. The only forcing function is what features the ultimate power selects for. A great CEO forces the subtribes to compete on the basis of value added. We pretty much act the same way as those chimps in nature shows.
- tomrod 6y agoIn corporations, yes. Corporations are like communist governments without authorization for coercion -- relationships and networks determine your impact. If you sell a product, there is a different calculus for ascension.
- babesh 6y agoYes.
- amznthrowaway5 6y ago> Competence is very far down this equation. The worst part is when performance review time comes around. It's obvious to anyone looking at the situation objectively that competence doesn't matter much when choosing who to reward and who to fire, but seeing the tribe members pretend otherwise and target hard workers who aren't part of the clique is absolutely devastating to morale.
- nine_k 6y agoReputation is very important. It is a cached value of "worthiness". Knowing it allows you to save months, or maybe years, of expensive experimentation. The validity of any cached data can be a hard problem; in the case of reputation, a problem there is. Still, however imprecise this tool is, its usefulness is so high it's not going to go away from human interactions.
- threatofrain 6y agoWhen you're focusing on your own skills you're polishing an aging vehicle for value delivery, which is mostly only good when someone else glues you with other people. When you're polishing a social network you're engaging in a more amorphous activity with respect to value, but you're also investing in something beyond you, a kind of social coherency which will likely outlast your death.
- porknubbins 6y agoI think thats really true from the perspective of a fairly experienced person but I also think it takes a level of skill to build social currency. Building a network is 10x easier when you have done something noteworthy compared to just pure networking off your personality or whatever.
- ryoshu 6y agoWe remember the really good people and the really bad people. The mediocre ones... we'll see if they are a good fit.
- mettamage 6y agoI've noticed this when applying to FAANG. The online resume site doesn't cut it. You need to know people to get past the resume screening, even if you have a bachelor + master in CS, TA experience and some work experience. Someone did reach out via HN recently, which I am really grateful of [0]. I'm curious to see how that works out. It's only FAANG, I've also seen this everywhere in The Netherlands. I've been looking for a job for 18 months -- I've been picky as I was very ambitious during my uni (yep, my mistake, ambition can be very detrimental to one's career as it can make someone quite picky, aka only big corporations). The irony is that a couple of months ago, I walked into my old university, met an old colleague that had a startup and wanted to hire me straight away after the most relaxed interview I've ever seen. They wanted me to read some code and explain what was happening, it was about some caching system. So yea, it's all about people. From my perspective, there is little meritocracy to be found in the tech world [1]. Maybe past the resume screening? Definitely not before it. [0] Next to my own gratefulness, what I always find amazing to see is how some people in really dire situations get completely picked up by HN and sorted out, in some cases. I really feel for the homeless people in the tech industry, because it's a relatively rare issue, but it does exist! And those people tend to be able to find help here. [1] Maybe there's a lot of it by comparison to other industries, but if a house has been burned to the ground and other houses are starting to catch fire, while in other cases entire city blocks are on fire, then I wouldn't call it a good situation in both cases.
- o10449366 6y agoFWIW, this wasn't my experience at all, but also there may be differences between the US and Europe. I went to a unremarkable top 50 state school in the US, graduated with a 3.0 GPA BS in CS, had a single internship at a no-name local company, no research experience, no referral, no significant personal projects, no TAing experience, and I got interviews at Amazon, Facebook, and Google by cold applying online. It was at the smaller companies and startups where I couldn't get past the resume screen, likely because unlike FAANG they can't afford to interview literally tens of thousands of candidates every year.
- mettamage 6y ago
- badrabbit 6y agoMixed experience here. Technical breadth has helped me a lot,but relationships helped me more. They're not mutually exclusive. If I had barely enough technical skills though,no relationship can save me.
- N1H1L 6y agoYes. Too much networking without any technical accomplishments can often backfire.
- econcon 6y ago>Do I think this person likes, respects, and would vouch for me? But do you know who else does this for you? A dog. I've never promoted anyone who likes me or respects me or vouched for me, I promote those who are reliable and have have skills to achieve the task at hand, one who will not betray themselves or their company for some kickback.
- SZJX 6y agoBoth are valid IMO. Of course you wouldn't choose a spineless clown who only knows to please the others but not actually do any real work (though admittedly this might be what's actually happening in some places). But on the contrary, you probably also wouldn't choose somebody who only does 10x work but has endless toxic conflicts with the others and can't cooperate/earn mutual respect.
- econcon 6y agoBut a person doesn't have to respect, vouch for me, or like me to be a toxic person
- SZJX 6y agoEventually this does make sense in some ways. It's commonly accepted that you would want to avoid a 10x programmer who is toxic and drags everybody in the team down. So what's the huge difference of that to what you're describing? You'd much rather have in an important position somebody who everybody can trust, has mutual respect for, and is willing to work with, to somebody who is untrustworthy and looks down upon everybody. This pulls everybody together and eventually results in much better results for the organization (and hunter/gatherer group for example in ancient times), compared to the situation where one person has brilliant hard skills but makes everybody really uncomfortable and demotivated. Of course, one might interpret what you said in a slightly different way, in that two groups of people would fight each other and only vote for people within their group, which would be sorta counterproductive for the whole organization. However, the behavior still actually makes sense for the particular group that those people are in and creates the maximum benefits for everybody in that group. For the organization, it would then be a problem of reconciliating the interests of different groups of people.