Future Programmer

SamSpade

Well-Known Member
My youngest keeps mentioning that she wants to code, as a career. But she hasn't the slightest skill for math - or logic. She's 14 and her exposure to coding is limited to creating worlds in gaming, which is pretty much - designing stuff. Despite my best efforts, she's convinced coding is extremely simple and she will have no problem.

On the other hand, I do let her see the kind of stuff I write and the first words are - that looks hard.

I want to encourage her but - I don't know what constitutes "coding" to a teenager. In her classes in eighth grade, her coding consists of HTML and cascading style sheets. It does take some skill, and she's a fast learner when it comes to navigating a development platform, even if math and logic aren't her wheelhouse.

So - QUESTION - is the future of programming for the next generation simplified, like it is in sci-fi movies, where they ask the computer to do some things, add parameters, examine the results and such? I know that kids take "robotics" in school and win awards - but I am pretty sure it's not what I think it is. If it's what it would have been when I went to school, it would be tinkering with machine code and breadboarding and wires and such.

Does she have a chance, at programming, at a high level? Is there a career for a "coder" who can't do math to save her life?
 

HemiHauler

Well-Known Member
HTML and CSS can be as complex as the programmer intends.

True, you don’t necessarily need to understand logic in the same way you would in a lower level language like C, what with variables, etc. That sort of stuff comes with time and practice.

Raspberry Pi machines and BASIC stamps are a good way to start for programming skills and logic.

Lots of parents are opposed to kids playing video games, but I feel strongly that they can impart a level of 360 degree thinking that lends itself well to software engineering challenges.

The C language is passé these days, with the majority of applications programming being done in object-oriented languages. But I can’t stress enough the importance of procedural language like C as an introduction.

Heck, a Linux account with a bash shell opens up LOADS of opportunity for learning.
 

DaSDGuy

Well-Known Member
I'm thinking AI will be generating most code within 10 years. That includes cyber security/information assurance applications. I would hesitate to enter either field now.
 

Sneakers

Just sneakin' around....
Dig up an older 80's generation computer like an 8088, or 6502, etc.. with a BASIC and assembler language, and ask her to write a simple code to take input from the keyboard, display it, manipulate it, etc..., calling machine code routines from BASIC and returning.

Then move on to more complex tasks that involve binary calcs, setting registers, ... Give her a feel of what it is to really program.
 

SamSpade

Well-Known Member
I'm thinking AI will be generating most code within 10 years. That includes cyber security/information assurance applications. I would hesitate to enter either field now.
A good thing I will be retiring before then. I already feel like a dinosaur. My first really big programming assignment was in the early 80's - and it WAS in machine code. I had to write a routine that would read a stream of incoming bits and assemble them into 8-bit words. My primary language I use now is a somewhat high level statistics language that employs statistical terms I never even heard of, even when I did take statistics as an engineer (whoever heard of kurtosis or skewness?).

When I say - poor math skills - I'm not joking. She does very well in all her middle school subjects, and lately her math has just been things like rotating and translating figures on an x-y plane. She gets the visual, but I have to teach her to memorize the algorithm to solve it, because she doesn't get it. Even this weekend, when I told them how much I'd pay them for a few tasks - she struggled with very simple multiplication and addition. She cooks with me all the time, but cannot grasp doubling and tripling a recipe.

She does excel at one thing, though. I suspect her hearing disability actually HAS enhanced her observation skills. I can ask her where anything is in the house, and she knows it. She has excellent three dimensional skills for a kid and she remembers everything she sees.
 

SamSpade

Well-Known Member
Dig up an older 80's generation computer like an 8088, or 6502, etc.. with a BASIC and assembler language, and ask her to write a simple code to take input from the keyboard, display it, manipulate it, etc..., calling machine code routines from BASIC and returning.

Then move on to more complex tasks that involve binary calcs, setting registers, ... Give her a feel of what it is to really program.
We're talking a teenager who can't make change. Despite my best efforts, simple math eludes her.
 

vraiblonde

Board Mommy
PREMO Member
Patron
So - QUESTION - is the future of programming for the next generation simplified, like it is in sci-fi movies, where they ask the computer to do some things, add parameters, examine the results and such?

Pretty much. But she should still know how to hand code at least on some level.

But honestly, designing is just as important as the actual coding. Let some nerd loose and they'll come up with something cool but unusable. I give you pretty much every government site app ever created, and specifically the MD unemployment one, as proof. So if she's good at thinking like an end user, and can act as a translator to the geeks, that's a valuable skill.
 

vraiblonde

Board Mommy
PREMO Member
Patron
We're talking a teenager who can't make change. Despite my best efforts, simple math eludes her.

This is a real question because I am not a high level coder and have no idea what I'm talking about:

Is it really math or is it more learning to speak a language?
 

Clem72

Well-Known Member
We're talking a teenager who can't make change. Despite my best efforts, simple math eludes her.
I think the word "coding" might be the hangup. Lots of jobs, especially in-around gaming, that require tool use and design expertise but not really coding. I think 80% of all games are produced on only 2-3 engines (Unity, Unreal, Cryengine). The "coders" are the engine developers, everyone else publishing games are using those tools for design along with the typical production types (artists for textures, sound guys, voice actors, script writers, etc.)

So the only advice I can give, if she isn't mathematically inclined then try to steer her away from a purse CS degree which is heavy on theory and algorithms. CS is to "programming/coding" as Physics is to engineering. She might be much happier with a targeted program for game development (like the Full Sail stuff).

All that aside, I have always heard game development (at least in the modern era, post 1990) is a terrible work environment that chews up young people and then tosses them aside once they get burned out.
 

Clem72

Well-Known Member
This is a real question because I am not a high level coder and have no idea what I'm talking about:

Is it really math or is it more learning to speak a language?
It's funny because you are a high-level coder, where the higher the level the more abstract (closer to natural language or using pre-made tools) coding becomes.

A low-level coder is someone that works on a hardware level. Someone building compilers or debuggers, programming shaders, designing algorithms. Someone had to do the math to determine which algorithm can complete a particular process that best matches resources (compute cycles vs specialized instructions vs memory/register use, etc.). When a high level coder uses quickSort(), someone had to program a way to determine which sorting algorithm is actually quickest for the data you passed.

Is it better to use the algorithm that completes in O(2n^3) using only 5% of your L2 cache or the one that uses (O)( 2nLogn) but uses 40%. What if you plan to run the alg. multiple times in parallel? Would it be different if you can structure them such that they share redundand cached resources? How would you do that on an x86 instruction set vs an Itanium. Etc. etc.
 

SamSpade

Well-Known Member
There’s also the pop culture aspect that says it’s lucrative and easy. TV shows often have some introverted geek doing the background checks and “hacking” faster than humanly possible.

And then we have Joe Biden telling coal miners to learn to code. Because, you know - easy.
 

Clem72

Well-Known Member
There’s also the pop culture aspect that says it’s lucrative and easy. TV shows often have some introverted geek doing the background checks and “hacking” faster than humanly possible.

And then we have Joe Biden telling coal miners to learn to code. Because, you know - easy.
I don't think the pop-culture version of the "hacker" is meant to show how easy coding is, they usually go out of their way to show how smart but introverted that person is. As opposed to the leadership person or the smart detective or the martial arts person, all of which can have an infinitely different background story and lots of character development. The hacker is just a basement dweller that devotes their life to coding.

The funny thing is that most "hackers" are just script-kiddies. People running pre-made tools designed by others to exploit systems that are out of date on their security updates. That truthfully isn't very difficult. The actual people capable of developing new exploits are very few and far between and can often sell their discoveries for six or seven figures a pop.
 

SamSpade

Well-Known Member
I don't think the pop-culture version of the "hacker" is meant to show how easy coding is,
Oh I know - but they show these geniuses "hacking" into NSA before the main character finishes his sentence.
They show these whiz kids zooming their fingers across the keyboard writing programs faster than I can compose a post on a board like this one.
Even simple code, I have to check - and most programs I write these days, I cannibalize from other programs.
 

Monello

Smarter than the average bear
PREMO Member
designing is just as important as the actual coding. So if she's good at thinking like an end user, and can act as a translator to the geeks, that's a valuable skill.
This right here.

I did procedural coding. I have not written code in over 10 years, FWIW. And as a defense contractor, I had analysts on the team. The analyst role in invaluable to a programmer. They know how the system performs. I've worked along side some very knowledgeable analysts over the years. Ask them a what if question and they come back with all the various possible outcomes. Testing code you have written is probably a greater percentage of work than the actual writing of the code itself.

1 of the attributes I noticed about computer programmers is that they often like to solve puzzles. Sudokus, word finds, stuff like that. We even had 1 guy that wrote palindromes all the time. Each week we'd check in with him to see what he came up with that week. I was somewhat inspired but it was a very difficult task that this guy made easy. The best I came up with was Draw An Award. This nerd did 6 & 7 word creations.
 

HemiHauler

Well-Known Member
Testing code you have written is probably a greater percentage of work than the actual writing of the code itself.

Indeed unit/regression testing is the most difficult and tedious part of software engineering.

When I was working, good QA engineers were extremely hard to find.
 

SamSpade

Well-Known Member
When we developed software to be released to the general public, we needed a LOT of non-technical types to design everything, from appearances to screen layout to adjusting the layout for screens with lower or higher resolution. We needed testers who were just running the apps we wrote and giving us feedback on what they experienced.

I think she would be good at THAT part - but knowing her - eventually bored.
 
Top