Hacker News new | ask | show | jobs
by gt2 2796 days ago
I think #3 goes at the top.

Open an editor and start a python script, <html></html>, new Xcode project from template, etc.

Then do the minimal amount of work to make a "program". Would be great to have input from the user and output something interesting. But many programs/apps are just informational right?

So you start with the most basic program.

And you add to it.

Occasionally jump over to a huge codebase and show her how editing one line changes the program. Explain how this one just has more layers, time spent on it, more people working on it, all of the above.

Go back to your small programs. Push until you have a real need for OOP or a framework. Then she will be A) interested about OOP or the framework and B) actually understand the point. Imagine someone trying to shove OOP down your throat when you don't have any use for it. Inexperienced people aren't ready for that kind of abstract thinking. Maybe they can understand it but they don't understand the application of it, or worse, they will start to think everything should use it. Show the simple version first, then show how other things can make you work faster and the code cleaners (which are really some of the biggest reasons for OOP and frameworks, right? It's not as if you can't make something happen without them, they just increase productivity and code clarity).

Lastly, making something that scratches an itch of theirs or both of yours so the work is practical. There's plenty of possibilities there to avoid making tic tac toe if no-one likes tic tac toe.

Good luck

1 comments

I think this is quite important as well. A couple of years ago I had a girlfriend that was interested in programming and she started _directly_ making an iOS application.

I helped occasionally when needed as I had 10 years of random programming experience at the time (not in iOS though) but she powered through many issues on her own. While I don't have contact with her anymore, based on her LinkedIn profile she's still an iOS developer to this day, at a /really/ nice company as well.