Looking for a dream job

This.
There are plenty of contract jobs for software engineers and they pay well enough that I know plenty of people who work half the year and travel the remaining half and still live comfortably middle-class.

Not everyone can do it, but you don’t need to be the stereotype computer whizzkid (or whatever the modern equivalent to that phrase is). The main thing is to not get frustrated when learning new systems and to proceed systematically.
Personally, it wasn’t for me; learning a code base is enough of a chore that I get annoyed doing it over and over again.

I don’t want to come across as threadshitting, but @longtry 's criteria for their dream job is essentially a unicorn.

Also, the OP hasn’t told us how old they are, where they live (country or region), and what their current skill set/job is: all of those would have a bearing on what might help them meet at least some of their criteria.

Generally speaking, if you’re working for a company (rather than yourself), and you want opportunities to advance and make a big salary (the OP’s “F”), you’re expected to work hard, and work long hours (which is the antithesis of their “A”). I’ve spent my career in Corporate America, working in marketing, market research, and advertising strategy; without fail, the “stars” – people who get promotions, are recognized for their work, get big raises and bonuses, etc. – are ones who put in long hours, work evenings and weekends, etc. While salaried jobs in my field pay you for “doing the work,” not “punching the clock,” the successful ones invariably are the ones who also work their asses off, go above and beyond what’s in their job descriptions and assignments, and are also putting in “face time.”

In my field, once you’ve established yourself and gained experience, you certainly can become an independent, freelance consultant/contractor (and that’s where I am now in my career). But, as others have already noted, most people who work for themselves as freelancer/consultants are having to constantly work their networks, find potential new clients, etc. Even if you’re only doing 20 hours of “billable” work a week, you’re also going to be spending quite a lot of time prospecting for the next gig.

Several have suggested home improvement/construction/repair trades, which certainly could allow the OP to pick their own hours and jobs, but AIUI, in order to actually be successful at being an independent tradesperson, it’d require years of training and apprenticeship under a more experienced tradesperson (or a company) to get to that point. And, going out on your own as a plumber/drywaller/whatever would have the same issue as being a freelance consultant: you have to continually work at getting your name out there, establishing a customer base, managing appointments, etc. Plus, many of the trades are physically demanding, and can wear out your body over the years.

I have several friends who work in IT and system administration, and they have told me that there are times when their jobs aren’t particularly demanding (and that they can pay reasonably well) – but what they lack, from what I can tell, is the time flexibility which is #1 on the OP’s list. My friends are “on call” during a normally-scheduled, 8-to-10 hour shift: if nothing goes wrong, they are just sitting around, doing some routine maintenance, etc. But, if something does go wrong, they may be working until the problem is resolved, and if there’s a planned system upgrade, new installation, etc., that will also often demand extended work hours.

Also, my sense is that system administrators get laid off a lot.

I’ve read in several places that 25% of openings for software engineering jobs have gone away thanks to AI. I’m sure top level design and requirements definition jobs will still be around, but it is going to be hard for someone like the OP to get a foot in the door learning from scratch.
No AI could have done the design job I did on my last software project, but it could have done the jobs of my helpers.
Now software testing might be a good thing to get into, since I wouldn’t trust a fully AI generated piece of code as far as I could throw it, not if it was reasonably complex.

Well there are two issues there:

  1. How hard it is for a newbie to get a foot in the door
  2. Whether AI is taking away programming jobs

For the first, the number of programming jobs is still increasing, both in the US and my native UK. And, anecdotally, I see lots of opportunities for junior developers that say they will train people with no coding experience. Of course, it may be that such roles are hugely oversubscribed and you need a good jib cut to get the role…that’s true of everything though. Somehow it’s both true that recruiters can’t fill roles yet every job you apply for, you’re one in a hundred.

On the second, it’s a big topic, definitely worth a thread on its own. My own perspective is that unless a role is right in the firing line – I wouldn’t be training to be an illustrator or translator right now – it’s much more important that a role is of interest and you seem to have aptitude for it.
I’m old enough to have seen many jobs that people said would be made obsolete by “computers” still be pretty lucrative a generation later, and they just evolved in the computing age.

Or, put it this way: training to be a java developer today doesn’t mean betting that job will always exist. It means being well positioned for transferring into new technologies. A general software developer that switched into AI just before the current wave would be amongst the highest earners now.

I’m sure you’ve read this, and to the extent that generative AI tools are being used to increase the productivity of human programmers this is probably even a valid statement, although you need to bear in mind that a lot of supposed ‘openings’ that you find in job listings are ‘fake’ reqs that recruiters are putting out just to have a sheaf of resumes they can call upon when a hiring manager comes in with a real job, and since that has become public knowledge companies are starting to pull back on that nonsense. But in order to do the “top level design and requirements definition” you still need to know something about coding (if not necessary be adept in the particular language or system being used) because at some level the implementation drives requirements in what can be achieved. My big fear with attempt at ‘agentic AI’ being used to replace professionals is that senior people will keep their jobs but companies will hire fewer and fewer entry level people, and when the older people retire or move out of development into management roles, there won’t be a base of knowledgable people to promote upward into those vacancies. And then we’ll see just how good ‘agentic AI’ is at doing real work without direct supervision and correction. (‘Not well’ is my guess.)

top level design and requirements definition

Actually, generating test suites and performing system-level testing is kind of an ideal use case for AI tools, both because it doesn’t drive the fundamental integrity of the system the way implementing requirements and building interfaces does and it will probably exercise the system being tested in novel ways that a human performer wouldn’t necessarily think of which might expose unexpected vulnerabilities more effectively. Of course, someone is still going to have to write the test protocols to be implemented unless the AI is ‘smart’ enough to decompose requirements down to verification levels, but in theory it could reduce a lot of the grunt work of setting up and running the actual tests, and maybe aid in the debugging process.

Having generative AI systems actually write mission-critical deliverable code is problematic not only because it may not be trustworthy but also because it won’t write intelligible specifications or comment code accurately, and it will probably do things in a way that makes little sense when it comes to complicated implementations of some design goal or requirements. I don’t generally deal with other peoples’ code but we did have a contractor that planned to use an AI tool to generate guidance & control algorithms and associated data tables, which consists of digital filters, predictive and corrective guidance algorithms, and to implement algorithms to provide state-space representations of sequential data streams in near-real time (minimum latency). Normally such algorithms are mathematically complex but conceptually intelligible if you understand the fundamentals of control engineering and propulsion, and have a set of requirements that the system was designed to satisfy. In this case, however, the contractor basically fed their black box ‘AI’ with a bunch of trajectories, aerodynamic models, and a time-domain model of the flight vehicle interfaces and reactions to produce a sample solution. It generated some kind of machine code and filter designs with thousands of parameters, making it impossible to perform any kind of static analysis or comparative requirements decomposition; all you could to is try to implement the code in a flight simulator and hope that it functioned the same way in silico or on a standalone flight computer as it does when touching real hardware. I don’t know how you can ever develop real confidence in such a system without exhaustive full-up hardware-in-the-loop system testing, and even then what if some TLYF exception creates an anomalous condition on flight hardware that causes it to attempt a loop-de-loop right after liftoff, or spontaneously reboots the flight computer a second before staging?

Stranger

Yup.

People are making all sorts of suggestions which involve putting in a whole lot more work than the OP appears to be willing to do. Some of them might eventually produce the situation they seem to be looking for; but a whole lot of hard time consuming and often repetitive work would be required to get to that point.

Machinist/Fabricator. Build custom prototypes of other people’s crazy ideas.

You’ll end up a Millionaire. Providing you start with multi-millions.

Yeah. But you can’t walk in the door of Acme Fabricators and say “I’m a fabricator/machinist” and I’m available on lazy afternoons when I’m bored. Call me.
“Where do I get my check?”
“Do you have a company picnic, perchance?”

Start with “A” then move to “B” if all goes well after about 15 years you can say “Hey, I’m successful!”
If you’re lucky.

Nothing is easy.

I think Jethro Tull said that.

My son certainly does (10+years experience) and often with brutally short notice.

I’d need a coach myself to figure out the dream job, haha. Plus, while it looks like I have the majority of what it takes, I’m bad at building my personal brand.

And significantly more creative, I guess. Though it might get repetitive.

That’s right. I thought about it, and decided to push that preference way down to F. As its weight is much smaller, it could be sacrificed quite easily for A.

Sure, but also certainly among the lunches, there are more yummy & delicious ones. Look, it seems I misrepresented myself. I’m not asking for a job that doesn’t require training & exp. I’m looking for 1 so great that I’ll happily do all the long processes.

This is exactly 1 of the directions I thought about. Niches could be where a person with decent skill can earn lots of money, yet be at ease. Your example of 12y+ education is too extreme for me to withstand, but my gut feeling is that there are niche careers out there that require 2-4y.

My friend is doing BSc engineer in aerospace with just the aim to maintain (commercial) aircraft :slight_smile:

That’s a solid option. I have YT exp, my hobby is particularly unique niche…but also from exp, I’m not charismatic. Another concern is that YT seems to be losing ground to shorter-form platforms (which may signifies a trend in the population), and I don’t even have tiktok. Old school, yeah.

Is that a fancy way to say ‘programmer’, or it’s actually a higher level where you get to design apps - like, the vision of it?

You’re right. Well, I tried to refrain from stating personal conditions, in the hope to have available options as wide as possible before narrowing down. But if it helps, then I’m in my 30s, live in south east asia, have business admin & english BAs. Yet I’m more interested in - and imo, good at - sciences and probably techs. Most of my time now is spent with a computer, but (perhaps because of it) I feel like I’d fancy hands-on tinkering. I designed a removable outside shade for my room’s window; it takes a level-4 hurricane for it to be torn at places, but still usable. I consider myself to have stronger will than average people, so if there are good reasons to pursue a career, I’ll likely follow it through. That said, I have a slim type of body (like a swimmer), so manual labor might wear it out before I run out of will.

Entrance requirement too high lol

What are your primary interests? Right now.

Yes, pretty much. The architecture, methodology, patterns to follow, even the techology to use. It is broader than just programming, although that is the bulk of the work.

As in, career-wise? Find good mentors or schools that offer scholarships for a nontraditional like me to study whatever skills required for the dream job.
If it include hobby-wise, then pump foiling & Beat Saber.

How long would it take from newbie coder to your level of app engineer?

Obviously depends on you, very much. I never studied - could not afford to - so went from zero to senior in about 15 years. I’m now 26 years in.

In that time I have learned about 10 different programming languages fluently, and have working knowledge of about 10 more. Kotlin is my current favourite.

It does help, I think.

Just to note, this is a U.S.-based message board, and the vast majority of our active members live in the U.S. and Canada.

While we certainly do have members in other parts of the world (including some in Asia), they’re in the distinct minority, which may mean that some of the advice you’re getting in your thread, which may be perfectly applicable to someone who lives in North America, may or may not be relevant to your situation, simply because of the nature of jobs and careers in your part of the world.

The big tech companies I worked for didn’t do this deliberately, but open reqs were almost never updated so it might have looked like that to an outsider. Not to mention that the boilerplate for the reqs led to reqs that were almost useless. That’s why networking is so important.
My last project was nonstandard to the max, in that the users had no idea of what they needed, the few requirements I was sure of turned out to be wrong. But if I had AI I could have done it much faster without helpers. There are definitely still going to be jobs, but remember how everyone learned programming during the bubble only to discover that a lot of jobs disappeared. They did come back, eventually. This time, it is unclear if they will.

You don’t need AI tools. Microprocessor verification is done by throwing millions of random test snippets at an RTL model of the processor, using gigantic server farms. (Easier to build if you make the computers.) But it is much easier to formally specify a processor than a big chunk of code. And is that snippet of code that is AI generated going to go through this verification process? Bugs in small snippets can have big impacts. The entire long distance system went down because someone screwed up a switch statement and the change was considered too trivial to test.
And I agree that writing specs and requirements is going to be the real challenge. Formal verification has always foundered on this. I was surprised how the very good engineers down the hall never considered all the cases even for trivial programs. It is not a talent most people have, since they think of how to handle the expected cases not the unexpected ones. 45 years ago tests for silicon were functional. When we could measure the effectiveness of these tests in catching manufacturing defects we found it was low (under 90%) because the designers who wrote the tests thought about proving it worked, not finding out if it didn’t work.

I’m sure you have learned that the n+1st language is easier to learn than the nth. When I was in grad school I taught Pascal to a big class in two lecture sections, so I had to break down the language very logically to make it understandable. (It was usually the second language for the students.) I designed and implemented a language for my dissertation so that helped also.
However the first and maybe second languages are much tougher, unless you have a very good teacher.

Unless your first language was BASIC or FORTRAN 77, which just caused you to learn a bunch of bad habits and design patterns that default to using a lot of GOTO/GO TO statements.

Stranger