Things Many People Find Too Obvious to Have Told You Already
threadreaderapp.com
threadreaderapp.com
This one. Every job I see when I go looking is 40+ hrs a week, likely with plenty of idle time and projects I don't believe in. Part of this is regional... my area is packed full of marketing jobs that I'm actively uninterested in. Anyway, I'm starting to get the hang of selling myself to contract shops, and I think I've found some twinkles of hope.
But today I was told straight up that my resume wasn't conventional enough, that it was too well-rounded. After quite a few messages back and forth, I'm not even sure if they even looked at my portfolio. They told me there was no money for me, because their funders were looking for someone more professional. So I took this as a sign that maybe this wasn't the job for me. No need to go barking up the wrong tree.
In the game dev world, I'd probably be a "technical artist", but even that doesn't quite fit for me. I'm like a "fool of all trades, jack of some, maybe a master of one or two". But it's hard to find a job that motivates me and leaves me with adequate space/time/energy to keep myself sharp and alive.
If anyone knows of funding for a guy that makes creative, reusable web components, let me know... edit: I just saw that vue.js is primarily funded by patreon. that's awesome!
Parent showed them a generalist skill set and they saw a lack of professionalism.
Yeah, thats part of the pattern. Generalists often do not appear as professional as specialists (which does not mean that everybody who looks unprofessional is a generalist).
The hard part is giving in to a job. I think my hesitancy in this area straight up reeks to the point H.R. people/recruiters can pretty much smell it. It's just not about the money for me. If I was doing something I enjoyed and had time to work on creative projects (a.k.a. "my life's work"), I'd be fine on ~ $1000/mo (say at ~20-40 hrs/mo). But this presents difficult hiring/management challenges, the main one being the challenge of using my time effectively. When someone is always on call, management doesn't have to worry about this as much.
Honestly, I think companies could get a lot more bang for their buck if they put more money into hiring people to maintain and improve on open source projects that they use. And I know that there are jobs like this out there. I just need to keep looking for one that fits me :)
Back when I quit my 9-5 job in 2006 my favorite quote was by the creator of Winamp... "For me, coding is a form of self-expression. The company controls the most effective means of self-expression I have. This is unacceptable to me as an individual, therefore I must leave."
No company deserved me because I was a creative innovator, and even though working retail for $10/hr wasn't using my CS degree, I'd rather do that than make $70k getting someone else rich. I thought I deserved $250k since I was obviously going to get them rich - so taking the $10/hr job doing mindless work was less of a sell-out.
The next 8 years I tried a lot of things, and went $20k in debt. When I reached my 30s, I realized a few things:
1. You can be a mercenary and get the skills you need for your own business while working for someone else. You learn and get faster while doing tasks for your employer, so even though the code you wrote is owned by them... the code you write for your own business will be better and done faster.
2. If you're worried about getting them rich... just do what they say instead of innovating. Most companies don't innovate, they just maintain the status-quo and have you build systems that meet existing needs and save a little bit of money. You aren't making the next Snapchat at a 9-5... and if you are, you should have equity.
3. Freedom is not just about having the time to do things.... I had all the time in the world in my twenties but no money. Being broke basically put me in a prison. I couldn't go on trips with friends, couldn't take girls out, couldn't do what I wanted because I'd have no money for it. Now that I have a full-time job and work on side projects, I have the opposite problem where I have money but no time.
Overall I think having a 9-5 job works better for my lifestyle. Maybe I just needed more discipline and I could have succeeded as an Indie developer making games, marketing software, apps... and whatever other shiny thing caught my eye... but now I do that stuff on the side. I still hope I succeed as an entrepreneur and reach a point where I have complete freedom (time & money)... but now that I'm older I realize that was always a long-shot.
Take Tumblr for example - they sold to Yahoo. Verizon bought Yahoo. If I was an engineer at Tumblr I'd be pissed that an evil monopoly like Verizon that's fighting against net neutrality is suddenly using my code.
I'm more humble now than I was in my 20s, and I don't think my code is anything special, but I still fear that the private company I work for will sell everything I built to someone I consider evil. If I have no control and no equity I'm going to act like a mercenary... I'll do the job efficiently and according to specifications, but they don't get anything extra. If they have an idea and have me build something that gets them rich that's great - but I'm not going to be like the guy who built GMail on the side at Google... I just do the job they tell me.
So what I am saying is at this point, do not worry about all these things. Keep up the side-projects, and if you do that over the long-term, you may one day find yourself in a situation where you have the freedom to dedicate your efforts to what you find meaningful.
But wouldn't you be happy that all your fellow coworkers also probably got to benefit from the sale? If you or your coworkers got rich enough then you could all just focus on doing things that you think matter or better the world!
https://tech.mn/jobs/?q=&type=1&role=0&cat=any
vs.
> "If companies find it hard to reliably staff generalist positions"
The process of hiring for this is hard. Finding people like this is also hard.
~Someone with little resume-driven experience but good grogging skills
The way they throw you into cold water is using whiteboard interviews. So if you don't like those... sorry.
It's incredibly hard to get a job. But your versatility will ensure job security for as long as you care once you're in the door, thanks to your ability to get into the critical path of different department's operations.
I'm a competent, high performing generalist who can work autonomously and self-sufficiently with enough confidence in my capabilities to have a high risk tolerance. In my current company I got tossed around from starting under a marketing manager, to getting shifted under the CTO after stepping on IT's toes too often, to getting pushed into a newly formed Operations group, to finally just reporting directly to the owner. While officially I manage a data management and BI team, in practice I'm the guy you escalate random problems and needs to. Creating a BI team was a byproduct of being a generalist and being the first person that needed a consolidated view of everything (and having the ability to execute on that need).
Looking for a new job is a pain. Companies don't explicitly hire for it, politics can come into play if the generalist doesn't know how to dance around the company in a way that doesn't threaten others' fiefdoms, there's no easy way to suss out competence from arrogance during an interview, no manager wants to frontload your salary on their budget when they won't be getting the full benefit of it, and a host of other things.
Generalists are valuable to a company, holistically. They're oil to the machine and fit in between all the specialized cogs to smooth things out and let you run the engine hotter without breaking down. But managers only manage their own cogs, hiring only looks for the cogs they're told to find, and at the end of the day whether there's oil in the machine is Someone Else's Problem. Very few teams exist which have the prerogative and budget to hire for that holistic need, so most companies just go without oil and don't think about it ¯\_(ツ)_/¯.
Your job and experience sound very similar to my current role. I don't have an accurate job title anymore, and I very much see myself as the oil that makes the engine of the company run more smoothly. I wear about four or five different hats, all depending on what fires I need to put out. Good to meet someone doing something similar.
A firm without This Guy means that more small problems/needs get ignored since it doesn't clearly fall into anyone's scope of work or warrant the cost associated with the specialist. And if it gets large enough to not ignore, a specialist will consistently have to context shift to something outside of their specialty when something tangentially related pops up. This decreases their productivity considerably, decreases their satisfaction as they can't focus on what they truly enjoy doing, and increases business risk as things get overcomplicated or slip through due to a more biased view on the strategy to perform the work (based on whatever the individuals specialty is).
Practice-wise, it astounds me how many people/institutions expect different results from everyone else while hewing to the same practices as everyone else. Why do you think you'll be the exception? Why can't you look at the reality of what is working and what isn't?
This applies to so many areas of life, but it is extremely pronounced in business, where everyone cargo cults every little practice of AmaGooFaceSoft and believes that is what made them who they are. It's like there's an extreme deficit of original thought.
The more skills you are trying to get filled for one position, the less likely a candidate will match all of those skills.
Take any job posting with 20-30 lines of skills or requirements and it's really no wonder they can't find someone that meets all or even half of that.
I think that hiring practices haven’t really caught up to pace of reality yet. Nobody does the same thing for more than 5 years anymore, even if you’ve been at a company that long what you’re doing today does not look like what you were doing then. The chance that a new hire already knows all the parts of your stack is basically zero. What you want is someone who soaks up frameworks like a sponge.
I'm not a web or mobile developer. I'm not a "devops engineer", and I'm not a "backend engineer." I'm a problem-solver. But to many (most?) companies, this means that I need to be classfied into a track. I need to be an X or a Y or a Z. I can't adopt those roles when necessary--I need to be slotted in and just go.
That doesn't really work for me. Which is a major reason why I'm a software consultant now. I'd go do a full-time job that respected my complete disinterest in being pegged to a particular role and was able to give me the latitude to solve cross-cutting problems at scale. But that's a hard role to define, a hard role to hire for, and a hard role to evaluate--which is why they, and other generalist-focused roles, don't often exist.
It's easy to get a job. I can walk into almost anywhere in Boston if they're hiring and get an offer; I interview extremely well. I can't get a job that actually leverages my skills.
When you sell your time, you need to fit into a role that someone can comprehend and already knows they need.
When you sell your ability to deliver results, nobody asks about your skillset.
I don't enjoy entrepreneurship.
I keep wondering if I should take the rate cut for a year or just study mathematics at the local university (which is free here) ...
Having a math PhD could also help cut through the bs of people thinking you're not useful because you're a generalist. Suddenly, they'd be asking you to help them with weird little problems. Which is what I'm pretty good at like to do!
Either you fit yourself into the structure of someone else’s business, or you’re in business. If you’re in business, there’s no lack of diversity in what you spend your time doing. That’s what I mean by entrepreneurship, not “SV startup entrepreneurship”.
Something to think about. Thank you.
Yes, companies have complex problems to solve, that require more than a few days or weeks of work at a time. If you want to just wake up every day and decide that you need to work on a totally new project, you're not going to be very useful.
Lots of people have a wide range of interests, but you pick one of the many areas that seems interesting and that you can contribute to, and you work on that for a while and try to make a difference. "Adopting a role when necessary" is not that different from slotting in to a team, since you can often change teams every few months if you want to, or even work across teams.
What you describe is a hard role to define and hire for, but it's a role that many engineers create for themselves by being both great problem solvers and willing to do what is most valuable for the company. Consider that maybe you haven't gone in with the right mindset to make it happen for yourself.
I also happen to think that I'd be good at it, because it's kind of what I already do, and I wish it was more common because that'd be great. Heaven forfend. I mean, you can try to pull the well-actually-it's-labor-that's-bad thing by trying to turn it into my mindset is wrong rather than let's talk about executive and managerial allocation of resources and whether we do a good job of it across the board, but the thing speaks for itself.
And you're right, that post is braggy. It's also marketing: from this thread I've gotten two emails inquiring as to the state of my pipeline and if I'd have time for a chat. It can be both self-marketing and a reasonable observation of reality. (Email's in my profile.)
Case in point - I'm a generalist who can very credibly claim very significant expertise at two disconnected areas (compilers and distributed systems), plus some startup/ product management expertise. I saw a job listing here for a startup that needed both of these and claimed they're looking for remote work - so, even though I'm not actively looking for a job, I wrote them; the match between my skills and their needs seemed too good to be true.
They wrote back the standard rejection mail - didn't even try to talk to me. I thought that maybe they found someone else, but no, they still advertise the position. I know it sounds arrogant, but there's no chance in hell they can find many better candidates (I doubt that they can find even one, but well, good luck).
Are their recruiters uniquely ignorant? Unlikely. I think many companies do a lousy effort on recruiting, and then wonder why they can't fill the positions. One of the reasons "internal referrals" work so well is that the candidates are at least seriously considered.
I have seen three approaches to limit this. First being to stay super field specific but implementation general, but not keyword void. Second, is to go super rabbit hole on every keyword/tool/language/platform you have ever worked with inside the field.
The third approach is to have a type one resume with a type two cover letter. That approach has usually been the most consistent for callbacks in my circles, and allows for your rabbit hole to be of the same type as the job description.
You are not just a good frontend engineer you are a good frontend engineer that is competing with other good frontend engineers. You lack professionalism (it sounds like) so you lose against those guys.
Good luck, at some point you either find the place that works for you or you learn expand your skills. Seems like you need to improve your tolerence for down time. It could be worse
Have you ever done freelance web stuff for small businesses? There are some people who want you to be their webmaster... You give them a CMS and they want you to go fix their typos. So you say "Okay, sure, but it'll be $50/hr" and then they get frustrated because they don't have someone doing that kind of work on their end. They think it's your job to "make their website", but don't want to take ownership of the thing.
This is an analogy for the kind of thing I'm taking about. I want to help solve problems, and I want to provide value for my employers, but I'm unwilling mindlessly give up my time to people who don't value it outside of their myopic needs. A lot of times, that's what's expected to be "a professional". Well I don't want that. I'd rather be an amateur who's also a respectful and savvy business partner, who's definitely interested in helping you with your project but also keeps healthy boundaries for myself.
I'm definitely more of "an amateur" (lover of) than a professional, but I don't see why that should make me automatically "unprofessional" in my business relationships. On the contrary, I think it's fully possible to "be professional" without providing unrelenting 40+ hr/week service for a year. If that's not what you're looking for then with all due respect that's fine! But please don't blanket assume I'm "less professional".
If you've got someone who is largely autonomous and can wear multiple hats, steering them in a single direction may be more tricky than a specialist that doesn't seek work outside their remit.
* "Have Fun at Work" by William L. Livingston -- Livingston provide examples of how organizations are often incapable of hiring the people who might help them most.
* "The Murdering of My Years: Artists and Activists Making Ends Meet" by Mickey Z. -- This book is more in the category of seeing how bad so many creative people have it (until perhaps we get a basic income some day, Star Trek replicators for subsistence, a gift economy, and/or better government planning).
* "Drive: The Surprising Truth About What Motivates Us" by Dan Pink: https://en.wikipedia.org/wiki/Drive:_The_Surprising_Truth_Ab...
* "Punished by Rewards" by Alfie Kohn: http://www.alfiekohn.org/punished-rewards/
* "The Abolition of Work" by Bob Black (which reflects your point in another comment on "giving in to a job"): https://web.archive.org/web/20161031034600/http://whywork.or... "Only a small and diminishing fraction of work serves any useful purpose independent of the defense and reproduction of the work-system and its political and legal appendages. Twenty years ago, Paul and Percival Goodman estimated that just five percent of the work then being done -- presumably the figure, if accurate, is lower now -- would satisfy our minimal needs for food, clothing and shelter. Theirs was only an educated guess but the main point is quite clear: directly or indirectly, most work serves the unproductive purposes of commerce or social control. Right off the bat we can liberate tens of millions of salesmen, soldiers, managers, cops, stockbrokers, clergymen, bankers, lawyers, teachers, landlords, security guards, ad-men and everyone who works for them. There is a snowball effect since every time you idle some bigshot you liberate his flunkies and underlings also. Thus the economy implodes."
Contrast with notions of "full employment". Or, sadly, also most of what Silicon Valley is up to these days...
About a decade ago, I sent that last link to an Apple recruiter who contacted me -- never heard back. :-) Not that I am a "Steve Jobs" or would want to be one, but, as with Livingston's point, would Apple hire a Steve Jobs as an employee? Almost certainly not. See: http://careerfuel.net/2013/06/if-apple-wouldnt-hire-steve-jo...
Though for balance, on the value of working together with others even in difficult circumstances, see "Buddhist Economics" by E.F. Schumacher: http://www.centerforneweconomics.org/buddhist-economics "The Buddhist point of view takes the function of work to be at least threefold: to give man a chance to utilise and develop his faculties; to enable him to overcome his ego-centredness by joining with other people in a common task; and to bring forth the goods and services needed for a becoming existence. Again, the consequences that flow from this view are endless. To organise work in such a manner that it becomes meaningless, boring, stultifying, or nerve-racking for the worker would be little short of criminal; it would indicate a greater concern with goods than with people, an evil lack of compassion and a soul-destroying degree of attachment to the most primitive side of this worldly existence. Equally, to strive for leisure as an alternative to work would be considered a complete misunderstanding of one of the basic truths of human existence, namely that work and leisure are complementary parts of the same living process and cannot be separated without destroying the joy of work and the bliss of leisure."
I've collected some more ideas on making workplaces better here: https://github.com/pdfernhout/High-Performance-Organizations...
From what you describe, if you can't find a direct match to what you would like to do, you may want to consider being frugal and then earning what money you need to live in a low-stress part-time occupation with the rest of your time then available for what you really want to do. Have you ever considered, say, cleaning carpets to make ends meet? https://web.archive.org/web/20030807105050/http://www.unconv... "More than a few people agree the best career would be one which provides challenge, intellectual stimulation, and rewards for quality work. Many however, would be surprised to discover they can have all of those benefits and more in some of the unlikeliest of careers. Case in point: I'm a professional carpet cleaner. Some people think this is a second-rate career. I don't agree with them. Carpet cleaning gives me challenges, intellectual stimulation, and many other rewards. To prove this, permit me to walk you through one of my work days. ..."
If instead you focus on "selling [yourself] to contract shops", you may find this book Aaron Erickson useful: "The Nomadic Developer: Surviving and Thriving in the World of Technology Consulting".
I think one of my best bets right now is to lean hard into teaching, especially piano teaching. I have one committed student and a few more excited but broke students who take lessons from time to time. Is very rewarding and there is lots of mutual respect.
Assuming your skillset is good, run, don't walk, away from those idiots.
If you have 3 primary skill sets you should have 3 focused resumes.
If you want a position that requires a generalist, the only/best fit would be founder. In almost all other circumstances, companies hire for a problem and not general optimizations. Even if they need a generalist.
I would posit that you have a marketing problem and not a skills mismatch problem. The noise to signal ratio on your resume may be making it seem to not match any position.
I think you're very right about my marketing problem :)
On the surface, my website is kinda out there. I built it from the ground up using Rake and some gems as a static site generator. I think it's very cool, and I don't expect that many people will appreciate it, but I'm hoping that one day someone comes along and says "wow, that's pretty cool, wanna help us with this Ruby thing?")
In a deeper way, this whole discussion is very helpful... it's giving me a fresh perspective on how to frame conversations with future potential employers.
And actually the other day I had an epiphany about my marketing. Sure, I chose an odd path, but I've already done so much of the work! I just need to get my random little open source tools in decent, usable shape so that people who'd find them useful might actually get a chance to use them. I need to get my half done work finished and make tutorials about it and get myself out there.
This came after I got a call from a contracting company who told me they were bidding on an interesting job that might be a good fit for me... I was so excited that I stayed up all night and finished like three old random projects at the same time, just so I could put more stuff on my portfolio. It was a wakeup call, affirming that there actually just might be some cool work out there after all... so get your shit together!
I have the 3 primary skillset problem you describe and have a decade of "founder" experience. I thought the breadth of experience and technologies would be impressive, but I think it just confuses most employers. It seems counter-intuitive to intentionally not mention your skills on your resume, and admittedly a little ego-deflating.. but this actually makes sense.
I was heading the direction of very focused resumes. I've also landed a low pressure founder role too, so that's nice.
Well, that's because CS programs are designed to teach CS, not to be a vocational school for programmers.
You can liken CS to something like Chemistry. Is Chemistry about test tubes and HPLC devices? No. Will you learn how test tubes work when you do a chemistry degree? Probably.
It just happens that the practical skill practiced by CS majors is coding. And coding has this unusually large applicability that wet lab work doesn't. Does that mean CS is about coding? No. But you'll probably learn more about coding doing CS than most other things.
Sure, you learn some mathematical tools that can help you solve some very practical problems, but it stops about there. I was not taught anything close to creative mathematical thinking. I was never taught the fundamentals of things: the axioms and the theorems on which the tools we "learn" are based on. I can guarantee you no one in my graduating class could read a proof of even modest complexity, let alone write one.
Granted, I did go to a school with a good reputation, but one of a very practical/applied program. Still, I'm pretty convinced that math and engineering are very, very different fields, even if all engineering programs include a handful of math classes.
What's that about? Does the lecturer just state theorems without proving them, or does it mean that the students aren't required to be able to prove them?
This describes 99% of the math that most Americans (including engineering students) who are not math majors will ever encounter. Proofs may be presented as curiosities, and students may even be quizzed on them, but students would not be expected to come up with proofs they haven't seen before.
I think this was the author's point. You state it is a minimum requirement, implying a CS degree is a more challenging requirement. Yet it's not hard to find people with CS degrees who do not have the minimum requirement.
I dont see where. The implication is that they are assumed to be contrary to reality. It's supposed to be a list of obvious facts.
This reads to me that Patrick wishes that the joke were not true, which is corroborated by other comments of his, such as https://news.ycombinator.com/item?id=7761134#7762383
The fact that you think that the article is in any way objective is why it is so dangerous. Ideology is like water. Patrick's assumptions and biases shape how he presents his "facts" and which facts are left out. It's not objective! What he is really doing is presenting a specific market-based worldview, which has certain insights and major deficiencies.
Consider for example "There is no hidden reserve of smart people". It sounds like an actionable insight, but is it true? Is it even falsifiable? What does it mean? And what actions would it lead you to take?
My answer: it reinforces the perspective that smart people are the only people worth considering, that there are few smart people, and (in context) that these people are mostly "generalists" and entrepreneurs. It values "intelligence", probably measured in terms of short-term ability to make money, and leaves out values and self-reflection. It leaves out the possibility that you can learn from anyone (c.f. the story of the $20 fan[1]). It leaves out the possibility that your hiring process could be discriminatory or unwelcoming. And so on.
This, I argue, is a good demonstration of why programmers need liberal arts; technical decisions are never just technical decisions. We must remember to ask who wins, who loses, is that desirable, is that just?
[1] http://cs.txstate.edu/~br02/cs1428/ShortStoryForEngineers.ht...
I still don't see this argument being made in ANYTHING you posted now.
> The fact that you think that the article is in any way objective is why it is so dangerous.
How does this relate? I asked for how you came to a conclusion and have gone off into other topics that you're using to characterize a perspective or ideology. I don't care about what you think or what the author thinks. I care about finding how you jumped to a conclusion based on the article's text.
The handwaving to make your own intellectual assertions (right or wrong) have nothing to do with my issue, in the content of what you originally stated. Good luck with whatever.
I suspect the answer is that our culture is confused, we want people who are smart and well rounded to also be useful. And the ugly side of it is, we want clear class divisions. One would never refer to law school or medical school as "vocational".
They're also very expensive to attend, and the most immediate value they offer is to get people jobs
Sure you would. They are 100% vocational schools. Their cost, acceptance rates, time commitment, and difficulty level may be higher than other vocational schools, but that doesn't change what they are -- 100% focused on giving you the knowledge and skills to do a specific job.
It's almost like they rose from the death of many for-profit technical schools (DeVry, WestWood et al.) and took their ecological niche. But in contrast to bootcamps, these for-profit schools were too big, slow, and ineffective.
You don't have to have an engineering degree to get a co-op job. The student gets paid well over minimum wage (and learns on the job) and the employers get financial incentives from the gov't to hire students. Its win-win for both the student and the employer.
Co-op programs are optional, and take place in the summer or in a gap year. The affiliation of companies hosting co-ops is loose, and the schools charge large fees for participating in these programs (with the exception of Waterloo).
Speaking from personal experience, results may vary.
Note that my degree is from a well-reputed Canadian school that has a "software engineering specialization", and as far as I can tell (though I did not take it) that specialization is indistinguishable from the main CS curriculum, and is not valid vocational training.
Hell, they aren't even focused on teaching you to pass the bar, which is why most people pay for separate cram schools.
Arguably, "a school one must go to in order to practice a vocation" can be referred to as a "vocational school." I understand that vocational schools are often thought to be purely practical and not theoretical, but I think this definition does a disservice to the reality of entering certain vocations.
What? I suspect that it's typically, if not exclusively, those in the upper classes that want this. The ugly side of it is human nature is selfish.
Not to toot my own horn but I got a perfect score on the math part of the SAT with little prep, and I've tutored others on the same and only managed to eke out a little improvement. (In contrast, I've tutored math course work and had more success there.)
The math isn't very advanced, it's just a matter of doing it quickly and accurately.
The truth is more nuanced [1].
[1] https://www.washingtonpost.com/news/wonk/wp/2014/03/05/these...
Whether this is correlated to anything important in real life is an entirely separate question.
From a research-into-today's-hot-button-issues perspective, they are routinely slammed for being about cramming, but the effect of test preparation on test scores tends to be very close to zero when you look into it.
There's actual employment law that prohibits using IQ tests? I'd never heard that before
http://cdn8.openculture.com/wp-content/uploads/2014/07/Test1...
The value and definition of "IQ" is widely disputed and generally seen as of limited relevance to the actual work and performance of that work (uncorrelated). Look it up and do some research if you're interested, this is just a quick showing of _why_ tests may be considered bad.
I'm not saying that IQ tests are useful measures of ability to do a job. I just wasn't aware there was actual law or precedent forbidding their use.
> If there is any sort of "test" given as a condition of employment, it must be relevant, standardized, non-biased, reviewed by specialists and approved, etc.
Wouldn't this disqualify a lot of whiteboard interviews too? Most startups don't have a standard question bank reviewed by experts or grade on a standard rubric.
1. http://www.slate.com/blogs/the_vault/2013/06/28/voting_right...
The real reason companies don't do it is because Fizz Buzz is a better test than IQ tests.
a) Whether you were able to get the work done. b) Whether you were smart enough to do the work well.
It's the combination that's important, not either single one. Employers want people who show up on time, actually care enough to try, and are smart enough to figure it out.
The college degree has a better than zero correlation to that. After you get the job it's mainly about performance and output, once you've been promoted a few times your college degree mostly doesn't matter.
On the other hand, I have known a number of people who used their self-identification as a nonconformist as an excuse for why they couldn't cut it someplace, whether it's school or a job or some interpersonal situation. It's a bad excuse because it gives the person an easy out for not reflecting on how they could have handled the situation better, or avoided getting into the situation in the first place. It also pushes all of the blame on other people, which is comforting but very rarely 100% true. We should all be our own worst critics, lest someone else beats us to it.
There’s another issue with using educational attainment as a proxy of intelligence: it doesn’t really help you distinguish among candidates who all have a bachelors degree. All you know is that they’re above some threshold, but not how far above. You can use the prestige of the school as a proxy for this, but it all seems like a hell of a lot of hassle when you can figure this all out in a half hour with an IQ test.
I believe the words "bored to tears" summarize the experience quite well.
While the majority of pupils get a standardized curriculum designed to keep their interest at a steady pace, pupils with a high learning capacity get no such thing. If they try to learn faster, it doesn't fit with the governance and management model within which the teacher must operate. Therefore, most teachers are at a loss when faced with these statistical outliers.
Also, other pupils may experience emotions of inadequacy and unfairness when a fellow pupil just blasts through the material in minutes that would take them all week. This may lead to the high capacity pupil being a target of some unfortunate group dynamics.
Since schools have no governance model for this, the high learning capacity pupil's school experience is essentially unmanaged. At a loss, society almost invariably resorts to platitudes like "No need to feel sorry for them, because they are so fortunate to be smart. We must focus on the pupils that struggle."
A few years down the line, the pupil's inner motivation may be completely replaced by depression, self-blaming or worse. Then the platitudes take a turn for the worse with blaming the pupil's willingness to work: "In fact, high IQ can reduce grit, since clever pattern matchers use their cleverness to avoid working hard on the toy problems of childhood."
Fortunately, my own school days are long since gone. Without blaming any person in the system, I can say: "Good riddance!" to this whole pitiful affair of how society treated me as a child.
Instead, I can draw attention to this problem by saying clearly that these are children that never asked for these gifts in the first place. Let's as a society realize that what we are doing to them is absolutely wrong and woefully irresponsible.
Fortunately, at least one western country has political attention on this right now. I will work hard and with "grit" to make sure that my experience and observations can help in creating new policies. In particular I wish to address how to practically leverage the pupils' own drive to learn without incurring social/peer stigma or ridiculous costs.
We are perfectly happy to identify athletic talent and enact systems so that the athletically talented are matched up with peers who share their gifts, but we mostly refuse to do this for intellectual talent.
I was fortunate enough to attend a program that handled this pretty well. Basically it was 120 kids from 11-18 who skipped high school and attended university together instead. It’s called the Early Entrance Program and it’s at Cal State Los Angeles:
http://www.calstatela.edu/academic/eep
The issue I face is that I am raising my children in Portland, Oregon, so this program will not be an option for them. Our personal approach is to home school instead. And I’ll probably investigate starting something like the Early Entrance Program at the state university in Portland here.
At least the graduate can show that he/she can commit to a multi-year long, sometimes boring, project successfully. A high IQ person could just leave your company after 6 months because "they're bored".
Also, agree that educational attainment gives you more information about a candidate, but in terms of assessing intelligence, it is a coarser measure than IQ. I’ve hired a few people in my day, and there is huge divergence in intelligence among college grads. For lots of jobs it is useful to be able to distinguish between not-stupid, bright, and ridiculously smart. Educational attainment doesn’t really help with that, but IQ tests would.
I think you're wrong about that,
http://abcnews.go.com/US/court-oks-barring-high-iqs-cops/sto...
Another way to approach this is to ask yourself: if not as a proxy for intelligence, then why do some jobs require a college degree?
https://www.hiresuccess.com/blog/is-employment-testing-legal
>I think that supports my point
I didn't say it invalidated your point. I'm trying to draw your attention to a specific area in your statement that is wrong. You can simply say,
>Higher education is used as a proxy for intelligence by companies
That's enough. Nobody will argue with you about that.
You may disagree with some of its conclusions (I personally am skeptical of its conclusions about racial differences in IQ), but to call it pseudo science is, I think, unfair. FWIW, Steven Pinker, who is about as thoughtful and level headed as they come, agrees:
https://mobile.twitter.com/sapinker/status/84691284703672320...
And, anyway, the point I was making had nothing to do with racial IQ differences. It was referring to what the rest of The Bell Curve is about (discussion of racial IQ differences makes up only about 25% of the book): how the US society’s transition away from most people working in agriculture toward most people working at desks has created a class structure stratified by intelligence.
It’s actually a shame that the book discusses racial IQ differences at all, because everyone got hung up on that and totally missed what is, IMO, a much more important point. And I think it explains a lot about current politics in the US.
It's my understanding that the main data presented hasn't been overturned or disproved (In-fact quite the opposite)
I have known several people who went to medical or law school and every single one them went only because it is a per-requisite to becoming a doctor or lawyer. What is your explanation, that people attend these schools to expand their mind, and then entirely coincidentally, manage to end up in the corresponding career as though by accident?
Get real.
I often hear people talk as if education was something that happened to them, then it finished. (Like learning is something you just do in an institution.) I guess training is more like that, teaching knowledge and skills for some particular task/role/job.
And which is why they should be moved out of the College of Engineering and placed into the college that has mathematics. Curiously enough, the only school he mentions where he can reliably know their grads have programming experience actually does place CS under mathematics.
I think being able to program basic tasks should be a requirement for all engineering programs. They all require a course in CS - mostly not because they want ME's to know CS, but they want them to be able to program basic things.
Yet, many/most engineering grads are really poor at it. I feel for any given engineering degree program, we should make all seniors who have declared they will graduate that semester to take a basic exam on very basic concepts that all grads of that program should know (strong emphasis on the word "basic"). If it's acceptable for them not to know basic material in an introductory class, then remove the class from the curriculum!
Example: I was in a top 5 school helping an grad student in CS do basic probability homework. We were disagreeing on the correct answer, so I suggested he write a simple program to simulate it and compare with his calculated answer.
This is the simplest program possible: A for loop, and a random number generator.
He had no idea how to do it.
I'm not picking on him because he's a CS student. I think it's a valid question for people in all engineering programs that involve introductory programming courses. What's the point of making such a course a mandatory requirement if they can literally do nothing based on that knowledge?
Similarly, an electrical engineer who does not know, say, Kirchoff's laws should not be allowed to graduate.
Yes, I do think universities are for education, but if they cannot apply what they learned, they are not educated.
As for the CS students, lectures were often on the theory, and homework was usually focused on implementing demonstrations of the theory. A grad student who wasn't a decent programmer was either a cheater in undergrad, or didn't come from our school.
This particular student came from a different engineering background. Yet, he still got admitted into a top 5 CS program.
And whether he did CS or not in his undergrad is beside the point. I think this is a task any engineering grad should be able to do. If not, the university should not be listing programming as a core skill they teach their engineering students.
BTW, he is not unique. I don't think many (perhaps 20-30%) of my fellow grads (non-CS engineers) could code something that simple either when they were graduating.
I hope you helped out as good as you could to bridge the gap and maybe you were rightfully disappointed if the student hadn't prepared to catch up to undergrad material in spare time.
First of all, I'm not asking them to know "advanced" random number generation theory. As a kid, using random number generators in BASIC was one of the first things we did when we learned programming - it makes writing programs a lot more fun. Granted, it's not usually covered in introductory programming courses. But all that is needed is one API call. I pretty much told him what he needed to do. I showed him the API he needs to generate random numbers. We talked in big picture terms about the algorithm (set up the experiment, run 10000 times, take the ratio of success over number of runs). We talked about the theory on why such an experiment would answer his question. I helped in every way other than the actual coding. Had he written some code, I would have helped debug (some probability experiments are tricky to code correctly - that is acceptable).
He just couldn't translate the problem to code.
>You are being very critical, a part of university education is tolerance, although some opinions differ on if that relates to knowing literally everything. Trade-offs are a part of engineering because optimal solutions don't always exist.
I definitely am being critical. When you graduate, you get a seal from your institution that is supposed to be a guarantee of something. My question is: What is that something? If you start dealing with math graduates from a university and you find they often cannot do basic algebra, you stop valuing the seal the university provides - which damages all math graduates of the university. They are working very hard to get a certificate that is not valued by others.
Would you trust a physics graduate who cannot do basic calculus? You can argue that he may know all the theories (conservation of energy, electromagnetics, etc), and understands the principles behind calculus (area of curves, rates of change, etc). But if they struggle with basic evaluation of integrals, you probably will wonder about what kinds of courses they taught in his university that allowed him to get a degree without actually solving problems with calculus.
This is the problem the author is talking about. If you consistently interview people with computer science degrees, who cannot do a simple fizzbuzz, you stop valuing the degree - and that is the general landscape in the software world. Those who worked hard to gain a lot of knowledge relevant to both theory and practice are right to be upset that because of lax (or at least misguided) standards from their educational institution, they have to go through more hoops to convince people of their skills.
It goes beyond the simple mantra of "Universities teach computer science, not software." I would question the technical ability of anyone who cannot write such a simple program, with as much guidance as I provided - be they a CS major or a math major. I'm not asking for practical knowledge like whether unit testing is useful, or how to architect large software, or the virtues of OO over FP. Just a basic program. Can you write it?
Certainly there is not universal agreement on the curriculum. I'm saying there should be agreement on some basics. Historically, universities handle this by ensuring some introductory course is in the curriculum. My argument is that in the US the education system is a little too modularized, and there should be more coupling. If programming is seen to be a core skill that engineers should know, make writing code an aspect of every engineering course (it's really easy to construct assignments/projects in pretty much any engineering course that could involve writing code).
Don't let someone get an A in the introductory course in his freshman year, and then allow him to forget pretty much everything he learned from it by the time he graduates. If you do, you wasted the student's time, the instructor's time, and the time of all the interviewers who cannot trust your degree and have to check for themselves if this person knows the basics.
Again, it all boils down to: The university is giving you a degree. Is this degree a guarantee of anything? If so, what? I'm all for education for the sake of gaining knowledge. But how many of us would be OK with gaining the knowledge without any kind of certification from the university? Not many, I suspect. I actually did this personally (dropped out of PhD after many years as I felt I gained the knowledge but did not feel a degree would help me), and can assure you from the conversations I had with others who tried to convince me otherwise that pretty much almost everyone wants that paper to have some value.
It doesn't even have to be "real" research: I just expect more than classes which have you regurgitate what you learned to pass. And yet that's all you need to get a CS degree. It's a bit like learning to write by filling in blanks.
I think that's what school is, no?
I'm not trying to be glib, I think this is just a reality of how education works in pretty much all subjects (typical US academia, YMMV etc.) Can you name a major that doesn't work this way?
I have a BS in Mathematics from a mediocre school (University of Arizona) and exams were always "prove this fact (which you have never heard of before)", never "what is the proof of XYZ theorem (which we studied)"
Is this different than any other field? I was under the impression that most BS programs do not require novel research. That doesn't come until post graduate courses.
An example might be writing a compiler for a language you design with features not covered in the book. It's probably not publishable, but it is doing CS in a way that just following instructions in a book or from lectures to write a compiler isn't.
Fill in the blank programs ("Here's the skeleton, make it display a list") and 3 projects with < 200 lines that aren't doing something CS specific are not novel, but all too common and wide spread.
Making people do continual simple demos and nonsense programs instead of teaching them actual CS is BS. They can be simple programs, they don't need to build huge things, but what they build should reveal and teach them things beyond how to shift text around the screen.
- Graduate of the North Avenue Trade School
(* Most times)
So yes, after that you can't start as a Senior Java Developer but I think you have a very good foundation to quickly pick up other Object Oriented languages.
So you do not have to teach the latest hyped language to give students the ability to programm. Instead you can use clean languages to teach CS and let your students excercise them to show you that they understood what you taught them.
I suspect there is just a cultural issue, where the CS faculty doesn't want to do that style of teaching. I had a professor hand out debugging assignments because that was part of the industry feedback they'd gotten, but only the one professor listened to the feedback.
Look, the reason that all the students go to university is to make money. Like 90%+ of undergrads go there to make money so whether it "technically" should be a monastery of cloistered academics pondering the universe (based on some high minded notion of what learning "ought" to be for) is besides the point. University costs a shit ton of money and people (the vast majority) pay it so they can have a decent life.
And the fact that universities are, on the whole, teaching skills that do not help their students accomplish this means either A) they are actively misleading their students B) university is a class indicator more than a place to learn (I can spend huge amounts of money so I'm probably not poor and black - which sucks for all sorts of reasons) or C) they don't understand that teaching academic CS, as opposed to programming, is not what industry demands (so they suck at what they're selling).
These are the people who, quite literally, are billing themselves as the "smartest guys in the room". If that's the case they can well stop sucking at their bloody job!
Which is it, "all" or "90%?" I went to a private liberal arts college so maybe that automatically puts me and my classmates in the 10% but I did not think the overwhelming majority of us were there to make money. The fact that lots of students still major in subjects that can be very worthwhile and valuable but lack obvious paths to financial success (e.g. most of Humanities and a lot of Social Sciences) indicates "making money" is not why they're there.
You think universities should basically be trade schools. They're not and they shouldn't be. Trade schools should be trade schools but the U.S. has a dearth of them and many that fit the description aren't good enough.
Meanwhile a university not knowing whether it wants to be a trade school or a research school has mixed incentives that results in an inconsistent quality of education. You get professors who don't know how to teach and teachers who don't know how to go in depth. By requiring both you've made your staffing requirements that much harder to fulfill if you don't want to trade off education quality.
On that note how have bootcamps been doing lately?
Ok come on man. I said 90%+. Don't quibble just to be a prick.
I also went to a good liberal arts college and had a similar experience. People studying subjects that probably wouldn't lead to financially lucrative careers were in the majority.
Would you mind reading https://news.ycombinator.com/newsguidelines.html and https://news.ycombinator.com/newswelcome.html and abiding by the desired spirit when posting here?
"Financial success" doesn't necessarily mean optimizing the total number of dollars in your income; it can also mean being able to do work that you enjoy while having a decent standard of living. If a college degree had no impact on your employment opportunities, how many students would still go?
Trade schools should be trade schools but the U.S. has a dearth of them and many that fit the description aren't good enough.
Which is the point. It's not that universities shouldn't exist, it's that they shouldn't be trying to serve both roles.
First, if you walk out of a four year degree in computer science without a strong foundation in discrete mathematics, algorithms, data structures, and at least one of distributed systems theory, stochastic systems theory, control, statistics/machine learning, AI, data visualization, or design, you've stunted your horizons for growth as an engineer pretty badly. I use three of those every day at work. I wouldn't be able to read the research, do the math, or write the software to implement what I work on without a very strong education in fundamentals. The only CSE course I took in University that I haven't made active use of was an advanced matrix computation course. I mean, if you're just shitting out web services and REST APIs or converting COBOL to Java, fine, but that's something you can train a monkey (and in very short order, a computer) to do.
Secondly, we invest in Universities as a public good. You should come out of a four year program able to write well, critically analyze difficult material (not "Catcher in the Rye"), articulate complex ideas persuasively, and understand the world you live in and how to live in it substantially better than when you went in. You might be surprised to learn that with the benefit of hindsight, many people find the time they spent reading and learning to be incredibly useful later in life, as it provided a foundation for dealing with conflict and complexity. If that's wasted on you, then it's wasted on you, but understand that you have shot yourself in the foot in terms of your ability to mature as a human being. I personally think public University education should be substantially more rigorous and should fail people aggressively, and should also be free. I wish we separated the whole "whoo look at me I'm 18-22 let's party" thing from the thought of University. If that's where you are in life at 18, there's nothing wrong with that... go work as a code monkey or a barista and get it out of your system, and when you're ready to level up as a human being give University a try, go. That's more or less what worked for me, anyway.
What a great comment. I think that's also missed by schools where the focus is on memorization and/or trivia. It would be great if they focused on the areas you talked about, not necessarily directly, but at least that is the goal.
As far as "leveling up as a human being", books are free - go sit in a library. Hell, grab a kindle; most of the cool stuff that I learned about the human experience I learned from talking with others, staring at the sky, hiking in mountains, and reading free books that people on the internet recommend. None of this requires taking out the equivalent of a mortgage or listening to someone lecture on it. If you want a lecture, those are free online too!
I just get the sense that university is used as a filter to differentiate yourself from people who are "below you" - not as smart, not as hard working, not as "mature as a human being". But the main barrier to get into a university seems to be connections and money, neither of which I have a huge amount of respect for. Many of the wealthiest and well connected people in the world are huge assholes, and many of the poorest and least connected are incredibly wise and kind (and intelligent and hard working). It feels like a way to separate yourself from the unwashed hoi polloi and put a barrier to entry between yourself and other people who could do your job. In that sense university encourages laziness!
Overall, I just get this sense that university is this bullshit thing we all just agree to participate in because, for those who go they get a monetary benefit, even though everyone knows its just this bullshit thing. That monetary benefit comes from being a class filter, a networking tool for like minded rich people to find other like minded rich people, and probably a few other class effects I don't really understand. I thought when I was younger that as I got older that maybe I would get more jaded and just accept bullshit things. It would certainly make my life easier to do what other people do and not fight against the tide. But if anything I've become more altruistic and romantic, I want the world to be more honest and people to do the right thing.
I don't know. I've probably benefitted from it even though I wished people judged me based on other qualities that are more important.
Secondly, universities are not meant to prepare you for a better salary or job. They are meant to give you a particular set of skills and knowledge from a field of work. Finishing means that you usually get access to a certain community with the same specialty. This is useful if you want to keep up to date with your field or publish new findings.
Software companies that require computer scientists usually are just full of it and they forget that there are other universities that prepare people for software engineering or even just programming. You could argue that a course or bootcamp is enough. But we already know they ask for too much when you look at the requirements they have. They aim for the best and then take what they are given.
I think universities are too easy nowadays to let people in. During my father's time, there were around 10 slots for the arts university in my country each year. All of them ended being praised artists. Actually, national news are made when each one of them pass away.
Now, universities just take everyone, especially if they pay for a slot. This caused a shift into perspective. You are no longer hard-working or lucky to get into a university, you are now expected to get into one to prove you are not a complete moron.
This is the actual problem, and it is reflected in your arguments. I agree, you probably didn't need to go to university. Hell, I know that I didn't need to go through mine. However, we were both expected to, and for no good reason.
Regardless of what any individual may think a university is or isn't meant for, this is how they are used.
As a high school dropout, I was directly told by managers in more than one situation that all I needed was a Bachelor's and I would be eligible for better positions. There was zero discussion of skills, as it was already understood that my skill level in many areas was much higher than that of the degreed people I worked with (who also weren't using their educations for anything other than as a "door pass" to be considered for better jobs).
The system is broken.
First of all, no one is forced to go to university, so if people pay that much money, it's probably because they feel it's worth it, regardless of its supposed "cloistered academicism".
Secondly, maybe the main problem is that something that is needed (or at least very convenient) to have a decent life shouldn't cost a shit ton of money at all. As is the case in countries like Germany, etc. (if your parent post is from one of those, your reply doesn't even make sense).
Finally, I would rather hire a coder with a strong CS background that one from vocational school. The former may not know the language du jour and the framework fad of the day, but can pick them up easily because they know the fundamentals. The latter will likely adapt much slower.
You were free to construct a degree out of proofs rather than source code if you wanted, but those of us who desired a more practical education could fill our days with systems programming.
"I consider computer science to be the art and science of exploiting automatic digital computers, and of creating the technology necessary to understand their use. It deals with such related problems as the design of better machines using known components, the design and implementation of adequate software systems for communication between man and machine, and the design and analysis of methods of representing information by abstract symbols and of processes for manipulating these symbols. Computer science must also concern itself with such theoretical subjects supporting this technology as information theory, the logic of the finitely constructable, numerical mathematical analysis, and the psychology of problem solving. Naturally, these theoretical subjects are shared by computer science with such disciplines as philosophy, mathematics, and psychology."
http://i.stanford.edu/pub/cstr/reports/cs/tr/65/26/CS-TR-65-...
This is really, really important. In my experience, this is not just unknown but actively ignored and disagreed with (either explicitly or effectively) by a large majority of people involved in software businesses. This hamstrings: companies, individuals' growth, and the advancement of the state of the art.
It is important that historic knowledge is respected for the context it provides, while outside knowledge is equally respected for the deeper context and data behind it.
Unfortunately, this change often means generalists lose jobs in favor of specialists as a company grows if there isn't a good place for them, or if they don't rise to management. In fact, even early managers can be displaced by outside managers who come in with more management experience. And this is not inherently a bad thing for the company (while it may be for the employee getting bumped). The people that take a company from point A to point B are rarely the same people that take it from point B to point C.
*citation needed
Edit: to be clear, in my experience the specialists that aren't also generalists on some level are the least productive on the team because they have trouble participating outside their knowledge domain. Maybe I have worked at the wrong places though...
However specialists don't need to be generalists to be productive as long as they come in with the mindset that they are specialists, and therefore may not know everything. And that is especially important, as I highlighted, for respecting historical context of the company and its operations.
There might be VERY good reasons for not doing something the way the rest of the industry does it (which is what the specialist might be inclined to do). However a good specialist should also be adept at factoring that into how they approach problems, and properly weigh the new information against their past experience to determine if in fact this is a special snowflake situation, or if their approach is still the right one. Conflict can often arise when if they push for the latter, so strong communication skills are key (and that is something that never really changes for any role at any stage of company growth).
"Scale" often seems to equate with SF hotshots from one of the big names that will come in and airdrop a brand new architecture. These things take years and you need those generalists that have the tribal knowledge and the ability to jump in (almost) as deeply as a specialized developer, DBA, Network Admin, etc. I think the SRE movement is good evidence of the type of breadth and depth needed to operate a complicated system at scale.
That's the messy part of the transition: There's kind of the implication that past decisions weren't correct. It's easy for people to get emotionally involved and take personal offense.
Example: Backup product. Design started in the late 90s. By late-aughts, multiple CPUs were obviously a serious thing. New guy was brought in, and set on the project of re-architecting the core program into a more asynch data processing model. 6 or 8 months later, the changes were working for base cases, but the senior devs threw an absolute hissy fit focused on how much of their code was changed. We should've banded together and fixed the edge cases. Instead, we spent years fighting over the structure of the program, and that dev transferred to another group.
Bringing in security-focused employees worked out better. Their changes were more around the edges of the various programs, rather than in their cores. Fewer toes stepped on, fewer disagreements.
Thanks for highlighting something I missed in my post. Some of the time yes, the decisions might just be wrong because generalists may not be experienced enough to know the right way to do things. But quite often, they were in fact the right decision at that time and circumstances change.
So any sort of process and culture that helps take the emotion and risk of personal offense out of those situations is really critical to gaining the benefit of historical context in a positive manner.
> Unfortunately, this change often means generalists lose jobs in favor of specialists as a company grows
> And this is not inherently a bad thing for the company
Yes, it is not _inherently_ a bad thing, but I would say that it is _generally_ a bad thing. Sure, if you are raising a Series C and everything is about optimizing the hell out of your product, there might not be a place for generalists.
However, I would claim that if you throw out generalists, you throw out some of the core/most valuable people who could help the company establish new products and help you grow into a multi-product company (diversifying your portfolio is generally a good thing). If the company is only left with specialists it will slowly transform into another one of those industry giants that struggle with innovation.
I think it is more like an organical transition where newly hired personnel are more likely to be specialists. And that is totally okay, because when you start a company there are about 0% specialists onboard ;-)
Specialists aren't as good as generalists at integrating the work of specialists across domains (almost by definition). A lack of generalists can then lead to a situation where specialists are all making locally good moves, but the overall direction is negative -- something akin to Simpson's paradox (though, in the other direction).
I think otherwise trying to be a "senior generalist" or "staff generalist" is going to be very hard, but for logical reasons.
You have to know what you're talking about and know when to defer to experts, and being a generalist might prepare you well for that. But once you've reached the threshold on knowledge and critical thinking, the biggest barrier to being a good manager is mastering the mechanics of people wrangling.
Firstly, besides understanding the work, a manager also has to be able to actually manage subordinates. This is orthogonal to technical ability. Secondly, internal promotion of a generalist carries risk of that generalist being too opinionated based on his own work. They are much more likely to be a conservative force. This might be an unnecessary barrier to good changes.
These days I try to just be a tie-breaker for the team, instead of laying out the plan and looking for "feedback".
And I believe it's entirely possible to be both; to be a better specialist you need to be a better generalist, and vice versa.
A corollary to this is that if you're fundraising and can get debt, you should take it over equity almost every time. Many founders are skeptical of debt because everyone takes equity, yet everyone takes equity because it's all they can get.
At the very least, if you're seriously trying to decide between the two, remember that equity investors want at least a 10x return within about five years. Break out a calculator and look at what the interest rate on that would be (spoilers, it's higher than any lender would think to ask).
Debt vs. equity is always a case-by-case situation. Debt is cheaper but comes with strings attached. Equity is pricey but more flexible.
Debt incentives do not align with equity.
There's enough material to backup the struggle between any of these entities
The problem is getting debt financing...but I would imagine debt financing would make sense for 99.99% of startups.
I mean this is just factually wrong. Sure you'll rack up fees, it gets expensive quick, and there's generally no good reason to do it, but you're not in default until you're in default - and missing 1 payment is not going to do that.
It's essentially a self-fulfilling prophecy.
I assume you don't start up a company with your own money is that it can fail and personally bankrupt you in the process. Because of that, it would hinder your judgement? Not sure. Maybe someone can fill me in on that.
This was a profound revelation I didn't realize until I read it just now. Facebook, Google, Amazon, etc. have all done so well by starting a habit for their users. ("Check Facebook daily to see what your friends are up to." "Google it whenever you need info." "Buy your stuff conveniently on Amazon when you don't want to go to the store.")
I think this approach can work great for even non-tech industries. It definitely worked for Starbucks ("Gotta get my morning Starbucks").
I think lots of industries are ripe for "habit-ifying", and I'm going to pursue that further. Brilliant insight.
> I think lots of industries are ripe
> for "habit-ifying", and I'm going
> to pursue that further. Brilliant
> insight.
This is, of course, the same insight that the gambling and tobacco industries and cults thrive on.Not talking you down - just reminding you never to forget the moral angle.
Use of technology can both help and hinder us. On the negative side, we can become dependent on it, and that dependency does not always enhance our lives. Even in the case of your Apple Watch making you exercise more, used in moderation you can get the benefits without too many downsides, but it can also become a device that distracts you from the world around you, disconnecting you from experiences that you could get by being more fully in the moment. To be clear, this isn't an issue solely limited to use of technology, but the more devices we have and use the more easily distracted we become.
The ideal for companies is to have all our life's needs and wants fulfilled by companies. If they can do so by suggesting there's a hole you need to fill by buying their products, and you become unhappy if you don't have it, is this a healthy trend? What if you were generally happy before this marketing campaign started?
Some more examples:
- Keurig coffee makers fundamentally changed the coffee habit for many people.
- Netflix fundamentally changed the "going to the video store" habit.
Making coffee and watching movies were already habits for many people, but it was possible to change the habit and create something revolutionary. I'm sure there are other new untapped habits that can be developed around existing solved problems.
It's a variant on "solve a problem people have". Make a solved problem better by optimizing the habit.
(Good questions, by the way! I don't want to accept business baloney as wisdom.)
If you're interested in learning more about this stuff, I highly recommend reading it.
But when an innovation requires a change in customer behaviour, no such advantage applies, and the gates are open to new entrant. The book calls this disruptive innovation (and is the source of that term).
The companies listed all become successful due to such innovations.
This explains the somewhat "weird" cadence.
On topic: it makes a lot of sense.
Many of these nuggets are not "obvious", for any conventional understanding of that word.
That said, I enjoyed the post, and liked the concise format.
I don't think "obvious" in the conventional sense is a real category, because no two people would agree the same things are obvious.
I've noticed that this is a common thing - it's very rare for someone who has spent years in a particular area to sit down and distill things that have become obvious to them over time in a way that can be taught to newcomers.
>The explosive growth of the tech sector keeps average age down and depresses average wages. Compared to industries which existed in materially the same form in 1970, we have a stupidly compressed experience spectrum: 5+ years rounds to "senior." This is not a joke.
I agree that it compresses the experience spectrum, but has the opposite effect on wages. It's tough to find any industry that pays more for the amount of experience/education.
Is this a joke?
The average wage is dragged down because the age distribution leans so far to the left. That is, the average wage disguises the wages made by staff/principal engineers, which can be 3-5x the comp numbers commonly tossed around for SV engineers.
A new grad's compensation is often equal and some times greater than someone who's been in the trenches for 20 years. I don't know any other profession with this absurd inversion. And with a few notable exceptions, the idea that someone with 5 years of experience is Senior-anything is ridiculous. I remember myself at 5 years out, I didn't know shit compared to today. Yet, adjusted for location-cost of living and inflation, I'm making today about what I made back then. The compensation plateau is very real, I assure you. You'll probably find out in 20 years or so.
EDIT: There also wouldn't be so much persistent discussion about ageism in tech either, if experience was valued/compensated.
- The main and probably unfair assumption that they will want more money and special treatment for the same amount of grunt work.
- They will not respect the (majority 20-something) peers and will try to subtly enforce seniority (again, unfair).
- They will refuse to do grunt work and only want to work on high level problems. We have enough chefs, we need line cooks.
- Veterans can come well-seasoned, but they can also be old cranks who are stuck in their ways and can drag a team backwards. It takes experience to tell the difference (irony).
- If they were truly experienced, they would be getting poached or going through a headhunter. If they are experienced and on the market, they must be damaged good. (This one is truly unfair, but it justifies people relying on paying the premium for a recruiter).
Huh, is that very common?
As someone with 10 years of experience but very little job-hopping (perhaps to my detriment) I always had this feeling that recruiters were a bit like dodgy car salesman, and that a direct application would be better.
Nor should it. You should be payed for the type of work you do and there is only so much an individual contributor can do. However, at big companies, there are many levels and compensation ranges by a factor of 10 from the lowest level to the highest. You can make those big pay bumps but you have to perform at the required skills for the next level for which there are only so many available positions.
And from what I have experienced, while individuals can stall in their career progression if they don't pursue the responsibilities required for the next level, the higher ups are extremely correlated with experience.
And in five years you'll be making about as much as you're ever going to make. I believe that was at least part of the point.
The wage curve goes flat and nobody offers anything above the median for increasingly large years of experience and battle scars.
Someone five years into a developer role at Google is probably making much more than someone with fifteen years of experience in say, retail or nursing.
There is a reason software developer is consistently ranked as one of the best possible jobs.
If execution is all that matters your idea isn't good enough.
I don't care how many times people keep claiming that execution is all that matters, it's still wrong or it becomes tautological, like saying. The key to success is being successful.
Good ideas are often shitty ideas until they are good. What makes them good isn't just execution but timing, luck and so many other factors.
Failing to understand that is a bigger problem than the few people left who think the idea is everything.
It's way more complex and subtle than the "execution is all that matters" or the "my idea is secured in a password protected powerpoint" camp.
I have helped over a 100 startups and at least in my experience, it's not more correct to say execution is all that matters than to say ideas are all that matter.
Plenty of well-executed ideas don't ever go anywhere because the ideas were wrong, to begin with.
In the context of this otherwise fine list by Patrick this is just particularly problematic because it's wrong in a non-obvious way but sounds right.
Or, to put it another way, the founders made an MVP from their initial (for argument's sake, poor) idea, and then couldn't find product-market fit before running out of (bootstrapped or VC-funded) runway. Your argument, then, is that some ideas and MVPs make it impossible to find product-market fit, no matter who the founders / executive team are, because there is no market or whatever other reason beyond the startup's control.
And you would be correct if it wasn't possible for startups to pivot. But they do, sometimes multiple times, and sometimes successfully. Part of the reason why execution is everything is because good executives can take what the startup has learned about its product and its market, understand that the startup's current trajectory leads to bankruptcy, and make the necessary pivot which presents better odds at viability.
Again this obsessions witch claiming execution as somehow being in opposition to idea is what's wrong here.
Both are important.
John Carmack is unusually direct and asserts pretty much the same things a couple of weeks back. [1]
>This will never, ever work. Nobody will build your game idea and give you money for it. If you go through the development process, you will find that the original idea is a very small fraction of the value.
[1] https://twitter.com/ID_AA_Carmack/status/931653803199275008
Edit: typo s/in/is
Arguably, that's much more than just an idea - it's the idea plus the development of the idea, with most of the value being in the development bit.
I'm not sure if he's saying these hard-working generalists are hard to find, or undesirable to employ?
It's a roundaboot way of saying those qualities rarely all come together.
unreasonable deadlines, non-existent documentation for existing systems, non-existent QA processes, unavailable/non-existent support staff, undocumented/unclear requirements, etc.
I would add: some organizations make fistfuls of cash and don't have much in the way of a technology team. Others pump billions of dollars through Excel macros. Not every company has a great IT team following all the latest buzzwords.
Most manager look to own projects that may return a modest multiple of their budget with a 80% chance of success.
There are few executives that will target an opportunity that is 100x their budget with a 20% chance of success.
To the company the third group of employees are much more valuable than the first and second because the returns on the winners vastly exceed the cost of the losers. Individuals however are cognitively biased against personal failure so it is hard to find individuals that will swing for the fences (and who can also convince people in group 1 and 2 to work for them).
Good companies create frameworks where it is okay to fail (i.e. doesn’t impact your job, advancement prospects, etc). Unfortunately that is difficult and it generally is easier to hire sociopaths (no joke).
As a corollary: I'm a developer who likes talking to and working with customers, doing UX research, etc. However, since the idea (which may or may not be correct) is that most programmers would rather work by themselves or at least have a project manager or something shield them from the customer, I'm unlikely to be able to find a job in which I can combine programming with customer interaction, even though I'm convinced that this could be valuable. But: only if an organisation is amenable to it.
So true, and something that stumped me when I sat at the other side of a hiring table myself. I couldn't figure out why until it was pointed out to me that people who are good at their job are not looking for work, they already have a job. In fact, the really good people often don't apply for jobs at all, but instead they get convinced to switch employers. By contrast, the people who can't program are on the job market all the time. So, the job market is heavily skewed towards people not good enough to hire.
People should be allowed to leave the industry for some amount of time without being marked as damaged goods.
In fact, based on how poorly technical interviews have evolved, I have no faith that a hiring manager wouldn't just blindly ignore all candidates with an employment gap on their record after reading posts similar to yours, and that really is a damn shame. It's not a humane practice.
This might sound stupid, and maybe it's my inner hippie talking, but did this make anyone else slightly uncomfortable? I get that it's "good business", but something feels kinda gross about saying "extract as much money from other people as you possibly can." Like... shouldn't you just charge whatever you think something (a product, your time) is worth? I realize that "what something is worth" is often subjective, but charging more just because you can feels morally ambiguous to me at best.
(Then again, if you're talking about extracting money from a corporation, that feels less gross. But of course my inner hippie would say that.)
> Technologists tend to severely underestimate the difficulty and expense of creating software, especially at companies which do not have fully staffed industry leading engineering teams ("because software is so easy there, amirite guys?")
That, in my experience, is very true. Teams are staffed to "we can make it work, maybe" not "we can actually engineer something"; the second bullet, to me, says, "you need to charge more than you think you do, because you're underestimating the costs of doing it, in particular, of doing it well."
The norm for techies is to underprice their offerings (based on underestimating the difficulty and expense of creating, selling, and supporting software). This leads to even "successful" companies closing because they weren't built to be financially sustainable.
One way of making a company sustainable is to charge a sustainable price (which is typically "more" than initially apparent).
For B2B solutions, value is more tied to how much it would cost a customer to implement your solution instead of buying yours. But even a startup founder who's been an engineer for many years might not have a clear picture of how much the previous projects they worked on cost their employer. They only see their own hourly rate or salary (which already might be low) and don't see the total cost of development, the cost of infrastructure, personnel for ongoing support, etc. Engineers notoriously under-price startup offerings because they lack the broader perspective to accurately value their creations.
His argument basically is that, businesses/consultants/employees fail because they charge/bill/demand in salary negotiations too little WAY more often than they fail for charging too much. Therefore, you should charge more than all of the decision making biases in your head say you should charge.
So, the point isn't too extract as much money from other people as possible. It's too charge more than you'd otherwise be comfortable charging because, even when you do, you may still be under-charging relative to the actual costs required and value provided.
How exactly do you, as a programmer without knowledge of the employer’s or client’s business, determine what a piece of software is worth to them?
You have no idea. So you use various heuristics which are more easily available but misleading, like “what are other people being paid?”
If you’re paying yourself, then sure, go ahead. But if you want someone else to pay you, then it should be based on what they think it’s worth. Why should they care what you think it’s worth?
>The hardest problem in B2C is distribution.
This confuses me. Distribution is trivially solved. Anyone can get a product to a customer for quite low cost anywhere in the world now. Is something else meant by "distribution" aside from 'getting things from point A to point B'? If I had a warehouse in my back yard and a customer wanting a product from it, I could ship it to the customer just as easily as Amazon could. Their advantage isn't in being able to distribute things. It's in aggregation and many other different things but not distribution. Distribution was the most valuable economic activity of the past century, but it's commoditized now.
>Weak-form efficients market hypothesis is a good heuristic for evaluating the public markets
The efficient market hypothesis says that profit is an error, an inefficiency which will rapidly go to zero as it will be stripped by underpriced competitors. This is not a good heuristic.
No it doesn't. It's a pricing hypothesis. It says nothing about the presence or absence of profits.
I find this advice unhelpful. In the past, when I was making $23/hour as a web developer, people would occasionally ask to hire me for freelance work. I've given various answers, from $30 to $100, and haven't had any takers yet. The only freelance work I've actually done so far was when I said, "what do you think it's worth?" and my friend said, "I dunno, 60?" It was for about an hour of work so I said yeah, but I had already done the work by that point anyway.
$100/hour seems like the right amount to me, since my company was billing me out at $116. But no one else thinks so. I'm pretty sure there's more to it than just "charge more".
You might think that there is a market for $15/h skilled developers, but there probably isn't. There is a huge market, however, for NewStartup CEOs looking for dev at $15/h.
They'll keep running in circles until they find something on their budget, or they don't. But they'll not raise prices. Beware of those.
The gist is that while you (as the average B2B startup) can estimate how valuable your product is to your average customer, you will most likely vastly underestimate the cost of replacement for such a system. In other words, if your sales pitch goes well and they like the product but think to themselves "How much would it cost us to build this ourselves?" you will underestimate this cost from the outside. This is because the cost of replacement is a reasonably good proxy for a price ceiling and by being aware of it you can get a much higher average selling price.
I really like this one. During my biology days, there was a fellow PhD student in the lab who had spent 15+ years in corporate IT before joining academia, and he always had great stories of the incredible amounts of cash we should expect to see flow around us should we embark on careers outside of academia (he was not wrong).
(so folks understand this is a tweetstorm and not a post?)
This is painfully true. I so often hoped someone will explain some Linux stuff to me but... strace it is :)
There are perhaps 1000 OSS projects that make up the software you use on a daily basis. Many of these have core developers or maintainers who are hired by a company to write or maintain that software for them to consume.
But there are literally millions more open source projects, almost entirely developed by hobbyists.
Github alone has 24 million developers, with 67 million repos (25 million of which are public), and 1.5 million organizations, in 200 countries. The top languages used there are JS, Python, Java, Ruby, PHP, C++, CSS, C#, Go, and C. (Github, btw, is not the only repository of open source code)
Most open source software is most definitely not written by one kind of dev. But there _is_ an underlying motivator behind almost all open source: "I need this code." As long as there is someone who needs it passionately enough to take it upon themselves to craft and produce it, without regard to commercial gain, it will stay alive. Open Source is basically woodworking, and our computers are the chisels and saws.
This is wrong, and I'm surprised it's repeated so often. Some ideas are better than others. If you doubt this, ask yourself if, when starting a company, you would choose a random idea or your best idea.
Of course you would choose your best idea, which implies ideas have different value.
EDIT: I'm happy to debate this point with anyone who would otherwise downvote me. Critical replies welcome.
So if you want to keep any useful definition of "valuable", you have to concede that ideas can be valuable.
ie: There were multiple ways that Google could have executed their goal of building a search engine (engineering, sales, etc). Even if you come up with a 'better' idea, it may not be successful/valuable if you execute it poorly and make the wrong decisions.
What you're effectively saying is that ideas have no value without good execution, which is of course true, but this is very different than saying they have no value, because after all, execution has no value without a good idea.
The difference isn't in the idea but the execution - hence the value.
EDIT: Oh I see what you mean now. By "you", you actually mean me. No, I couldn't, because Google has parlayed their initial good idea into a monopoly based on network effects, specifically the accrual of proprietary data (clicks) which I have no access to.
The idea was valuable in 1997. It's no longer.
i.e. "when executing"
But yes, other things being equal, the execution of a good idea is more valuable than the execution of a bad idea.
I agree with this, but I think it's interesting. Wasn't the Internet supposed to democratize distribution? All someone has to do is go to your website. And anybody can set up a website.
So it seems like the Internet just shifted the goal posts for everyone? The winners are still as dominant as ever.
But I guess it is true that you can have a break-out hit like Instagram or WhatsApp, and that wasn't possible pre-Internet. The time scales are compressed.
But perversely, maybe because distribution is easier and software flows more freely, you have to be even better? You can't rely on "local inefficiencies"? You have to be globally the best.
Well, first of all, this isn't true. Google and FB aren't so profitable because of a distribution monopoly. They're profitable due to network effects.
How does google search get better from more people using it?
Basically, you're benefitting from other people who are searching for the same thing as you on the same search engine. (I'm sure that's not the only network effect, but it's one of them.)
There's so much stuff on the internet that it's a problem of discovery, which is why Google became so dominant.
I think that depends on how stringent criteria you put on the ideas. An idea that maybe, with a lot of work, would be successful might be easy to come up with. An idea that is very likely to succeed, with little work and no investments, might not be that easy to find.
Then why did Amazon patent the concept of a drone that will fly to your car and recharge it?
Surely there are situations where not many people are going to think of the idea and being first to move on it is very important
...such that both the idea and the execution are important. You can't execute well on something that you weren't able to come up with.
But he sure did execute doing both together well.
>> Most open source software is written by programmers who are full-time employed by companies which directly consume the software, at the explicit or implicit blessing of their employers. It is not charity work, any more than they charitably file taxes.
Most open source projects don't go anywhere... They have about 3 stars on Github and nobody uses them.
To say that open source is not charity work is quite unfair. The number of people who make money from their open source projects is tiny... Even among popular projects with thousands of stars. The real motivation behind most open source projects is a strong desire to learn and explore new ideas and to share these ideas with others.
The financial stuff might come later but most of the time it doesn't come at all.
Outside of the cryptocurrency space and big corporations, very few people who get into open source do so because they think it is a good way to make money... Because it's not.
I believe very strongly that most open source projects are founded on altruism. The motivation might change over time but you cannot disregard the initial intent.
This is false.
Most open source development is paid work. Many people "get into open source" by accepting a regular day job.
https://www.techrepublic.com/article/for-50-percent-of-devel...
You can have a look at GitHub; there are 25 million active repos on there; at least 99% of them are not sponsored by any company and nobody gets paid to work on them.
People like the OP and yourself are spreading distorted ideas which harm open source and the software ecosystem as a whole.
Putting open source projects on the same level as commercial software is not right. They are often completely different kinds of people behind them.
I have worked on many open source projects that would appear to be entirely the work of individuals, when they are in fact working on company time.
Can someone explain b) to me?
Is he saying that, assuming you fit into category a, by explicitly revealing your knowledge, your potential opportunities will expand more than you estimate?
> You radically underestimate (...) the instrumental benefits to you of publishing it (much you know that other people do not).
(He is saying, at least, that) you will benefit (more than you estimate) from publishing things you know (that others don't).
For instance, if you consistently put out good pieces on your past experiences in the software industry as a PM, then your current experiences as a software business owner, you will gradually become widely known as the guy who gives advice about what you shouldn't be doing in your software career or software business.
This was essentially how Joel Spolsky grew his audience through his blog -- turning his knowledge into published pieces. His blog audience combined with Jeffrey Atwood's blog audience were instrumental to getting StackOverflow off the ground.
You never know, but having an existing audience can be an incredible enabler for getting your future ventures off the ground.
> Most open source software is written by programmers who are full-time employed by companies which directly consume the software, at the explicit or implicit blessing of their employers. It is not charity work, any more than they charitably file taxes.
But I wonder how many important Open Source projects were started that way, by employees of companies which wanted to use those projects. Linux, for example, most certainly was not begun that way.
1) Most open source software written and released today
2) Most open source software you use
The code in category #2 is much older on average.
Most people here use bash every day, but as far as I can tell, there's about one person behind it, who doesn't get paid for it (Chet Ramey).
And you're right that a lot of projects start free, and then get commercial contribution once they are valuable. Linux, git, hg, and Python all fit that profile.
In the "non-company" category, I would put Linux, git, hg, gcc, Apache. A lot of people still use Apache. nginx was in this category too until very recently.
SVN is interesting because it was started by a company (CollabNet), but I believe they diverged and the company no longer had much economic interest in it.
Anyway, I guess what I'm saying is that the story is really complicated. It's not as simple as what's in that Tweet.
I think you used the wrong word here, or at least a misleading one:
Linux, for example, is still free and Free for most reasonable definitions people have of those terms. (Anti-copyleft trolling is not reasonable.) Its development is funded, yes, but that funding doesn't give IBM, for example, special rights which a sufficiently determined individual hacker couldn't also have: Both have the ability to have an idea, code it, and get the code accepted, and IBM isn't immune to a Linus veto just because IBM's poured money into their team of kernel contributors.
I rant, but it's an important distinction between Open Source and closed source. It also reminds me of an old joke: Back in the 1990s, Apple, bereft of Jobs and nearly dead against Microsoft, was moving towards IBM in terms of strategic partnerships. So, the joke went "Apple + IBM = IBM", as in, if you move too close to IBM, IBM engulfs you and you lose your identity. My point is, IBM can't engulf an Open Source project unless absolutely nobody outside IBM cares about it and all the repos outside of IBM's purview utterly stagnate.
> In the "non-company" category, I would put Linux, git, hg, gcc, Apache. A lot of people still use Apache. nginx was in this category too until very recently.
I don't know if you noticed, but you put Linux in two different categories.
> SVN is interesting because it was started by a company (CollabNet), but I believe they diverged and the company no longer had much economic interest in it.
That is interesting.
> It's not as simple as what's in that Tweet.
Things rarely are. :)
Good post!
The story isn't simple for any big/successful project I can think of:
1) Started by a company for profit, vs. an individual for fun, or maybe profit.
2) Where the current commits come from, regardless of how the project started (contributor is paid or not paid)
I didn't mean to suggest that "free" and "commercial contribution" are mutually exclusive. The distinction I meant is whether the contributor is part of an organization that makes money from the software.
3) Whether the project was forked. WebKit was forked, LLVM was shepherded by Apple into a huge project, but Apple didn't start it. CyanogenMod was forked the other way (from a company to a commercial effort), and then turned back into a different company.
Additionally, some people might start a company to make open source software. And some employees might be paid more making proprietary software, but choose to work somewhere where they can work on open source.
So yes it's very complicated. This quote:
It is not charity work, any more than they charitably file taxes.
isn't useful, except for the very small number of people who think that "open source == free == no profit".
"Salaries in the tech industry are up a lot in the last few years, caused by: a tight labor market, collapse of a cartel organized against the interests of workers, increasing returns to scale at AppAmaGooBookSoft, and the like.
Investor money does not pay most salaries."
But the rest are pretty sage. As one would expect of patio11 :)
https://pando.com/2014/03/22/revealed-apple-and-googles-wage...
I didn't understand this one (perhaps due to not being American). Can someone explain it please?
thus a big idea search should be on what are common processes. "reading english" seems to be the next big one
Love that so much.
Is this a misuse of the word "modal"? If not, could someone please explain this definition to me? From context, I'm guessing the author means "typical" perhaps?
I would still like there to be a list like this about life though.
- Words are important. Choose them carefully. Hear them carefully.
- "Tolerating everyone but the intolerant" is no real tolerance at all.
- Only being "free" to hold your views in private, is no real freedom at all. Freedoms of speech and association and religion must be public freedoms if they are to be meaningful in any real sense.
- There's a continuum that exists between equality and freedom. Governments and society can more-or-less choose where they sit on the continuum, but can't move more towards one value without trading off some of the other.
- Prices agreed to by individuals in a free market (read: without coercion) are a statement each individual is making about the value of the good or service being traded. What's a "fair wage" for mowing lawns? What's a "fair price" for a watermelon? How much is "too much" profit for a legal firm? Capitalism is nothing more than a recognition that built into humanity is a desire to trade what you have for what you want, and a declaration that the Free Market is the most economical (read: efficient) way for humans to fulfill that desire. Following on from the previous axiom, you can certainly declare a "fair price for watermelon", but you're removing the freedom of individuals to decide for themselves how they value the world around them.
- Be highly skeptical of anyone handing out pitchforks. And learn to recognize when you're being handed one in a news article, youtube video, reddit comment, political ad, etc., etc.
- When you feel like the world is full of people who aren't changing their values fast enough, remember Chesterton's Fence[0]. In the main, the world around you exists the way it does for a reason (or for a plethora of reasons), and if you don't understand that reason, you're less likely to understand what the right fix is.
- Debt (of all kinds: student, mortgage, business) is a promise you're making about your future. The older, more formal term for a loan is a "promissory note".
- Before you make any promise, consider your ability to predict and control the future.
- Constraints are natural pressures, disadvantages, and discomforts that can be helpful in decision-making. Don't avoid painful situations.
(I think those last three make a powerful argument for bootstrapping startups instead of chasing VC funding or debt.)
- We will always have "bad" laws. There is no one set of guidelines which humanity will ever discover that will cleanly cover all use cases and will be agreed upon as being right by everyone.
- Humans are moral creatures. Whenever anyone uses the word "should" or "ought" in a sentence, they're making a moral statement. Hawking may be a world leading physicist, but when he declared philosophy to be dead, there's a reason philosopher's all around the world shot milk out their noses[1].
- You can't legislate morality. But in a democracy, legislation is the lowest-common-denominator of the morality of the governed. This means that just because something is legal, doesn't mean it's moral. It also means that in a society which encourages diversity of values, you'll have less common ground upon which to legislate.
- Don't act surprised when someone is ignorant of a fact or subject which you know. Help them understand it with humility.
- Don't hesitate to disclose your ignorance of a subject to someone who can help you learn more about it. They may not want to point out your ignorance, and silently pretending you do understand it only keeps you from learning new things.
- Corporations are people. Or more precisely, its impossible to separate out the corporate entity's values and behavior from its owners' values and behavior.
- As much as possible, have your mind made up how you will handle pressure to compromise on your values before you're in a tenuous situation.
- Don't worry about "missing out". FOMO is terrible justification for doing things you wouldn't otherwise do. Though this isn't an argument against spontaneity.
[0]: https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton.27...
[1]: https://www.quora.com/How-are-philosophers-reacting-to-Steph...
At my Thanksgiving table there's two professional programmers, a CS student, and a CS professor. While I'm doubtless an extreme example, my general point is that "your Thanksgiving table" is still a bubble. That said, sure, for many it will be closer to representative than friends/coworkers.
> The tech industry is fundamentally unserious about how it recruits, hires, and retains candidates.
On the other hand, the current approaches clearly don't work very well, and everybody knows it, but nobody seems to be interested in seriously thinking about what we need to do differently. (patio11 and tptacek are notable exceptions)
> Your idea is not valuable, at all. All value is in the execution.
Good advice in the main but not 100% accurate. Some ideas are novel and good. In fact, many are. But communicating even good ideas is difficult bordering on impossible, more so for truly novel and innovative ideas. Think about how often an adaptation of an excellent novel translates into an excellent movie. It's rare. But that doesn't mean that novels (or idea) are worthless. It means that execution is hard, it means that communicating ideas is hard. Even if you can spend years turning an excellent idea into a fully fleshed out idea (a novel) it will still be hard to execute it faithfully. And by the same token, most books are pretty mediocre, for example, just as most ideas are mediocre. Trite, repetitive, hackneyed, etc. That doesn't mean all ideas are valueless, just most of them, and it can be difficult to figure that out until you've gotten to execution.
> There is no hidden reserve of smart people who know what they're doing, anywhere.
This is also mostly true but a bit misleading. It's nice to think that everyone is just struggling along half-assing things the same way you are, and that's true. Mostly. But there are actually a lot of people who really do have their shit together, really do know what they're doing, and are just better at their jobs by a significant margin than most people. It's comforting to think that such people are an illusion, but they are out there, sometimes they aren't even doing glamorous work. The fact that they exist isn't really terribly important (if you're really lucky you might be able to hire them, but you probably won't be that lucky).
What's more important, I think, is that there is no excuse not to try to do better, constantly. If you want to really have a competitive advantage don't worry about hiring the top 1%, rockstars, ninjas, or even necessarily the "10x" workers. Concentrate on fostering a culture of continuous improvement and collaboration. Learn about best practices. Apply them. Build policies, processes, and culture that support doing better. Study what works and what doesn't push towards an environment that fosters doing what works and abandons bad practices. Stop firefighting start doing root cause analysis. Do code reviews regularly, get better at it. Test your code, increase automated testing, increase the quality of testing. Keep moving the bar higher in terms of quality. Figure out how to accelerate development velocity. Move error detection closer to the point of checkin. Never give up raising the bar. Decent developers working as a team with a good process focused on continuous improvement will out-perform rockstars stomping on each other's toes all the time every day of the week, by orders of magnitude.
Would love to read more about that. I'd be willing to bet most SMBs are terrible at hiring / retaining developers.
My last company did literally nothing to help devs learn and grow (or to reward those who did so on their own), which created a department full of miserable, unmotivated people. The only reason most of them are still there is because they haven't found a new job but can't afford to leave.
They're trapped, essentially.
Simply not true. Ask the Winklevoss twins.
That is not purely a rhetorical question. While I do think that Brontë, Dickens and Melville are right and the authors of your links are wrong, I also would like to know why you and many others think it's the other way round.
It's been a long, slow road to recovery.
This is oft repeated, but not always true. Take the Nazis (bear with me).
The Nazis had the best execution ever. They almost drowned the whole British army, which had previously conquered the world. While fighting battles all over Europe and being one of the most bombarded country in history, they continued to produce tanks, planes, submarines, operate a bureaucracy until the very end, invent bombs and other systems that befuddled all other nations.
Yet they lost the war. The reason they lost the war is, their idea was so bad, people everywhere were willing to die to make it fail.
An excellent idea can survive a bad execution for some time. A terrible idea will ultimately fail, no matter the execution.
Germany was also being worn thin on supplies. It's not as if they were in perfect shape minus allied bombings.
Also, the Nazi ideals weren't terrible in the way a business idea was terrible. Many people bought into it.
Though they were effective at killing large numbers of (defenseless) people…
Also they didn't lose the war because of some flaw in their ideology, they lost due to manpower and industrial shortages (inflicted by Soviet and Allied militaries) that limited their ability to wage war.
For more, I recommend watching the Hitler Channel (err History Channel). [3]
[1] https://www.washingtonpost.com/outlook/five-myths/five-myths...
[2] http://www.bbc.com/travel/story/20170903-why-people-think-ge...
So then Hitler stopped listening to his generals, and went on to micromanage the war, and made one terrible decision after another.
• Not invading Britain before starting a war with the USSR, where Germany was outnumbered by over 3-1.
• Focusing the Russian invasion n Moscow instead of the far more important strategic objective of Kursk's oil fields. Not only did Germany needed more oil, but Kursk was also nearly the USSR's only supply. They got close to Kursk, but didn't destroy tthe oil fields when they fell short, and Germany's war efforts was handicapped by oil shortages the rest of the war. Your air force can't use it's superiority if it can't leave the ground, and neither can your tank commanders if their tanks can't start.
• Sending a million man army to attack Stalingrad when it had little strategic value, then abandoned it, losing every single man. When you are outnumbered 3-1, you can't fight wars of attrition, every man counts.
• Rejected the Army's plan to liberate Ukrainians and recruit them to fight as allies against the USSR. This would have almost evened the man-power disadvantage with a fresh supply of soldiers who hated the USSR. Instead he declared them sub-human, ordering them liquidated to make "living space" for Germany, and turned Ukrainian resistance behind German lines into a devastatingly powerful asset of the USSR.
• Ordered the ME-262, by far the worlds fastest fighter, to be launched with bomb mounts that slowed it substantially so it could only be used as fighter bomber, while Germany was being bombed relentlessly and had lost command of it's own skies.
• Wasting huge amounts of resources on wonder-weapons such as the V1, V2, that had almost no impact on the Allies war efforts.
• Also includes the Maus and Tiger Tanks, which sucked resources away from building more of their best tank, the Panther.
Not focusing on the right objective is not, IMHO, an execution problem. It's a vision problem, a leadership failure.
But much of what I wrote above was also an execution issue. Making oil fields a number one priority was an obviously correct decision for the army generals. Not being allowed to do it because of diverted resources was an execution issue.
Oh, I didn't realize tech invented the library card.
It might be a difference, but it's a difference for which the university comparison is a red herring.
How many universities have a porn department?
My point is, libraries maintain a very curated collection, and choose their holdings and resources based on very restrictive criteria, including funding and shelf space, making them relatively poor at keeping broad and deep holdings. Until you give the library an Internet connection, which brings us back to the origin of this sub-thread.
But I have yet to be in a university library that stocks back-issues of Playboy...