An example to illustrate what I was working with:
Problem: input validation is too restrictive
Their solution: remove all input validation
For my mental well-being, I couldn't stay on.
Pivot! Lean startup! Four hour workweek!
It's an interesting model, I remember folks on HN calling for more companies to try it since it seems to have had some success in Germany, but I predict a lot more security bugs and unmaintainable code in the near future.
German here. The secret sauce behind the Duales System is that it's, as the name suggests, a split system - one part of the training is at government-run schools ("Berufsschule"), and the other part at the company that trains and pays you. And since the curricula are virtually the same across the schools, even if they're a bit outdated, they still produce decent graduates.
Our pride as a nation, our role models, is not a few people who struck it right to become multi-billionaires, our pride is the millions of people working for the Mittelstand and the consistently high quality of the stuff they produce. Boring, but wildly profitable and very, very resilient.
PS: You actually might know some of these things our tradespeople built. BMW/Audi/Mercedes/Volkswagen cars, MAN trucks, Rheinmetall, KMW and ThyssenKrupp military hardware from tanks to the massive Panzerhaubitze 2000, Diehl's IRIS-T anti-air defense, Heckler & Koch/Walther guns, anything with "Siemens" on it built before Siemens fell to MBA shenanigans, all developed and prior to globalization also built in Germany. And a lot of it, especially the military tech, is up to par with what the US military builds - for IRIS-T SLM and PzH 2000, the Ukraine war shows that they are even better to some experts.
One thing we sadly lost was pharmaceuticals - up until the 60s-70s, Germany used to be the "apothecary of the world" [3], but we lost that to India and China.
[1] https://en.wikipedia.org/wiki/Hidden_champions
[2] https://hbr.org/1992/03/lessons-from-germanys-midsize-giants
[3] https://www.deutsche-apotheker-zeitung.de/daz-az/2018/daz-44...
The stuff you need to know for most jobs can be learned through books (DS&A); everyone, including grads, learn to actually code on the job. Systemic thinking and breaking problems down into manageable chunks is harder to train for; this is where I think something that's akin to apprenticeship could really help. At least the way I view it, and maybe I'm wrong, is that in the early 2000's, much less the 90's, there weren't many CS or CE schools - much less accredited ones that followed CAC standards. If your company is doing this then they're just getting back to the roots of what a computer programmer used to be.
1. In weekly one on ones we may discuss a topic. I ask them to apply that topic.
2. They pick up sprint tasks and look to apply the knowledge they've gained.
3. They may ask some questions along the way; it's important that other engineers are also available for question asking - the same way peers may depend on each others knowledge.
4. You peer review the outcome in a PR.
Rinse and repeat.
I'll add I end up having to do this with everyone if they're fresh to industry or came from a place with poor standards for code writing and/or problem solving.
Remember that they're not just mashing code straight to the main branch; they're apprentices, so other engineers paired with them, others read their pull requests, etc. It wasn't a free-for-all, nor should it be.
This sounds like the kind of situation he'd excel with - is your company currently hiring U.S. based folks?
The part-time work is like doing the labs part.
Also at the end of it, you can still go to the university if feeling like it. I did so.
Going through technical school was a secure way to have a job, in case the university exams weren't good enough for the engineering degree, which by the way is mostly state sponsored on this side of the Atlantic.
At one of my jobs, they used Asana when I started. It was too full of backlogged issues, so we moved over to Jira. Then Jira got too full. A month before I was laid off, one of my coworkers said, "Maybe we should try out Asana."
And by an even higher percentage of overseas colleagues in some countries.
Especially those who for whom American business culture might be foreign. "Oh, they have politeness and trust-building conventions, much like we do. This is more pleasant than Hollywood led us to believe. It seems the difference is that you also verbalize what you are doing in their conventions. Maybe that's because they are a nation with a diverse immigrant mix, so they evolved that to reduce misunderstandings, and to help integrate people to common conventions. That's nice of them, and I will be sure to emulate."
I think the subtlety on that page is tuned for humor to those who already know, not to educate or persuade those who don't.
"Hello?"
"IT IS TIME."
*click*
I've been on too many Zooms where the presenter's Slack pops up saying, "John, we have a call with <company name> about <topic> at 3:00. Can you join?"
Multiple times, this information was probably sensitive. I'd rather avoid that by waiting until I get a response.
Stop having such low expectations of grown ass adults.
Forms filled out wrong after explicit instructions, vital information needed for a proposal due at 10 in the morning not received until 5pm the day before (and even then it's missing half of what they were told was needed), and then after asking for it again, finding out half an hour before it's due "oh I'm out running an errand, I'm not in the office, I can't get that to you", people taking pictures of handwritten notes in sloppy handwriting and sending them to other coworkers instead of typing them up themselves, people refusing to click a link on their iPads to access a document and demanding email attachments instead, people refusing to store important documents in CRM tools and instead saying "well it's in someone's email somewhere".
She's worked with several of these types before, but not this many people at one company, and not with such an intense workload (I think she was expected to submit a proposal every other day this month while wrangling these people, which is very short. At past jobs she usually only had to juggle 1 or 2 proposals in any given week).
She had no choice but to work holidays and nights and weekends and it still looked like she wasn't doing a good job because they weren't doing their jobs (her boss knew she was though, since she had to do the job before she was hired and knew what it was like, and begged her to stay).
I guarantee none of these people would have bothered turning off a notification, and then something confidential (legally not supposed to be seen by certain employees) could have been revealed.
Not that I ever usually bother to think about that myself, personally. It's rare that I start a conversation with someone with 'Hey blah! Here's some information that I can get in trouble if other people besides you see!'
Perhaps a hello filter and "yes?" auto responder could help, at least during business hours. Then send an OOO message if after hours.
The way I apply this to emails is to ask myself: if someone only reads the first sentence would they know what I need and if they need to act on it immediately, read it at their leisure, or file it away?
If someone says "how are you?" that doesn't work though.
If they don't want to talk business then a friendly greeting is appropriate.
With contracted outsourcing the root of the problem is generally a third party with misaligned incentives. But here this is no third party.
Suppose you go to a country and talk to a charlatan who tells you that they have many qualified people and they'll work for 30% of what you're paying in the US. You hire them and tell them to hire more staff there.
Then it turns out there are many qualified people in that country, but they don't work for 30% of what you're paying in the US, because it's a global market and actually they can command the same wages as their skills imply anywhere else. But there are plenty of unqualified people who will sign on for lower wages, and you've been promised workers for lower wages, so that's what you get.
There are other problems like timezones etc. and maybe payroll taxes are higher here too but I think the possibility for labour arbitrage is definitely real.
Eg Europeans usually had much more time off. The costs of that time off scale with salary.
I do think labor arbitrage could work, I just don't think it would be in Europe. I suspect the total employee cost in Europe approaches that of the US, the money just goes to non-salary places (taxes, time off, labor protection, etc).
Which is basically what happened. When the earliest companies figured out that you could do a lot of computer things remotely, they would hire some quality staff in e.g. India, pay them a little more than they'd usually get in India but a lot less than they would in the US, and that was great. Then everybody wanted to do that... but there isn't an unlimited supply of qualified staff.
So the competent staff started demanding more money, because they could, until they got paid enough that the savings was only just offsetting the inconvenience of different timezones and laws etc. But the current CEO still remembers that case study they read in business school from 1985 about how great outsourcing is at saving money, from before the arbitrage opportunity was eliminated by everybody trying to do it.
But there are frictions, too. Unless you go into management, comp tops out around $200k in most metros. HR -- instead of write-your-own-rules in a startup you have to take corporate training and get approval for things folks at the startups take for granted. Limited tools, externally managed corporate OS and software, Outlook instead of Slack. Office time requirements -- fully remote is very rare. And so on.
Not saying this is the wrong choice, just that there are tradeoffs.
In the past decade (i.e., when the money was plentiful) when a startup is young, the TC of its engineers rarely makes or breaks the startup. Being able to get an MVP out and iterate quickly is more important, so it was a rational choice to stay in the Bay Area even if it means 30% inflated TC. And after that moving is expensive in both time and money and risky (e.g., a key engineer might not want to go).
And having a critical mass of tech companies helps attract talent: if a company goes under or has large layoffs it is perceived to be easier to find a new job in the center of the tech hub.
I think covid helped nudge along the process of moving tech development out of SV, but it is a slow process. My 2c.
What has Meta or Google or Microsoft actually innovated on recently?
Google has a way of starting something and then shutting it down.
There are "normal metro areas" that aren't the Bay Area where a $150k salary leads to a very comfortable life, with loads of $150k jobs for people with decent skills.
Except oops Amazon would absolutely decimate my yearly comp because they base it entirely off where you live, and adjust it if you try to move somewhere cheaper
Though of course that's all moot anyway since we've all gotta go back to the office because the people who own all the realestate are weirdly chummy with all the management of these companies. Weird how that worked
There are other employers hiring tech people other than Microsoft, Facebook, and Amazon.
In fact, a teammate of mine is a software developer just got his Starlink connection up and running replacing his WISP in a rural area where he's farming as well on the side. Another friend works as an SRE and lives way out in the desert pursuing his amateur astronomy hobby. I know of several other friends and coworkers who live similar lives.
Technically I'm 100% remote, but personally I enjoy the metro life so I'm living in an affordable metro area living a lifestyle I enjoy.
...with the same staff and teams, that's the important qualifier. Nobody thinks they're going to get the same quality team by body shopping their hiring funnel.
And you likely have experience, domain knowledge, product knowledge, customer knowledge and so on, so I'd argue you Are special.
But then you leave, and need to be replaced. Since I'm hiring from a pool where no-one has this special, I may as well hire from overseas. Its cheaper.
Equally, when you work remotely your special is invisible. The way you keep the customer happy is invisible. The way you enable your team (assuming your special is passed on) is invisible.
Of course there are very smart people, with lots of experience, and lots of special of their own. Finding them is hard (of course) but the reward for finding them is significant.
FAANG companies are skipping the labor broker, and building subsidiaries offshore. Those offices pay local rates, have as-strict hiring policies, and are growing.
So your point us well made- existing employees have value. But companies deal with churn. And we don't need 300 people onshore with your special skills. We can offshore 200 posts, and wait for them to come up to speed.
Being a remote worker makes this process easier.
Everybody goes into these arrangements believing, against all history and experience, that they aren't going to lower their hiring bar. Good luck with that.
We saw this trend happening with manufacturing overseas. Chasing the cheapest labor is not an effective strategy in the mid to long term because it means that eventually your supply chain is at risk and the savings delta shrinks to the savings being irrelevant.
Management does.
It's hard not to get angry at the company when you see them hiring at median US wages ($100-120k US equivalent) but specifically refusing to hiring folks in the US, when the company is US-based.
Mexico City, especially -- general consensus is that the level of expertise is good, it's not hard to find a Spanish speaker in the US, better cultural fits, and the timezones overlap better; MXC is on Central Time. Not India-level cheap, but competitive enough.
Canada is even better in that sense, but at a higher price.
NAFTA TN visas are also attractive there, too. No H1B nonsense, and can easily bring personnel over for short (~3 year) tours.
Disclaimer: USA-ian of Hispanic extraction in Canada, so I follow these gigs reasonably closely.
You also don’t have to pay for healthcare of your Canadian employees since they pay for it on their income taxes.
Plus, London alone has 10 million people, and if you lump in the London commuter belt that adds up to aroun 15 million people, more than all of Ontario! That's a hell of a skilled worker base to work with.
I've been a software developer for the better part of two decades, I'm not worried about the C-tier code coming out of rural India. You shouldn't be either unless you're a really bad dev.
If we can mandate EV batteries be built in the US to get subsidies (Inflation Reduction Act), other protectionism mechanisms should be on the table. Otherwise, businesses will do their best to maximize profits in the market they’re offering in without any labor contribution back, extractionist style.
The evidence does not show the American worker being better off after these policies you support were enacted and have had decades to run. Free trade is great for shareholders and some consumer cohorts who get excess utility, but terrible for workers. “The definition of insanity is doing the same thing over and over again and expecting different results.”
https://www.epi.org/publication/briefingpapers_bp147/
https://www.epi.org/publication/botched-policy-responses-to-...
https://www.epi.org/press/globalization-lowered-wages-americ...
https://www.npr.org/sections/thetwo-way/2015/12/09/459087477...
The theory only says that all the people globally will be better off. It does not say anything about citizens of a specific country that is applying protectionism. They may be better off for it, they may be worse - it depends on the particulars and, as most economic interventions, can only really be judged post-factum.
I don't think unionizing will help with off-shoring for development. I do think unionizing could bring about more equal treatment though. It seems most companies ignore their own policies when it comes to ratings, work assignment, hours, etc. Devs have very little recourse. Of course the assholes that do well and aren't afraid of c grade coders are the ones who don't want unions since they might loose their edge over others comp-wise.
Consider the common refrain: I'd rather negotiate for myself
It's like, a fundamental misunderstanding of how power dynamics work, as if you as a solo person in a 1000 person company could somehow EVER be more valuable to the company than the entire labor pool.
Newsflash: If your company doesn't throw a fit any time you try to take time off, like CEO comes and talks to you personally fit, they think they could replace you just fine. 40 years of project management has attempted to build things just for that.
The misunderstanding is yours. Workers understand what you say just fine, but don't care about out-negotiating the company. They will never meet the CEO at the bar, so it means nothing to them. They want to be able to out-negotiate their neighbour so they can peacock dominance over someone they actually interact with.
The purpose of a union is to establish a brotherhood between metaphorical neighbours so that they don't try to be assholes towards each other. While that does, indeed, improve the overall worker position against the company, it hinders the power dynamic between them. And that's where you find the pushback.
It's much like you find in 'middle-class' neighbourhoods where you see households trying to outdo each either with nicer yards, or fancier BMWs, or whatever, all while racking up crazy debt to pay for it all. If they invested the money they pour into that stuff instead they would be way better off, but being better off isn't the motivation.
Is it still forgetting if it never happened? Both the idea of the 8-hour work day and weekends predate the first recognized union. The 40-hour workweek became the norm during the Great Depression by way of government initiative in an attempt to spread the work out across more people.
Unions have long supported the 40-hour work week, but are not meaningfully responsible for it. If showing support for something is necessary for something to exist, then you could probably say that just about everything exists because of unions...
Even still, we're talking nearly 100 (when it became common) to well over 200 years ago (when it was conceived). Even if unions actually were responsible, people are going to naturally ask "What have you done for me lately?". Where is the 10-hour workweek?
Besides, let's say youre right and unions have given us all those things. Those standards are over 100 years old. If it were true, it would mean nationwide unions did some things 5 generations ago and have collected literal trillions in inflation adjusted dues* since and have provided nothing in return.
* 11% of the US is unionized, representing about 1.1 trillion in annual payroll. Average union due is 1.5%, that's $16.5B per year in union dues collected, over 100 years = $1.6 trillion. But union membership used to be much much higher than 11% so its actually a much bigger number than $1.6T. But you get the math.
Eh, maybe not. It depends on the demand and availability of skill/labor. If you have a high percentage of low skill labor and you can outsource low skill labor to cheaper markets, then what are the current low skill citizens going to do? Surely the rust belt is not better off now than when coal and steel (and other manufacturing) were still a domestic thing. Maybe other areas of the county faired better, but with median wages dropping over the past 50 years, it doesn't seem like a strong case.
You're almost certainly correct in the sense that the people of the entire system will be better off, but your own domestic market could suffer at the gain of the other market where the business is now being outsourced to.
A good example of this might be tech in the EU. The EU basically has no major tech companies because we "import" all our tech services the US (Facebook, Google, Amazon, etc). It's great for us in the sense that we didn't have to pay anyone to build amazing online services like Facebook, Google, etc – it's just free stuff we get here from the US. But who benefits the most from this arrangement, is the US or the EU? I'd argue that the EU allowing the US to provide all of our major tech services has been great for US growth, but it's stagnated the EU economy in recent years as we've had no real reason to build 21st century companies here. The free stuff we get from the US actually comes at a cost for us even if overall the economy as a whole (EU + US) is better off for it.
Similarly, imagine an extreme scenario where US companies outsource all work to low-cost labour countries (I know this is impossible, but assume the US is 100% service sector jobs which could be outsourced). Would this hypothetical scenario be good for the US economy? It might be good for companies registered in the US because now they can provide their services to markets they serve for a fraction of the cost, and it would be great for those low-cost labour countries getting all this foreign work, but it would be awful for the actual US economy that's allowing this to happen in the pursuit of efficient markets.
So yeah, you might be growing the whole pie at a faster rate, but it's possible mass outsourcing doesn't help grow your share of the pie. And like with manufacturing, you also need to consider how you'll lose technical competency within your domestic market over time if you outsource too much, and this will likely lead to the country you out sourced to eventually out competing you in your own industries. We see this today in China.
If you want to cripple tech innovation in the US, outsource all your software engineers so there's no one in the US with the skills or resources to start the next Google or Facebook.
Short and mid term matters a lot to people.
If I lost my job right now, I'd be totally fucked. I'd end up working at Walmart. Masters degrees might as well be toilet paper.
It's a pretty big leap to go from a software engineer to Walmart. The median software developer (~$110k/yr last I checked but could be outdated) is somewhere in the upper teens as far as income percentile (20% being around $100k and 10% being around $150k[0]). Pretty much any non-management role at Walmart is going to land you in the bottom half.
I'd be curious (but it's none of my business) what about your situation makes that the most likely outcome. I'd bet there are ways to head that off.
[0] https://en.wikipedia.org/wiki/Income_in_the_United_States
Seems like retail, warehouses, and other unskilled labor are the main options. Even something like teaching would require a certification.
Devrel would actually probably be the easiest thing to get into with a few years' foresight. Building a following on YouTube, Twitch, Twitter/X, etc. will make it infinitely easier to land that first devrel role.
You bringing up teaching is a good point - I'm not sure about where I currently live but where I used to live you could get a substitute teaching cert basically by just passing the background check and having a college degree. It was pretty easy to get an add-on certification as well to teach your subject or closely related ones. I can't say what it's like everywhere though, and to be honest most of the people I know who have teaching degrees have left or wished they could. But if you can get a job and can deal with the bullshit you're basically set from a put-food-on-the-table standpoint.
Can't wait till I'm out.
Tech Writers - nope. Nothing dealing with boilerplate text is safe, in any field.
Twitch/YouTube - nope. That is just celebrity economics again. For every half dozen people that make it (and make it is just back to median dev salary) there are thousands that only get a few viewers.
Teaching - this is option. But as noted by others. Can have own problems and a lot of people leave.
I'm an old Dev looking for second career, and it is tough. The option is to just re-skill and be dev again in another industry. Dev's be Dev's. It doesn't seem like there are many upward paths, and limited sideways paths.
What, product manager, analyst, marketing? Tried them, they all have downsides.
Even with all the crap, I only find comfort in creating things. Coding.
I see a lot of very qualified people coming from India, around a big University here.. They have had twenty years to build to this.
I have been assigned to lead offshore teams with engineers that need direct guidance on very basic coding tasks, produce low quality code and become combative when receiving feedback.
So many times I’ve reviewed and requested the same changes to code, classic example: a try/catch then completely ignore a caught exception, just to get some code “working” for the example inputs. When I call this out as a problem, it’s met with “well you did not say that in the specification, I have completed what was asked”. Another commenter had a similar anecdote where all input validation was removed to get test cases passing… are we expected to write things like that into a work spec? Seems like this would take longer than for me to write the damn code myself
There are of course lots of bad coders in India, but there are also many really good ones. And whereas in the past they had to emigrate to US or Europe to fully make use of their talents, nowadays some(many?) choose to remain in India and work remotely. It's silly to dismiss and underestimate their skills.
As far your experience with developers that follow the specs literally, in an almost maliciously compliant way, that might be learned behavior from working on projects where the tasks are spec-ed and estimated and any attempts at going above and beyond ultimately result in late delivery and punishment, so developers quickly learn to only do the bare minimum of what is described. Granted your examples are extreme and pathological, so maybe you just had the misfortune of working with really bad people.
Additionally, unless you pick the developers yourself, you're at the mercy of the agencies who assemble those offshore teams, and often the economics are such that it doesn't incentivize them to hire the best people available. From my experience, many good developers find work on their own, outside of an agency, contracting directly with the remote company.
That's why these outsourcing threats from companies make me laugh, they don't understand that software is a global market and they also are competing in it.
The world class FAANG-level Indian engineers which are underpaid just do not exist.
I dislike the tone as there are plenty of good devs who've been cut and replaced (sort of) by offshore. Don't equate laid off/replaced with "really bad dev".
I think the solution here has to come from the federal government to explicitly increase sw development employment in the US. Just like we find ourselves in a bad place with scaling chip manufacturing, we will find ourselves hamstrung in sw dev.
I doubt unions can help here - except maybe pressure the government (and that too works mostly on democrats if at all).
There are a lot of anti-unionists and Libertarian minded programmers in the US.
As for Twitter well, I can't explain why his other companies get 1 million plus applicants while this company languishes.
What he’s doing with Twitter and all his culture war nonsense is beneath him. Or at least it’s beneath the character he created that people compared to Tony Stark.
People who want to work on spaceships do not want to go help him stan for a guy called "catturd2."
This leads me to want the OEMs to succeed, we desperately need a counterbalance to Musk because just shaming his employees won't change a goddamn thing but if there was another place where A players can be embraced well that would put a massive chink in the Musk armor. Hell I remember there were a whole group of furry employees at Tesla as well. Tesla has also participated multiple times in pride parades. I wonder where they are now...
He’s not superhuman. I think he was once quite smart but I feel like he’s fried his brain. (I think the fash brain worms are an opportunistic infection.) So what made him able to get these companies going?
A lot of lazy critics think it’s just luck. Founding a rocket company and a car company and having them even work at all is not luck.
Maybe he’s showing us that the bar is actually not as high as we think, and instead that the process whereby we promote people to levels of wealth and influence where they might have the opportunity to do what Elon did is horribly broken. We aren’t promoting competent people to pivotal positions as a society, and in fact are probably filtering them out.
I guess you can see that clearly in politics. Look at all Presidential elections 2016 onward. Look at the whole lineup during the primaries. You’re telling me these are the best candidates we can find for the highest government office? Really?
It is predictable that remote work would lead to another wave of off-shoring. The question now is whether or not these companies can actually innovate with a remote, largely foreign workforce. We've all seen the abominations produced by offshore teams. Moving to a fully remote foreign workforce may be short-sighted.
As distinct from a remote, largely local, expensive workforce?
Innovation is often the mix of vision, direction, and implementation. AWS for example, was implemented by an offshore team. [1]
[1] https://en.m.wikipedia.org/wiki/Amazon_Web_Services#:~:text=....
The only way for me to protest is to leave, but the job market is terrible.