I don't have a lot of answers, but to echo what you're seeing, it seems a lot harder to get a foot in the door than 15 years ago when I was getting my first freelance jobs. This is compared to people I know searching now. It feels like for those basic starter jobs, there's a sea of agencies and individuals bidding less. I know it's a worrying time.
I'd suggest you at least get very familiar with AI tools like copilot and cursor. Get good at using them and leveraging them for efficiency. Also get a feel for their limitations. Within those, there may be opportunities. Beyond that I think as always, participate in professional networks - meet people in tech, contribute to open source - connections help you stand out when there's a whole globe of competition.
> But take it from me, someone who has volunteered for civic tech organizations and have participated in ground work for political campaigns. The most positive impact you could possibly make is money.
I don't really agree. Perhaps we're incredibly lucky as a civic tech non-profit, but our limiting factor generally isn't money. It's skilled people who can take responsibility and deliver. So if OP is an experienced developer who is willing to look a bit beyond just code, but still bring serious tech skill and experience to the table, I'd like to talk to them.
Indeed. I think it's important to bear in mind that it's ok for the abstractions to differ, and for the view to translate between the abstractions inside the system and the abstractions or concepts presented to the user. But it's certainly the same exercise.
If we see coding as an exercise in describing the system in a way the computer can execute but most importantly, other developers can understand and maintain, developers are simply another persona, and a card sort between developers would elicit the abstractions and names we should strongly consider using for things in the code. Same methods as information architecture for users.
I kinda see these parts as part of (non-dev-technical) design and designers differ in the degree to which they own these
- visual design towards a design system - abstract system of "this kind of thing looks like this so that the user can see it's this kind of thing and it looks good"
- information architecture - actual things we have on the site or page or app or system, and how we organise them so that they make sense and match the user mental model
- ux design - the use of the above two to sure it both looks good, and people find stuff, and are able to use stuff
- copywriting - hopefully happens somewhere in there
This reminds me of when I built an amplifier around 2002.
Just before this I built a crystal radio - basically a very long wire, a diode, and a crystal earphone. No amplifier.needed because the earphone is so sensitive.
As I got the amplifier all soldered up, I heard radio on a speaker without any signal connected if I touched a metal tool on some contact.
I asked about this on an electronics mailing list and if I recall correctly people were mostly annoyed that I was talking rubbish. But I'm pretty sure something was acting as the diode, I was the antenna, and the amplifier put the signal out.
The whole article seems full of conjecture and generalisation.
A big example:
> Another advantage of a conventional cab design is that the truck can be more economical. Surely they usually pull heavier loads, but if there were two trucks, one a cab-over and another one a conventional cab design, and they had the same powertrain and the same cargo, the conventional cab truck would most likely use less fuel. Of course, that is just in theory – in reality there are too many factors to consider.
I don't know... power, load and fuel economy is the kind of data that's extremely available about motor vehicles... this is something we can't figure out? Or were they just writing hearsay to push content and get clicks? ("Subscribe to our facebook. Loads of content coming soon!")
One of the reasons i chose comouter science was that it was an engineering discipline where I didn't have to wait for materials. I can dream something up and build it tonight. That also means you can progress as quickly as you choose. Perhaps at the cost of social relationships. And we often do that at a stage where we haven't learned the value of those relationships yet.
At least for me, what you describe comes out of an unhealthy level of perfectionism and expectations on myself. Expectations I'll never satisfy, hence unhealthy behaviour if I don't address my expectations. A therapist helped make those more recognisable for me. Consider it.
As long as you have balance in work and other activities, there is work in our field that you will be able to look back on and feel a sense of achievement. Look up civic technology. What tech offers is making things feasible and accessible where it wouldn't have been before. Things can be more efficient, like offering remote learning, data collection, analysis and data-driven decision making.
But you don't have to do civic tech to be proud of your work. What tech offers can benefit society in very many ways. It's even justifiable to work for a bank if it's a bank that doesn't exploit people. And as an employee you can help keep it that way.
So don't be too harsh on yourself. And you don't necessarily have to leave the industry to feel you've accomplished something.