Anyway, my "skills" (heh) seem to be mostly irrelevant now. I hated frontend ever since the responsive era, but I got by sticking to less design intensive stuff. These days the web is evolving very rapidly and I've kept up sorta, but I'm not passionate about this field, I'm getting older and there's lots of competition now and I'm unemployed. I basically want to get as far away from Node and React and CSS as possible. What's a good path out?
But if you think a break in another domain would just magically make everything better, try becoming an expert in some obscure domain in some not-well reputed company. There most of your work will probably end up be muttering a few words in meetings and drinking coffee, with no one to tell you what to do as they dont really understand your domain.
There are a lot of codebases with really bad code that no one wants to take care of, so findind a gig like that would probably also pay you well.
I learned to write better code by making code testable. When writing spaghetti code with a few tests, I'd create a big mess that worked. But then I'd try to add a test for something new and I couldn't figure out how to make it work. After coding myself into a corner enough times, I'd eventually learn to create more flexible abstractions. And eventually the code started making a bit more sense out if necessity.
The next big jump in my understanding was learning Elixir and the actor model. Learning how to write async code that didn't get a reply and where messages might not be received was huge.
I didn't get my first dev job until I was 40. I most definitely understand what it feels like being older than my peers in this industry. My secret weapon is knowing my shit and working my ass off to stay relevant. This is a hard industry if you don't like it enough to keep your skills sharp. Like you, I don't relish front-end development, but I do my best to learn what I need to know as needed.
We make websites according to the latest fad and all your work will be thrown out when the business decides to change agency, framework or rebuild everything in some marketing automation tool. I've worked in an agency for almost 10 years and I have accepted that fact.
No matter how beautiful your code is, most web code is thrown away after a couple years anyway. It is just has to do what it is supposed to do, nobody cares about the code.
Agencies also deliver spaghetti code, what is the definition of that anyway? All code is spaghetti in some way. All real code is a mix of different styles and approaches. It will be a mix of OOP, Functional, declarative, imperative code. It is all custom build by different people with different backgrounds.
If you want to work on a more structured codebase then try applying to a company who have 1 product and 1 big codebase. You are likely to find much more structured code there because organising codebases take a lot of time and effort. For a larger codebase with more people working on it things like design patters, rules, best practices, linters and tests will become useful and teams will add then over time.
You will not easily find all of that in web development simply because there is no budget for it. There is only 1 goal in web development. Add as much business value in the least amount of hours.
You can be proud on what you delivered for the businesses you worked for. You solved their problems and you created value for them. No matter what the code looks like. As long as it was secure and it worked then it was perfect for what it was supposed to achieve. Don't be so hard on yourself.
- start a business yourself with your skills to build the mvp then hire people to do the front end work and move to core business work
- build the mvp for another startup and move to core business work
- do more BI stuff. BI people will hire you to make charts and shit. Then you can learn BI there.
- make fake interfaces for movies ?
- teach
What are you passionate about?
> I'm unemployed.
Now is the best time to really ask yourself what you're passionate about and how you really want to spend your finite time on earth.
> I basically want to get as far away from Node and React and CSS as possible. What's a good path out?
It's hard to give any suggestions without know what you want to get more into? Do you enjoy web development but hate what it has become? If so, you're not alone for example the NoScript extension has 1,688,456 users in the Firefox Add-on store. You can still make web applications with 0 lines of JavaScript. Just hare React? Well, jQuery didn't stop working when React was invented.
There's always lots of jobs in app development, back end, game development, AI/ML, and so on. You still have a baseline of usable skills, mainly debugging and knowing why spaghetti code is bad.
It also sounds like you've been in some bad companies with poor mentoring. You might have to move around a bit, work with a better culture, but they uh, don't hire people who aren't brilliant. It's a circular problem, but moving might help. Code Review Stack Exchange and Programmers SE are good for pointing out otherwise obvious things you have never picked up.
To leave frontend behind, you can maybe check out database focused projects, try devops, learn graphics or the ultimate answer: try management as a team lead or product owner, I'm sure in 13 years you've seen web project from all angles.
If you have enough money left, try to relax, read some IT classic books and don't think about work for a while, you will know what to do most likely.
Also, many development environments (not only web) are not keen with 'medium skill' developpers: the architecture is too complex that it is a mess just navigating around, and it requires self discipline and experience to organize your development. There should be, in my opinion, a 'safe place' for people whose job is just to transcript business requirements into working code without requiring extra 'architecture' skills. Most IT departments of companies have this 'medium skillset' population, and as a result, there is a lot of waste and drama.
With that in mind, I spent around 1 year of my private time designing a low-code framework to provide enteprise IT developers with a 'medium skillset' an efficient tool to develop business apps. This is fully open-source, so do not hesitate to have a look and get involved ( https://openlowcode.com/ )
Another idea about transitioning could be taking a break from development. Maybe there are other technical skills that you have or can learn (i.e. video editing, 3D design, penetration testing, etc...) that might spark that original flame or leaning and enjoying what you do.
One last thing is, take a look at the flow state. I remember reading the book “Deep Work” in a time that I was in a job that I hated and about to throw the towel and the ideas in the book completely changed my experience at work. It was still the same job but my attitude was drastically different and I started enjoying immensely what I was doing! (Still quit and got a better job... bad organizational culture is quite hard to fix)
Anyways, wish you the best in your search!!
.net core or spring boot?
I somewhat lost interest in new cool frameworks/technologies and somewhat stagnated in "JQuery era".
For me, these three ideas helped:
1) have life outside work. Have some hobbbies/friends/social activities. Do not try to find meaning in work.
2) do something completely different with computers. For example - I started making computer music, coding my own VST instruments in Csound etc...
3) try new technologies in meaningful project. Not just code for code sake. For example: I am currently implementing custom point of sales system for friend who is curating gallery. In this system I have tried to use Vue.js and found it very useful.
Do some node-backend projects and working your way into a decent full time position.
OR try full stack development of react + java backend.
Jhipster sets u up with a full SAAS demo-type app with java-spring-boot, SQL, and react. You need to learn about hosting, DB, config, network issues, etc. Just getting a full app hosted and working on a free heroku server will give some starter backend experience.
If you are willing to put in the time, u can do a first backend gig by combining this with some minimal front end react work.
Where r u located?
p.s. it also sounds like you have some burn out and life issues - which may or may not be solved by better work
Because the answers to those questions are completely different.
I've been doing some JavaScript (again) lately, and I have decided that I can only go on forward with TypeScript. Rust strict types, traits and patterns will completely change how you approach and think about code.
"Escaping webdev" is the easy part --- you just need to quit. But doing so is only a transition away from something. We need to find what you should transition toward, instead.
What are your skills that you still feel at least somewhat passionate about? And how can we turn that into a future career?
Almost everything is connected to web nowadays(frontend and backend) and it certainly doesn't have to be as bad as you describe. I would advice to try automating as many things as possible. Especially things you don't like as there is a lot of motivation for that
get a cloud cert in aws, azure or google and basically do dev ops at a large scale. again... tons of money and zero web development.
My God. I'd love to learn more about your background. How, if you've worked in web development since 2007, consider yourself a beginner?