The Hacker Way: How I taught my nephew to program
stopa.io
stopa.io
One’s just got an undergrad in healthcare and the other likely headed for art. I’m stoked they found things they love and I’m sure we’ll still have lots to talk about over the years... just probably won’t be vi vs emacs lol
VI all the way!
I would be very unhappy if my kids would become something to please me but don't like it themselves.
My Dad retired 17 years ago and since then, he’s gotten heavy into computers. He knows more about Mailchimp than anyone I know. And though I ended up with a marketing degree, he’s become my de facto email marketing consultant.
Now that he’s heavy into computers, I see all the neat ways he’s influenced me (and vice versa). Security, particularly opsec is a passion we both share. After many conversations, I’m starting to realize that he’s actually the one who got me into the field way back in the late 1980s and early 1990s.
Now when we talk about his career, it’s clear that he instilled the idea of hacking into me. He wasn’t into software systems, but he was into human systems and he was relentlessly resourceful when it came to solving their problems.
Looking back with 43 years of experience, I realize how much of an influence my Dad had over me. I don’t know that we’ll ever have a vi versus emacs debate, but holy hell, do I ever feel lucky that I got to know my Dad on this level.
I hope to live long enough to get to know my daughter on that level. And friend, I wish the same for you!!!
Your nephews are lucky to have you in their lives. I'm lucky to have been able to read something so beautiful that inspired so much more beauty.
Take good care, stay healthy and thanks for being genuinely good. People like you have enriched my life throughout the years and that's a debt I will never be able to repay.
I capitalize the word 'Dad' when people deserve it. You get the capital D because you most certainly do. If my gut and instinct is anything to go by, you've already succeeded and they most certainly look back on your time together in a good light.
Heck, you raised a child with enough love to get into healthcare. I'm not nearly strong enough to get into a system like that. And you raised a child with enough self confidence to get into art.
Frankly, you have joined the ranks of my Dad heroes. If I'm lucky enough to raise my daughter to be the person that your children are, I will be very proud of myself.
Now give yourself a massive pat on the back because you deserve it.
I hope I too can be of some help to my sons in finding their passion & strength.
Thanks for sharing your story.
You deserve the capital 'D' for Dad. I don't capitalize that word lightly - I'm an obsessive fuck when it comes to language and grammar. But you truly deserve it.
Thank you for your kind words!! And most importantly, thank you for being the kind of beautiful Dad who inspires me to be just as beautiful a Dad as you are.
Take good care and thank you again!!
The rebellious son who does not want to become a doctor or lawyer like his father has been a stock character for decades.
We may end up seeing "engineer" added to this list based on how often "why don't my kids want to program" comes up on sites like this.
This isn't a commentary on your parenting, just a general observation.
Still have strong memories of making PCBs and machining metal parts with my grandfather when I was a kid.
"This is not the Bob I worked with," said Brown University (search) professor Leon Cooper, who with Schrieffer and John Bardeen was awarded the Nobel in physics in 1972. "This is not the Bob that I knew."
Based on what I've read, it sounds like he had some kind of psychiatric or medical issue at an advanced age that changed his personality, perhaps Alzheimer's. People rarely change personality that much for non-medical reasons.
I don't have enough evidence to make a strong case, but if my hypothesis is valid, it seems unfair to sum up his entire life as a "zero".
It is the individual who is not interested in his fellow men who has the greatest difficulties in life and provides the greatest injury to others. It is from among such individuals that all human failures spring.
Dale Carnegie, How to Win Friends and Influence People
It can be a bit frustrating because love from small kids feels very unconditional, although they just learn that if they please you, they get food, shelter and (hopefully) positive emotions. And if you get very excited for them coding, it might motivate them to do more (since it feeds them to please you). This sounds more harmful than it is, just something to bear in mind.
Now there are various ways to appeal to intrinsic interests in kids to have them pick up something, but if it just doesn't ring with them, you can't force it.
The cool thing about computer science/engineering is, that your kids will most likely have lots of contact points in their life with CS fields. Health is getting more and more high-tech, and art is using arduinos, microcontrollers, ... for installations and various effects, depending on the direction the artist goes. So don't give up hope yet, you might be doing a project together before you know it :)
That said, the total surface area of the family's (hopefully positive) influence on the world will be a bit larger, so it will also yield good things I'm sure.
Thanks for the thoughts!
Nowadays I don't wish this trade to my young child. Programming is a very good skill, but it's better tied with something entirely different to not be a blue collar worker in a golden cage. I want to study now something totally outside of technology to see if I can marry it with being a very proficient computer user.
I feel like there is massively untapped potential in this. Pick any industry or vocation and examine it closely. Get a job for a few years...become a member of the community and understand what really would improve their lives and outcomes...then start applying that tech skill. You won't become the next Zuck or Bezos helping zoos use ML to help detect sick animals, for example, but you'll do just fine financially and have a very rewarding career as well.
People say software's eating the world, but we haven't seen anything yet.
I think software alone has relatively fewer problems left to solve compared to solutions that require multi-domain thinking. So for the situation you've outlined, I think there is tremendous value in blending healthcare and software, or art and software. There are people who have found a niche in blending these ideas together [0], and I think the trend will continue.
So you shouldn't despair that your kids are not interested in "tech" now. It could be that once they are comfortable with their first domain choice, they will recognize the value in tech-enabled growth. You can then be there to help them realize that value by introducing system and algorithmic thinking, as well as tooling like vi or emacs.
what happens once the market
for software developers
becomes saturated.
This was being predicted for as long as I can remember (at least since the 90s).And yet despite short term fluctuations there has only been more and more demand of programmers for decades now.
There has also not seem to have ever been saturation for electrical engineers despite this being a much older profession.
Now that I've grown up, my primary interests lie in virtually all aspects of computer science, and I no longer consider making games to be much more than a hobby and passion project to spend my free time on. I only wish I'd have had a mentor of some kind in the world of CS, so that I could have gotten into it earlier in my childhood. Major props to you for being an awesome uncle :)
Now, decades later I’m finally pursuing that little dude’s dream, although games also lost their luster for me on the intervening years...
Yeah. I still like writing small games from time to time, mainly just to serve as programming exercises or for fun if I'm bored. I had to accept at some point that I don't have the wide variety of skills needed to make my any of my dream games on my own (and also the time commitment to make a whole game by yourself can be insane). If I were to make a serious effort to do so, I'm pretty sure I would just be disappointed and feel as though I'd wasted my time because the final product wouldn't live up to my fantasy. To realistically do it, I'd need to either sacrifice a lot of creative control by collaborating with people, or wait until I've eventually acquired enough skill in the areas of art and music et cetera to pull it off by myself.
It's amazing how much you can do with only CSS nowadays. From simple interactive visual elements[1] to whole mini-games[2] with only HTML and CSS. I think kids would appreciate the notion that it's all there, possible - if they take the time and hack it up.
[1]: https://css-tricks.com/css-only-carousel/ [2]: https://codepen.io/collection/AKkZro
There's an education theory called Constructionism (https://en.wikipedia.org/wiki/Constructionism_(learning_theo...) which is all about kids learning through active engagement with the material. Montessori is one constructionist method.
Seymour Papert was a pioneer of constructionist theory and contributed to the Logo programming language as well as writing the book "Mindstorms: Children, Computers, and Powerful Ideas" which became the namesake of the LEGO robotics line which it inspired.
"Minds in Play: Computer Game Design As A Context for Children's Learning" is another book that uses game design (and Logo) as a platform for constructionist education.
Constructionism has been important to the development of computer interfaces as well since it inspired Alan Kay and his Dynabook concept (which inspired the iPad), which was designed with the intent of making a child-friendly computer.
I'm certain Minecraft is a gateway to developing technical thinking, especially if kids start wanting to mod the game (and maybe even make their own mods, at which point they have to reason about the underlying system).
My office and hard drives are filled with half finished projects, and I've probably forgotten how half of them work. I'll reinforce my learning when I pick it back up.
I only recently realized the joy of allowing myself to switch books when I feel like it. I've always loved reading, but sometimes I can't sit through the whole thing without something else catching my eye.
My environment as a kid allowed me to work that way and I will be forever grateful for that. It is the reason I now love what I do for a living. If your child's brain works this way, I feel that allowing this type of learning is the best thing you can do for them.
So this summer I started a "Summer Code Camp" with my nephew (14), bright kid, also into computers but also living hard times to learn stuff at school, fails at math, and not properly aligned with current education system to learn. So we started from the beginning, I only know HTML, CSS and basic Javascript. Using freecodecamp.org for our lessons, at first we started physical, I go to him couple of times each week for our sessions, to warm things up, once he get used to the website and basic structure of the code, we build a Discord channel for video meetings, sharing screens, and channels for resources, inspirations, docs and archive. He plays basketball at school team and really into the game, NBA fan, of course a gamer. So we are keeping our conversations around them, building stuff for these topics. Installed Visual Studio Code to his computer so he can use the code he learned offline and build stuff from there. His interest is growing each day, but of course as a kid he lacks of disipline. Which is not important at that point actually, because we're having fun. Hope to take this to the next level once we started Javascript and build more dynamic stuff.
As the schools are opening next week, I'll teach him how to deploy stuff and show off to his friends. Also thinking this can be good way to make things stick more deeply. Kids like to show off.
The Hacker Way. This is the way.
Well, this video claims I'm wrong. Self directed study doesn't fit most students according to the research presented in the video.
https://www.youtube.com/watch?v=g1ib43q3uXQ
you can jump to 11:00 if you want to jump to the part about learning.
Every time I've seen kids take this path, it's very black and white - either they quickly learn to learn on their own, and succeed, or they need guidance/lack motivation and fail.
For non-programming, I think learning on your own is far less critical.
The video above basically says vast amounts of research show that showing people the answers with explanations is far more effective than saying "figure out on your own". Not only are people given the answers with explanations more able to solve the problems they are more able to apply them to future problems.
It also seems to say being directed (being given lessons) is usually better than leaving it up to the student what to study (of course there are exceptions for some students)
I know for me I didn't invent link lists, hash tables, sorting algorithms. One way or another I was taught the solutions. But I was often self motivated. Still, I was taught via assignment how to open a file, and read and write to it. As well as how to implement a bubble sort. Enjoying programming I enjoyed learning those topics but it might have been much longer for me to apply them if a teacher hadn't taught me both by choosing what to teach (so not self directed) and explaining it (so I didn't have to invent sorting). I had no idea I wanted to know about those topics until after being taught.
> I was taught via assignment how to open a file, and read and write to it. As well as how to implement a bubble sort.
And I learned those, as millions of programmers, on my own - through documentation, and Google, and so on.
That said, I certainly don't think that the _only_ way to be good is to be self taught. I have met people who went to university with zero prior CS knowledge, and they ended up excellent programmers. But to be entirely honest, that is a small population. It's an uncomfortable topic for universities - nobody wants to sell an expensive degree to become a programmer, with the prerequisite that you're already a programmer - but my university did admit that the students that were already programmers before starting did significantly better in every way.
I used to volunteer to teach elementary and middle school kids computer engineering. I believed we had better engagement when we stuck to "real world" tools (such as breadboards instead of littleBits, Arduino instead of Scratch)
For me, it was 3D art that got me hooked. Followed by programming to make my art do something.
It looks cool and is a good attraction, but people who could be actually good tech programmers will be offputted by reality of making games - which involves a lot of drawing, making sure it looks good and slowly iterating on boring gameplay till it is not boring.
Dad got a computer when I was 8. I played games.
At uni, while studying other things, I played games and had no money.
In those days having a LAN party and getting people on the same game, same version, same mods, different OSs, different specc'ed machines etc was an effort!
Eventually ended up Application Packaging to earn a living. And I've moved on from there.
My kid is finishing Blocky Games from Google. I think it was a good start, he isn't hooked into programming but at least he had some fun and learned some concepts, like loops. Now I have no idea on where should I guide him to now. I was thinking about Python Turtle, but he will probably get bored. Will take a look at Game Maker, but looks too much for a kid, good for teenagers perhaps.
But it was incredibly hard to progress my skillset, and to some extent still hard today.
I got a hobby that kept me learning day to day though: 3D printing.
The kids really enjoy it, especially 4th and 5th grade.
I got a cutebot and interfaced it with a microbit. My daughter and I made an obstacle avoidance and track following program using the block based programming this past week. She had a blast. I think if you make it fun for the kids, they really get into it.
I’d just keep in mind that there are no guarantees that kids will share our passions, even with the best approach. Humans are complex systems - it is very hard (and you would need need a lot of data) to make any general statement about things like this.
Dune... An adventure novel... I'm gonna press X on that one.
The paragraph as a whole makes a lot of sense though!