In my opinion, data and documents are the real AI benefit, or threat, to developer jobs.
Specifically, how good a company's data is will determine how effectively it can leverage AI in the future. The public data is pretty much mined to exhaustion, and the next big data source will be in-house documentation, code repos, data lakes, etc. If you work for a company where that's been built, maintained, and organised then the effectiveness of AI is going to be mind-blowing. Companies that have maintained good docs be able to build new things, maintain old things, and migrate things to cheaper modern stacks easily. That will lead to being able to move fast and deploy new AI-driven services easily and cheaply. Revenue will follow.
Conversely, at companies where documentation and code organisation have been historically poor, AI will struggle. Leaders will see it as a benefit, and be baffled at why their company can't realise the value of it. They'll quickly blame developers for not being able to use it, and that'll lead to people's growth stagnating or possibly layoffs. Eventually competitors will eat the company's lunch because they'll just be able to move on opportunities much faster.
I've resolved that in any future job hunt I'm going to make asking about docs, data, and repos a priority...
A consistent and well-organised approach across the data that could be used by AI, ideally with journalling and tracking to understand how things have changed over time.
Are you "giving up a bit of equity"? I think more accurately you are pointing your front tyres towards a path of aiming for fast growth and investment. YC doesn't want 7% of a $1m arr Haskell consultancy as the endgame for your company for example. They want a shot at a 10B company. See their home page and it now gives that vibe.
So more like you are giving a large chunk of equity for a lot of investment over many years to build a unicorn, unless you fail. Which most likely you will. Based on probabilities. Fail may mean getting some $ though.
We shouldn't have any expectation of talking to a real person in a customer service role ever again to be honest, especially over a text interface. Chatbots are good enough that we don't need a person except in very limited edge cases.
A common cause is multi-page forms that silently push URL changes to your browser history stack, and also set headers that block pages being cached by the browser properly. On mobile that means an accidental swipe up takes you 'back' a page, which reloads the form losing all the data.
The web dev who built it needs to have made a few errors at the same time, but browsers, HTTP servers, and JS all work in tandem to make foot-guns like that very easy to pull off.
If there's a single hack for your career it is simply telling your manager when things happen. Shipped something? Tell them. Broke something? Tell them. Blocked on something? Keep that quiet. No, wait, tell them! Made a breakthrough on something? Tell them. Hit a milestone? Tell them. Got some bad news? Tell them, as early as you can, so they have time to fix things. And so on, for everything. Clear, open communication about the state of things is critical. Embrace stand-ups. Email people first. Put updates in Slack. Write docs. It doesn't matter how you do it so long as you do it.
If you get a reputation for being someone who communicates when things happen you can practically choose your own career path. Every manager will want you on their team. You can boost your way up the org chart or languish in a role so you have time with your kids, and any competent manager will happily and readily support you to do that.
Perhaps oversimplified. The manager might not want you tethered to his/her in-box like a puppy on a leash.
"When things happen", sounds risky. You don't want to be drip-feeding emails about individual things as they happen. Perhaps this is obvious, but you'd keep your own notes and try to condense into a nice little list for discussion when you next catch-up.
It takes some judgement for sure, but that comes with experience. It's far better to over-communicate than under-communicate until you can gauge it yourself so I'd always recommend sharing everything when it happens.
If it's too much your manager can tell you. That's how you get that experience.
What exactly is the point of a manager if they’re just passively receiving information from their reports?
The only thing I've said here is that you shouldn't be waiting for your manager to ask for updates. If you read that as me suggesting managers should passively sit around doing nothing except receive reports then you didn't think about it for very long.
I don't understand the title. It says autosave is not recovery, and then the article talks about a form that evidently didn't have an autosave feature, and how the author wrote a library to add autosaving to forms.
Ironically, unless the author has committed to maintain it forever, that library will inevitably become a "legacy library that is no longer actively maintained" that's part of the problem they're trying to solve. Presumably a short blog post about how to serialize some form data to a JSON object and save it to localStorage when a field's onBlur event fires, and how to load that data and populate the form when the page loads, wouldn't have been complicated enough.
The world has more than enough water, food, and energy to sustain a much, much higher population. The issue is that people in the areas with a lot of resources don't want to share - that's more of an observation than a criticism. People don't have to share.
This is a commonly stated aphorism which betrays a deep ignorance of the issue. Namely the logistics. If we had Star Trek transporter technology we could in fact solve world hunger. We could take the excess bananas grown in Colombia and drop them outside the doors of hungry people in Nigeria. But we don't. It is very expensive and difficult to transport food and water from one place to another. The world has sent Africa $1.5T over the last 50 years, and yet the number of undernourished people has almost tripled in that time, from 100M to 282M as of 2022. Why?
1. Corruption. I saw this first hand. For every $1M sent into Africa, a very large proportion is confiscated by tribes, gangs, militia, and the government. You can send all the excess food in the world, but there are thousands of people between production and the hungry person who is eager to violently steal it.
2. Africa's population is booming. Thanks, in part, to food aid. Half of Nigeria doesn't have access to toilets. 40% doesn't have electricity. 25% doesn't have running water. Their fertility rate is 5.2 children per woman. We are unintentionally propping up a future catastrophe.
3. Food aid has destroyed local farming and food production. Locals cannot compete with free.
4. Equitable allocation is impossible. There is no hunger score above each person's head. Even if there were, there is no supply chain anywhere in the world which can reliably and repeatedly deliver the necessary food aid to each person in the deepest African jungles. We rely on distribution hubs which are sparse, poorly run, intermittent, and subject to temperature and humidity extremes. This means food perishes fast unless it is ultra processed and packed for durability. Basically army rations. Even those expire after some time. Meaning we can't just take the Colombian bananas and send them around the world. Only certain foods work, and they need to undergo expensive and specialised processing. This entire supply chain is far more expensive than you can imagine.
I will close with my own opinion. While the world could sustain a higher population, it is clear to me that it will result in diminishing quality of life for everyone. Crowded conditions and increasing scarcity are not aspirational goals for humanity.
I understand the logistics very well. I'm not suggesting we move the food and water to the people. I'm suggesting we move the people to the food and water. Cities like New York have a population density of 50k/mile^2. We can build lots more cities at that scale much closer to where resources are easily available.
I'm choosing to ignore a lot of the problems with people from disparate backgrounds living together, people not actually wanting to leave where they live, people not wanting to share freely available resources, etc. Those are very hard to solve problems.
I'm only saying that over-population is not the cause of resource problems. If we can solve the other problems then a lack of resources stops being a problem, which proves population size is not the root cause.
I would like to challenge your suggestion - ignoring for the moment the practical issues like cultural and economic and educational roadblocks.
New York doesn't magically receive food. New York is a large net recipient of food imports. It produces value to society and exchanges some of that value for food farmed by others. The U.S. (and most of the West) is structured in such a way that productivity per capita is high, and it means everyone in the food supply chain can live a reasonable lifestyle with enough food. Most African nations do not structure their society this way. It's not an accident. This is the way they choose to live. I grew up in Africa and I'm happy to explain the many ways in which American and African cultures differ. For example, corruption isn't corruption in most of Africa. It's good manners. Gift giving has been happening in tribes for thousands of years. In business it is a common courtesy to provide a gift during negotiations. Of course the person with the largest gift is the most generous and the nicest person, so of course they get the contract. This is a fundamental difference in our cultural and social understanding of what is right and wrong.
What you appear to be exercising is a typical Western hubris: "if we can just get the savages to live with us, they would see the light and live like we do." This assumes that everyone want to adopt your values and way of living. They don't. The reason there isn't much food in Africa (relative to the population size) is not by chance. They live on some of the most fertile land in the world. Africa should be the breadbasket of the world. The issue is that they don't like the way you live and don't want to live that way. Any kind of mass migration strategy would merely result in lots of hungry people in America.
What I said is that the world produces enough food for everyone (and then some), so 'over population' is not the reason for people not having enough resources. I was careful to point out that was all I was saying in several places. I added caveats to say that there are lots of hard problems around moving people to the resources.
You chose to ignore all that, and argue against the point I explicitly didn't make. Congratulations on winning that argument. Your prize is a huge straw man.
This is why I favor tractors, tooling, and bulk material like steel and copper over sending food aid. Give a hungry man bread and he eats for a day, give a hungry man a tractor and a lathe and he will become a farmer/machinist/well driller.
Gangs can only want so many machine tools and steel plates, if you don't use them they are just in the way. But people who do use them and learn how to do it well become immensely valuable and beneficial to all.
I wish it worked like this. We have decades of examples of aid projects where we provide the means to produce food - machinery, fertilisers, irrigation equipment, water boreholes, processing and refining equipment, etc. Most of them fail. All of these machines and processes require training. Often extensively. Good luck convincing any of the locals to dedicate the next year of their lives to learning how to drive a complex tractor and PTO. They know that the tractor will break down soon and the parts will never arrive to fix it. That is, of course, assuming the tractor isn't stolen by next week. Which it usually is. Even if all the stars aligned and they managed to produce food, that will be stolen too. Either by someone else or by them.
Gangs don't use the farm equipment. They steal it and sell it. They will steal any equipment they can and there is an unlimited appetite for equipment on the black market. Especially in China and Southeast Asia.
I certainly agree that it isn't a cure-all, I just don't see how any other program could ever end the cycle without those things included, and that despite the current prevalence of such ideas and projects it probably still isn't enough. Machine technology is what separates total poverty in the modern era from atleast some semblance of prosperity.
One part of the problem could be sending them super cheap/crappy tools because it seems like a better value per dollar and also the constraints of total funding. Sometimes maybe getting ripped off by foreign suppliers because there is a LOT of really crappy steel out there disguised as tools and engines that are all but useless. But tractors and tools that break down that easily are a complete waste of money and time to people who will barely get to use them before they stop working and they likely are right that it is junk. We have the technology to make a tractor that is robust enough that you wouldn't expect any maintenance for years if not a decade and minimal even at that point. I definitely don't see many decent manual CNC machines and lathes or other machine tools getting sent over in numbers enough.
Of course a lot of this still ultimately comes down to cost which is not an easy issue to deal with.
Water available in Nunavut, Canada is no help to Algeria's water crisis.
And the opposite, natural gas available in Algeria is no help to Nunavut energy situation.
The goal should be to have teams who want you to be supporting them, not need you to be supporting them. Getting teams to the point where they don't need you isn't actually that hard. They might be only performing at 50% effectiveness, but that's fine if the work is getting done. You should build a relationship with the teams so they want you to support them to get to 90% or even more.
If your teams fail to function without your help then you're clearly not supporting them well enough, and you can't take a vacation or go off sick or be promoted. That is not optimal for anyone.
Specifically, how good a company's data is will determine how effectively it can leverage AI in the future. The public data is pretty much mined to exhaustion, and the next big data source will be in-house documentation, code repos, data lakes, etc. If you work for a company where that's been built, maintained, and organised then the effectiveness of AI is going to be mind-blowing. Companies that have maintained good docs be able to build new things, maintain old things, and migrate things to cheaper modern stacks easily. That will lead to being able to move fast and deploy new AI-driven services easily and cheaply. Revenue will follow.
Conversely, at companies where documentation and code organisation have been historically poor, AI will struggle. Leaders will see it as a benefit, and be baffled at why their company can't realise the value of it. They'll quickly blame developers for not being able to use it, and that'll lead to people's growth stagnating or possibly layoffs. Eventually competitors will eat the company's lunch because they'll just be able to move on opportunities much faster.
I've resolved that in any future job hunt I'm going to make asking about docs, data, and repos a priority...
reply