> I've wondered before if I didn't fit a culture because I'm not the stereotypical software person.

Note the following isn't directed toward you specifically, but because you mentioned that you think you're not the "stereotypical software person" I wanted to write why I think that it is more likely - today - that you are...I think part of what we're seeing is the software development "culture" filtering out into "regular culture"? Those aren't probably the right words, but...

What I mean is that - when I started "programming", it was right in the middle of the "home microcomputer" era - mid-1980s. I was 10-11 years old, and I had my own home computer in my bedroom hooked up to my TV. I had always been "science inclined" - but that was where I really became a "nerd".

I didn't really like sports or anything like that, I didn't like much of what was considered "popular stuff" - except arcade games; couldn't get enough quarters. But all I really wanted to do was program.

That's where I started - and that's where a lot of people started (both older and younger than me at the time) - on home computers, typing in junk from magazines and books - and some of the older ones went on to turn that in a career in short order. But they all were "nerds" in their own manner.

Prior to the home computer, you either had to be an engineer or something working at a company with it's own computer or system(s) - or work for one of the computer companies of the era - to even come close to "touching" a computer in any manner. Or maybe have been lucky enough to teach or attend or otherwise finagle access to a university's system(s). There were also a few other very limited ways too (public terminals connected to dialup shared systems that you paid to use and other similar means). But really, only the really hard-core geeks and nerds were in that camp, and they tended to be few.

Prior to that - mathematicians and engineers, mostly.

But soon after when I started - in the early 1990s - computers started to become a tool (and entertainment) for everyone. It was no longer seen as nerdy to have a computer in the home. And then very soon after that - the internet was opened for the public to use (before, access was restricted to certain commercial entities for research, and to educational institutions, and the government - with little allowance for consumer access, and almost no allowance for commercial exploitation - with the exception of research, mostly).

That brought in people of all stripes - also, there was this change; difficult to pin down - but it seems that kids no longer (or far fewer of them) have an interest - or develop the interest - or have the means to develop the interest in front of them - for "software engineering".

When I was growing up with my computer - and this was most computers of the time - you turned it on, and on the screen (which was usually a television) you would get a short "message" of what version of BASIC was running, and a prompt blinking maybe - where you could type. If you wanted software, you had a few choices, in descending order of cost:

1. Purchase the software - on cartridge, tape, or floppy

2. Type the software in from a book or magazine

3. Write the software yourself - usually in BASIC

Many, many people turned to number 3 - usually with help from a manual included with their computer. Many also went the route of number 2 in conjunction with number 3. Some found they could sell the software from number 3 to magazines and books - or to publishers (number 1). That isn't to say nobody bought commercial software - tons of people did (but there was a lot of piracy back then, too). It was a large mixture, but mostly as a kid, you relied on number 3, and maybe number 2 if you had understanding parents who could afford to buy you the books and magazines.

But later - especially with the internet - those programming sources dried up - and today's computers (and phones and tablets, etc) don't start up to BASIC; you get an entire magical operating system, and any means to code software is fairly hidden away.

Even in the early 90s this was evident; Microsoft DOS used to come with at least some form of BASIC, but gradually this has fell away - today, out-of-the-box coding is limited to shell interpreters, javascript and such in the browser, and maybe other scripting interpreters built into some applications - plus maybe .NET stuff on Windows, but I'm not as sure on that last one.

Ultimately, the tools for some kind of "software engineering" - when they are included with a machine (operating system), they are kept fairly "hidden away" - there's nothing there to even entice a kid to "program"...

...hence the rise of "sandbox" style games, that allow a similar kind of "open ended" play. But this is stuff that has to be bought - it's just not "there" for kids like it was when I started.

And so you have a lot of kids who don't experience computing in the same manner, who don't get an "early bite" by the programming "bug" - and who (something else I have noticed) typically are forced in some manner into playing sports via organized team things parents shuttle their kids around too (I often wonder if there are parents out there who realize how lucky they are to have a "geek child" who has figured out the system to get a programming environment going on their machines - and doesn't go for such organized activities?)...

So they kinda grow up with sports or similar activities as "the thing to do" (and I understand why this kind of thing grew up - but I don't think it was completely organic, either - I think some parents became (overly?) concerned about "predators", and moved their kids into these supervised programs, and fewer are left in the neighborhood for other kids to play with, so to "play" kids had to join those teams and activities, etc - and the circle was complete). That is the "normal" thing - sitting at home programming on the computer isn't "normal" - or even really thought about at all.

...until university/college - and so you have a bunch of people, who have interests in things "non geeky" who find out later that they are good at programming, and that they like it. But they also like "normal things" - things that people like me, having been nerds and geeks from an earlier time - maybe don't enjoy as much, or at all?

I'm not saying anything of this is bad - I just think this is how things have turned out, and probably this is a better thing? Also, there is the growing thing of "STEM" and "STEAM" stuff going on in school (coupled with FRC/FIRST) - which helps to introduce kids earlier to these concepts, but it doesn't seem to extend as far back as grade school (or maybe it does?).

I think it's just all part of a balance; in my day as a kid, it was tilted way far in one direction - toward "nerds" - and today it is tilted past the middle point toward "non-nerds" - but ultimately it is shifting back toward the middle?

Well - that's my ramble - take it however...