I gotta say I’ve heard this take a lot, and I find it regrettable because I think everyone doesn’t understand what they’re missing, this is a pretty human trait. It’s pretty impossible to just know it all and to not know it so much that you’re just miles from even realizing you aren’t even close.
I’ve definitely first hand seen a lot of FAANG engineers (yes even them, some with PHDs) not realize something I had learned from experience during my first year working with computers and I’m certain I was missing things they learned early in university. In the end, together we solved some hard problems in spite of the unknown unknowns that each of us carried.
>I’ve definitely first hand seen a lot of FAANG engineers (yes even them, some with PHDs) not realize something I had learned from experience during my first year working with computers
I have a close friend that's the smartest person that anyone who meets him knows, no question about it. He's got a PhD in Physics and has also contributed a huge technical achievement to a FAANG company, that everyone uses every day. He's great at a lot of stuff, but not everything. We work on side-projects sometimes, and I'm the self-taught guy in this scenario. I know that I bring just as much to the table as he does, just in different ways. If either one of us tried to do the things we do together, alone, the result would be less than 1/2 as good. Recognizing this and letting each other shine has served us well.
I can only think that teams made up of a mixture of people with different backgrounds would do better than a team of all CS graduates, or a team of all self-taught developers.
This!
When you are doing something simple (as in there are known best practices) you do want people to have the same formal education. They’ll talk the same language and everything will be smooth. Nobody wants a self taught surgeon or pilot on the team. There is a best practice for washing your hands and you want your surgeon to know it.
But when you are in the complex domain (as in there are no known good practices), what you want is many different viewpoints on the team. So getting people with different backgrounds (different academic background, tinkerers, different cultures, different work experience etc) together is the way to go.
Same with the discussion about remote work. People do not seem to get that they’re no best way but it depends on the type of work. If it’s simple or complicated, let people stay at home to concentrate. If it is complex, give them the opportunity, and the knowledge it’s good, meet up by a whiteboard. And what’s best may of course differ from day to day.
It's safe to say that everyone you meet knows something you don't, regardless of background. But in the context of this discussion, it is pretty obvious that self-taught people on average have nowhere near the hundreds of hours of experience solving theoretical problems. Not having that background will actually set people back when it comes to solving hard problems that occasionally (or often) arise. Watching self-taught programmers talk smack about degreed professionals is like watching a couch potato make sweeping generalizations about how sedentary people who don't go to the gym are more physically capable than people who do, because the people who don't are not limited to performing certain exercises.
I gotta say still pretty regrettable take, if you will humor I am happy to explain why I say that.
First let me say I definitely value the hundreds of hours you would have spent on hard theoretical problems and while I wasn’t exposed to your curriculum, I regret I don’t have that.
However, I myself have definitely spent a substantial number of hours on distributed algorithms that were only available as published research (didn’t have a choice and that understanding I gained has been proven out), and my extended family is filled with PhDs, so I’ve been casually reading research papers since I was in my teens, this didn’t seem weird. A lot of my peers with and without degrees didn’t engage in this practice.
To explain further, I’ve also spent I can’t even tell you how much time on benchmarking and establishing performance bottlenecks and near as I can tell, no one has in university, or at least they’re not teaching it well enough, because it is shocking how badly this part of performance is understood. Let’s call it applied practical performance enhancement of software deployments.
In the end, I just can’t fully be in board with what you’re saying. Yes I wish I had that degree nowadays and I wish I could take 4 years out and go back and do it again. But I seriously did gain a lot of valuable experience that was hard won with that extra time and near as I can tell is super duper rare, especially because people keep hiring me for it.
It does sound like you spent your time well and learned a lot, one of the rare cases. I wonder how much of the research papers you actually understand deeply given that you lack common background knowledge. It may surprise you how many research papers are actually ill-conceived, and it is hard to see how bad they are if you don't know enough about the state of the art. You are on the right track if you want to catch up on what you would have learned in school. Just about anything in CS can be self-taught given enough time and effort, though you may need to seek feedback from others if you can't figure some things out on your own.
>> it is pretty obvious that self-taught people on average have nowhere near the hundreds of hours of experience solving theoretical problems
What makes you think that? Simple example: I'm self-taught. Failed pre-Calculus in high school, twice. Ten years in as a freelance programmer, I decided to build the first Bitcoin poker room, and therefore had to write my own poker hand evaluator. I had no example to work from. No logic flow-chart. I had to come up with the logic to parse, rank and show winning odds on anything from 5- to 7-card stud, hold'em and omaha hands. I had to dive deep into Monte Carlo methods, statistics, etc. Meanwhile, I'm writing a HUD for Star Citizen. I'm reading and learning about avionics, working out my own procedural generators in mixed 2D/3D. And this was just one year of my life as a developer. Working 16 hours a day, 7 days a week. Couch potato? Forget about the fact that I was getting paid, not paying tuition to sit in a classroom. These were problems I had to solve, and the work output was immediately in production, and the results were immediately visible.
The more apt comparison seems to be somewhere closer to an athlete that played sports with his friends all day instead of weight training for that same sport and getting instruction.
Most people excell with guidance and instruction but there are plenty of people who excel on their own and occasionally, because they don't know any better, end up doing something nobody ever thought to do or were taught was impossible.
You may know all this and are just singling out the Hacker News crowd. But I read your comment and thought "surely he doesn’t think Java is much bigger than Python?" I’m not even sort of sure Python is smaller.
Solidly Germanic with an absurd amount of French, down to nearly identical spelling for many common words. I’m not talking about cognates but actually 100% the same spelling and meaning and they’re often not from some recent century but from old French.
I’m sure you have a solid basis for saying this but it’s basically impossible to write many sentences without by accident using French down to the original spelling.
I was going to highlight all the examples I used by accident myself in this post but I gave up because the links were making it too long.
I believe this is because England was conquered by the Normans (french speakers). I think it was within the last 100 years or so that the English aristocracy finally stopped speaking French among themselves.
Despite having worked 10x harder at it than I did Portuguese or Spanish. When speaking those two languages, it’s close enough to a correct accent that people often will ask if my family is Latino or Portuguese once they hear that im American or hear my English. This hasn’t happened 5 times but so many, I just assume it will happen now.
However my experience has been different in French, even if it’s obvious I’ve worked very hard at French (C1 now), my French friends are not begging to speak to me in French unless they have limited English skills… just because my pronunciation/cadence/intonation isn’t quite right or even remotely ok, despite having much more immersion in French than those other two languages. French also feels like I’m singing at a concert rather that just conversing.
Just sometimes your culture/brain/ linguistic mix result in happy or unhappy accidents.
Edit I’m sure someone will bring up cultural differences but I have several multilingual friends .. they all say my Spanish is beautiful and nearly to a person criticize my French (in a helpful friendly manner), this is true if they’re Latin American or French. Just seriously it’s a thing, brains are weird.
So I think some of us have done it out of having no other choice and found it lacking.
From the time I had to live a year going to paycheck advance every month because of an unexpected auto repair bill (leaving that cheap typically requires a used beat up car).
Or the time I woke up with an excruciating pain in my side and went to ER which resulted in bills that lead to years of payments.
People do this experiment every day in the USA and the experience is pretty bad.
EDIT
I’ll grant this is all a fine trade off for some people. But having lived it, I can definitely say no thank you.
I understand everyone has different experiences and I have the advantage of having personal experience to the contrary so I don’t judge this opinion, I knew people where I grew up that believed this to be fact.
To better inform everyone their are plenty of French laws and announcements that are translated to English ( I moved there right before Covid and had to rely on said services at first ).
More complicated for your argument is there are parts of the USA that have had Spanish as the primary language since they joined the USA. San Antonio, Texas for example I don’t believe has ever been majority anglophone and it doesn’t become more anglophone the further south you go. My wife’s family has been in Texas since it was Spain, and they only in very recent generations switched to English primarily.
I’m not sure if you find any of this convincing, but I hope at least realize it is a bit more complicated than you may have realized.
> To better inform everyone their are plenty of French laws and announcements that are translated to English
This is not the point. The point is that there should not be an expectation. French is the language of France. Moving there and expecting people to communicate you in English is not something we should be celebrating.
> San Antonio, Texas for example I don’t believe has ever been majority anglophone
This is not true. 2/3rds of San Antonio households speak English at home. Then you add in people who speak another language at home but still speak English.
This isn't about expecting "people" to communicate to you in a language they don't speak, it's about expecting state institutions to communicate in their citizens' language. French public institutions definitely use languages other than French where it's regionally relevant. It's not mandated (only French language is mandated) but they do it because when you take taxpayers money to function and provide services to them, you don't get to be fussy when they show up and ask that you speak their language.
France is in a league of its own in this regard, since French is not just the official state language (and has been for some time, not a few weeks like in the US), but it's also the mandated language for commercial and business use. However, the French state doesn't just mandate that, it also creates the conditions for it, for instance by providing (and requiring) free, universal French-language elementary education for all its citizens.
And even so, they're still not universally French-only, even though they're probably the most centralist of all EU countries in this regard.
> when you take taxpayers money to function and provide services to them, you don't get to be fussy when they show up and ask that you speak their language.
Citizenship and residency have both benefits, but also obligations. GP moved to France without a good grasp of the local language.
Note: I'm importantly not talking about the native minority languages in France.
> Citizenship and residency have both benefits, but also obligations. GP moved to France without a good grasp of the local language.
A good grasp of French language is not a requirement for French residency. Some visas require it, but not all, and if you can travel and reside in France without a visa, you don't have to know it. For EEA and Swiss citizens, all you need is a valid ID and a clean record.
> Note: I'm importantly not talking about the native minority languages in France.
Why not? NWS translated languages in minority languages of the US, that's exactly what this is about.
English was mentioned above the GP, which is why it was brought up, but European institutions commonly provide English translations along with regional languages in part because a lot of the EU population is bilingual. That actually helps a lot, especially since state regulation is a little slow to catch up with society at times. E.g. where I'm from we have a sizable Turkish population, and while Turkish is an officialy-recognised minority language, some local institutions are slow to catch up with population dynamics, so a lot of Turkish residents end up perusing the English version instead and they're fine with it.
>Citizenship and residency have both benefits, but also obligations. GP moved to France without a good grasp of the local language.
It's an interesting one. I guess it's a requirement to learn French to naturalize as a French citizen, but there isn't an obligation to speak it if you already are a citizen. It's pretty subtle difference.
On the other hand citizenship in question is not really French citizenship, but European citizenship. It's polite and makes total sense to learn French when living in France, but not a legal requirement. As a citizen of another member state I can just move there and have the same rights as citizens with the sole exception of not voting in the national elections.
That's where we differ. Of course, you're not obligated to speak French, but to go and expect people to communicate you in your language, not theirs, is highly entitled.
I learned fast enough it was my 4th language. I have passed the C1 level exam (advanced, I would have struggled in my mother tongue), responses below you are correct though, you can learn as you arrive. This is IMO the best of all worlds, as it brings in talent and encourages integration.
You are very right! For example, my work contract was in French and English. The French was the legally binding text. I found this an excellent balance.
Re France listen the French are super duper proud of their language and rightfully so, it’s still practical to communicate to your residents important information.
Re San Antonio, they actually are counting the metro area which brings in a lot of white suburbs and throws the numbers off a lot but in the interest of being balanced, let’s say I’ll concede the point.
There are still a lot of US citizens in San Antonio that speak Spanish primarily, I think you’d be surprised by this, I know I was the first 200 times I met someone like that, lots of people there with roots back several generations still speaking with English with an accent.
Well met, I love that part of the world and I have many happy memories of my time there.
So I guess I just misunderstood where you were coming from but I’m interested as I also see in another thread you commented on this :
> Citizenship and residency have both benefits, but also obligations. GP moved to France without a good grasp of the local language.
Note: I'm importantly not talking about the native minority languages in France.
So can you elaborate a bit on your comment about minority languages? I believe there are way more multigenerational Spanish speakers in the former Spanish/Mexican parts of the USA than there are Basque, Alsacien, or Breton speakers, so if I understood you correctly you’re ok with some carve outs for the Alsaciens, Catalans, Bretons and Basques of France. If you disagree with the above statement or if I just misunderstood I’d be interested too.
PS yes I moved without perfect French, but it wasn’t for lack of trying and experience in learning similar languages, in the end, I just wasn’t willing to bail on my employer last minute who’d put all this money and planning into this, so I just muddled through. It worked out after all.
I gotta say I worked as a farmhand, waiter, fast food manager, line cook, grounds crew (by far my favorite job, it was at a university and I got to do everything), plumber, electrician, day laborer, delivery driver for many things and I did a couple stints in factories all before I ever owned a computer (didn’t come from a background where you had one, I got my first one and it clicked, within a year, I was working at an ISP configuring Qmail and Bind, everyone just assuming I had been living with a computer since I was born).
I’ve had a wildly successful career in tech where I’ve gotten to do, what to me are crazy impressive things (I don’t want to brag about here
but you may have benefited from some of it, certainly all of you have done more impressive things than me, and thank you for that) and I don’t regret it a day, but as someone that’s worked in those " normal jobs", other than factory work I found the jobs themselves WILDLY more satisfying than anything I’m doing today.
Tech work did used to be a lot better and I still love learning new things but if I could make a few hundred grand a year and never do another OKR and garden I would take that so quickly you can’t even imagine (actually I’d take it for a 100 grand year).
Now I’m old and I have people that depend on me, so I do the OKR shuffle and play all the politics, and even lead on new tech that I think is being misapplied in the org but hell if I can get anyone to believe me and just use SQLite. But if I was single and had no kids, I’d gladly give up the 6 figure lifestyle to get my hands in the dirt again or even get through a hard rush in the kitchen with the team, there was so much more worthwhile about the jobs I had before, it was just the benefits sucked and couldn’t support a family in the USA without a lot of luck and sacrifice.
I think maybe it is possible that most of you that think these other jobs are so hard just didn’t come from a family where they were normal, but for me they were, and I don’t see anything wrong with them other than the pay and the benefits. They’re honest work.
That said I’d be ok if technology companies just let us do our jobs without all the bizarre AMA, self help talk and bizarre behavior from management.
I think the answer is that it depends. Software engineering is incredibly hard if you are a perfectionist who wants to make efficient, secure and maintainable software. But most probably it is not even possible to be that perfectionist and stay within any given budget. And the requirements are most often not your own.
The thing is, it's a job that needs creativity, spontaneous decision making as well as personal responsibility for those decisions. It's a real easy job if you don't need to take this responsibility (e.g. those who come after me when I am long gone have to deal with the consequences). It becomes a hard job the instant that you have some passion or ethical concerns that drive you to create software that holds up to your own high standards and requirements.
I think that's what makes it so hard for many. We are incredibly passionate (why would we be on this forum in our free time otherwise) but we constantly have to betray our own principles to make it work or stay employed.
> It becomes a hard job the instant that you have some passion or ethical concerns that drive you to create software that holds up to your own high standards and requirements.
This is the hardest lesson to learn for a lot of software engineers. By nature, computers are unforgiving, so a lot(most?) of us are wired to do things 'right'. The apparent fundamental incompatibility of that mindset with modern corporate environments is a pretty painful lesson to learn.
This is not to say that any one of the approaches is the one true approach. To a company software is a means to its ultimate goal of more profits.
To an engineer though it's often both, a means of livelihood and a source of joy. Reconciling the second with the first is easy in theory and hard in practice.
couldn't agree more! these people who are not that passionate and build software for a living tend to care less, and when we care less we do more. also rarely they come up with crappy solutions, that might not be good but work. making things even harder for the passionate perfectionists.
I started it as a dance instructor (after competing since I was 13 years old) then I saw that the dance studio director still shared a room (!!) with somebody else in a really crappy part of New York City, so I got a job on the airport from a classified ad my husband clipped from NY Times and I got really interested and passionate about aviation. Took a few lessons and went through a course for my dispatcher license.
I loved it and got hired internally the second try. If I tell you we were called 'flight dispatch officers' you might be able to figure out which airline that was.
In about 12 years the airlines headquarter and ops center moved to the Midwest so I opted to stay in NY and go to school for retraining. I choose WAN admin because there were no coding schools. Here I got my A+, MCSE, MCSD,CCNA,CCNP,CCIE. But in the meantime I got heavily involved in scripting and coding. So my first job was perl, PHP and SQL developer and I've been doing it for quite some time now. I must say this is the most liberal and appreciative career I've seen. As long as your work is done, you can be anywhere. Besides the great salaries, benefits, (,ok no travel) these jobs are fun. Good choice.
In my long carrier I've seen many devs. Those who came for money really suffer the whole life. I started programming as a kid and can't stop even now ;)
I’ll be honest I would have left by now if I could have, but I don’t regret my career in the slightest. I still code for fun, but our jobs are rarely about just coding, and the money has brought in a lot of toxicity.
Yes, in big projects you don't see the result. it becomes a boring routine. But when your hobby robot makes first steps it's a completely different feeling.
Very inspiring comment. I suppose that software development was a much more impactful job back in the days.
I do get pleasure when building software, but like many others I also dream about starting a farm to diversify my income and get some physical work regularly.
I wonder if that conviction would actually survive you being dependent on the income of that garden (and the ability for crops to survive, grow and be sold at a good price to sustain you) or if you're just dreaming of vacation where you poke at the land a bit.
I worked on a farm and I find this romanticising outright ridiculous because I don't think a lot of you understand just how hard is it to actually make a living from the land.
Yes was talking about the grounds crew, no one was harvesting trees for money, it was my favorite job and would happily do it again if I didn’t have family obligations (I had mentioned this in the post).
That said the farm I worked I knew the farmer and his dad pretty well and I worked there year round for a couple of years with breaks in the summer. Harvest time was insane and not all the years were good, but the family were comfortable and most of the time the workload was reasonable. It maybe different now but I lived in farm states then and I personally knew several well to do farmers that were living very well with more assets than I currently have. So I’m not sure I’m fully on board with your view of farming. It depends a lot on time and place I’m sure though, I’ll fully admit that I’m no expert.
I’m sorry this caused such a negative reaction but I think you stopped reading too soon, we agree more than disagree. Listen, I’ve paid my taxes on those jobs that I miss, so I know what it is I’m saying.
Upvotes for you. I have also worked a ton of odd jobs out of necessity. Many doing things that would frankly disgust most people, or people would say is a worker’s right violation, or is a safety violation. I enjoyed these jobs more despite the conditions.
Financially it is great, no doubt about that. Take away the money and it’s a terrible job - despite loving programming, design, and engineering. And I mean, I love design, programming, ambiguity, and the constant learning required.
My largest source of sanity in this career is to spend extra time at work doing the things that I love in my position. Ironically, I get high performance ratings because of this - but have to fight to spend my time on it.
Modern tech companies and culture suck, even the best ones that I praise. I can’t even blame anyone at this point because it is hard and I have not started a company that tries to be better. I'm not even sure I would do better, to be honest.
Thanks I appreciate it, re safety violations, yeah some of it was those laws were just badly applied across the board, and it was hard to find a place without some degree of violating the letter of the law, so I think they just got flippant.
Re “source of sanity” I’ve caught myself doing the same with extra work, but sometimes it backfires when the little fun tool you wrote solves the purpose so well that it becomes the company standard and then the politics comes in, I don’t mean the “oh we need this feature super badly that breaks a bunch of other things can you do it for us” that’s just having a successful project. I mean when it starts figuring into political finger pointing and you’re forced to be involved in it all since you are the creator of a tool tangentially involved in some inter office politics. I’ve not figured out how to avoid that yet.
It seems insane sometimes that politics makes everything take so long that a decent engineer could’ve written all 3 solutions and validated them in 3 days, but no we want to discuss in this ticket over 3 weeks whose responsibility it is depending on which approach it is or what hypothetical scenarios this will bring (no one really knows anyways so we should’ve just tested it).
Unfortunately that has also pushed lots of good engineers to either disengage or work extra hard to push things through despite organizational problems (I seem to alternate between both but I feel too responsible to really disengage).
>My largest source of sanity in this career is to spend extra time at work doing the things that I love in my position. Ironically, I get high performance ratings because of this - but have to fight to spend my time on it.
Why do you have to fight if it's extra time? And couldn't you avoid the fighting by just doing it on regular time?
As someone who only delivered newspapers and worked in a video store as a kid, before landing my first developer job, I’ve always had this impression.
And I could never convince myself to go work on a farm, or in a nursery, or at a gas station, because working on my computer, often from home, always paid better.
I feel like most computer problems are made up, and so many real-world problems draw in your emotions and senses.
> I feel like most computer problems are made up, and so many real-world problems draw in your emotions and senses.
It’s funny, I feel the same but come to the opposite conclusion. I don’t want to look back on my life thinking that I spent all my time chasing fake problems. The calculus is different for everyone though.
>I don’t want to look back on my life thinking that I spent all my time chasing fake problems
Neo-liberal capitalist economies are full of fake problems.
Take flash trading for example. I know why it exists, and I know why it works. I don't fault people for getting involved in it, because they (and we) exist in the system we have.
Yet, think of all the money that has gotten both pumped into that industry and the industry has made in profits, and all for...being able to algorithmically trade penny differences in value at a profit due to volume.
Is that a problem that is worth solving? Well, in our current economic system, it is, but should it be?
I don't know whats better per se (I'm not arguing for communism or some other clearly failed economic political system) but I sure feel like I can identify problems that could quite easily fall into the made up category.
Doesn’t flash trading basically contribute compute to force prices to settle at equilibrium faster thereby improving pricing efficiency?
I’m not sure it’s worth the required effort input at a system level vs other places the effort could be applied, but there is at least some abstract benefit to it, I think.
A study by the SEC in 2014 stated that very high trading frequency is "unnecessary" (below 0.2s), but failed to identify clear downsides or damages to the markets.
I’ve definitely first hand seen a lot of FAANG engineers (yes even them, some with PHDs) not realize something I had learned from experience during my first year working with computers and I’m certain I was missing things they learned early in university. In the end, together we solved some hard problems in spite of the unknown unknowns that each of us carried.