I did not look for a consulting contract for 18 years. Through my old network more quality opportunities found me than I could take on.
That collapsed during the covid lockdowns. My financial services client cut loose all consultants and killed all 'non-essential' projects, even when mine (that they had already approved) would save them 400K a year, they did not care! Top down the word came to cut everyone -- so they did.
This trend is very much a top down push. Inorganic. People with skills and experience are viewed by HR and their AI software as risky to leave and unlikely to respond to whatever pressures they like to apply.
Since then it's been more of the same as far as consulting.
I've come to the conclusion I'm better served by working on smaller projects I want to build and not chasing big consulting dollars. I'm happier (now) but it took a while.
An unexpected benefit of all the pain was I like making things again... but I am using claude code and gemini. Amazing tools if you have experience already and you know what you want out of them -- otherwise they mainly produce crap in the hands of the masses.
>> even when mine (that they had already approved) would save them 400K a year
You learn lessons over the years and this is one I learned at some point: you want to work in revenue centers, not cost centers. Aside from the fixed math (i.e. limit on savings vs. unlimited revenue growth) there's the psychological component of teams and management. I saw this in the energy sector where our company had two products: selling to the drilling side was focused on helping get more oil & gas; selling to the remediation side was fulfill their obligations as cheaply as possible. IT / dev at a non-software company is almost always a cost center.
> You learn lessons over the years and this is one I learned at some point: you want to work in revenue centers, not cost centers.
The problem is that many places don't see the cost portions of revenue centers as investment, but still costs. The world is littered with stories of businesses messing about with their core competencies. An infamous example was Hertz(1) outsourcing their website reservation system to Accenture to comically bad results. The website/app is how people reserve cars - the most important part of the revenue generating system.
I would go further and say that even at software companies, even for dev that goes directly into the product, engineering is often seen as a cost center.
The logic is simple, if unenlightened: "What if we had cheaper/fewer nerds, but we made them nerd harder?"
So while working in a revenue center is advantageous, you still have to be in one that doesn't view your kind as too fungible.
This is golden career advice. Heed it well.
It really is.
Very few people suspected that github is being used to train the ai when we were all pushed the best practice of doing frequent commit.
a little earlier very few suspected that our mobile phone is not only listening to our conversations and training some ai model but also all its gyrometers are being used to profile our daily routine. ( keeping mobile for charging near our pillow) looking at mobile first thing in morning.
Now when we are asked to use ai to do our code. I am quite anxious as to what part of our life are we selling now .. perhaps i am no longer their prime focus. (50+) but who knows.
Going with the flow seems like a bad advice. going Analog as in iRobot seems the most sane thing.
>> Going with the flow seems like a bad advice. going Analog as in iRobot seems the most sane thing.
I've been doing a lot of photography in the last few years with my smartphone and because of the many things you mentioned, I've forgone using it now. I'm back to a mirrorless camera that's 14 years old and still takes amazing pictures. I recently ran into a guy shutting down his motion picture business and now own three different Canon HDV cameras that I've been doing some interesting video work with.
Its not easy transferring miniDV film to my computer, but the standard resolution has a very cool retro vibe that I've found a LOT of people have been missing and are coming back around too.
I'm in the same age range and couldn't fathom becoming a developer in the early aughts and being in the midst of a gold rush for developer talent to suddenly seeing the entire tech world contract almost over night.
Strange tides we're living in right now.
If I had gone with the flow in 1995 I would have got my MCSE and worked for a big government bureaucracy.
Instead I found Linux/BSD and it changed my life and I ended up with security clearances writing code at defense contractors, dot com startups, airports, banks, biotech/hpc, on and on...
Exactly right about Github. Facebook is the same for training on photos and social relationships. etc etc
They needed to generate a large body of data to train our future robot overlords to enslave us.
We the 'experienced' are definitely not their target -- too much independence of thought.
To your point I use an old flip phone an voip even though I have written iOS and android apps. My home has no wifi. I do not use bluetooth. There are no cameras enabled on any device (except a camera).
They also produce crap once you leave the realm of basic CRUD web apps... Try using it with Microsofts Business Central bullshit, does not work well.
I have worked with a lot of code generation systems.
LLMs strike me as mainly useful in the same way. I can get most of the boilerplate and tedium done with LLM tools. Then for core logic esp learning or meta-programming patterns etc. I need to jump in.
Breaking tasks down to bite size, and writing detailed architecture and planning docs for the LLM to work from, is critical to managing increasing complexity and staying within context windows. Also critical is ruthlessly throwing away things that do not fit the vision and not being afraid to throw whole days away (not too often tho!)
For ref I have built stuff that goes way beyond CRUD app with these tools in 1/10th of the time it previously took me or less -- the key though is I already knew how to do and how to validate LLM outputs. I knew exactly what I wanted a priori.
Code generation technically always 'replaced' junior devs and has been around for ages, the results of the generation are just a lot better now., whereas in the past it was mixed bag of benefits/hassles doing code generation regularly, now it works much better and the cost is much less.
I started my career as a developer and the main reasons I became a solutions systems guy were money and that I hated the tedium boilerplate phase of all software development projects over a certain scale. I never stoped coding because I love it -- just not for large enterprise soul destroying software projects.
- [deleted]
- [deleted]
Quick note that this has not been my experience. LLMs have been very useful with codebases as far from crud web apps as you can get.
This is consistent pattern.
Two engineers use LLM-based coding tools; one comes away with nothing but frustration, the other one gets useful results. They trade anecdotes and wonder what the other is doing that is so different.
Maybe the other person is incompetent? Maybe they chose a different tool? Maybe their codebase is very different?
I would imagine it has a lot to do with the programming language and other technologies in the project. The LLMs have tons of training data on JS and React. They probably have relatively little on Erlang.
Mass of learning material doesn't equal quality though. The amount of poor react code out there is not to underestimate. I feel like llm generated gleam code was way cleaner (after some agentic loops due to syntactic misunderstanding) than ts/react where it's so biased to produce overly verbose slob.
Even if you're using JS/React, the level of sophistication of the UI seems to matter a lot.
"Put this data on a web page" is easy. Complex application-like interactions seem to be more challenging. It's faster/easier to do the work by hand than it is to wait for the LLM, then correct it.
But if you aren't already an expert, you probably aren't looking for complex interaction models. "Put this data on a web page" is often just fine.
This has been my experience, effectively.
Sometimes I don't care for things to be done in a very specific way. For those cases, LLMs are acceptable-to-good. Example: I had a networked device that exposes a proprietary protocol on a specific port. I needed a simple UI tool to control it; think toggles/labels/timed switches. With a couple of iterations, the LLM produced something good enough for my purposes, even if it wasn't particularly doted with the best UX practices.
Other times, I very much care for things to be done in a very specific way. Sometimes due to regulatory constraints, others because of visual/code consistency, or some other reasons. In those cases, getting the AI to produce what I need specifically feels like an exercise in herding incredibly stubborn cats. It will get done faster (and better) if I do it myself.
It's like when your frat house has a filing cabinet full of past years' essays.
Protestant Reformation? Done, 7 years ago, different professor. Your brothers are pleased to liberate you for Saturday's house party.
Barter Economy in Soviet Breakaway Republics? Sorry, bro. But we have a Red Square McDonald's feasibility study; you can change the names?
There was actually a good article about this the other day which makes sense to me, it comes down to function vs form kinda: https://www.seangoedecke.com/pure-and-impure-engineering/
- [deleted]
[flagged]
>I'm not for/or against a particular style, it must be real nice if life just solves everything for you while you just chill or whatever. But, a nice upside of being made of talent instead of luck is that when luck starts to run out, well, ... you'll be fine anyway :).
This is wildly condescending. Holy.
I earned their respect over many years of hard work -- hardly a freebie!
I will say that being social and being in a scene at the right time helps a lot -- timing is indeed almost everything.
>I will say that being social and being in a scene at the right time helps a lot
I concur with that and that's what I tell every single junior/young dev. that asks for advice: get out there and get noticed!
People who prefer to lead more private lives, or are more reserved in general, have far fewer opportunities coming their way, they're forced to take the hard path.
Talent makes luck. Ex-colleagues reach out to me and ask me to work with them because they know the type of work I do, not because it's lucky.
Also wtf did I just read. Op said he uses his network to find work. And you go on a rant about how you're rising and grinding to get that bread, and everything you have ever earned completely comes from you, no help from others? Jesus Christ dude, chill out.
My perspective is just as valid, and I also wrote,
>I'm not for/or against a particular style
... so I'm not sure why some of you took offense in my comment, but I can definitely imagine why :)
>Ex-colleagues reach out to me and ask me to work with them
Never happened to me, that's the point I'm making.
1. I wish work just landed at my feet.
2. As that never happened and most likely was never going to happen, I had to learn another set of skills to overcome that.
3. That made me a much more resilient individual.
(4. This is not meant as criticism to @arthurfirst's style. I wish clients just called me and I didn't have to save all that money/time I spend taking care of that)
>>I'm not for/or against a particular style
... so I'm not sure why some of you took offense in my comment, but I can definitely imagine why :)
Because surrounding your extremely condescending take with "just my opinion"-style hedging still results in an extremely condescending take.