TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Suggestions for a 14-yr old software-developer-in-training?

6 点作者 jamessun将近 13 年前
My 14-year old has shown an interest in software development. He attends a magnet high school that focuses on math and science. While the intro-level CompSci class he took this past year was taught in Java, a few higher level classes are taught in Python.<p>While he has the opportunity to take formal classes at school, much of what he has learned has been self-taught. For instance, he's figured out how to create a custom Bukkit Plugin for Minecraft in Java. Now, he's working on a simple HTML5 game using Node.js and incorporating Socket.io to support realtime, multiplayer (two players for now) play.<p>As a parent, I'm constantly walking a fine line between letting him do his own thing OR guiding him -- gently most times, more forcefully on occasion :-) -- to topics/concepts in software development, like source control using Git, that I believe will help him enjoy software development AND be a better developer.<p>What topics, concepts, programming tools, languages, projects, general advice, etc. would you suggest for a 14 year-old who is interested in software development?

6 条评论

roguecoder将近 13 年前
1) Collaboration. Figure out some way he can work with other people his own age, talking to them about code and coding. The sooner he starts clearly communicating his insights the easier his life will be.<p>2) Whatever coding he thinks is fun. Even precocious childhood (and the best parts of adulthood) are about play. I'd encourage automation and code in as many areas of his life as possible: let him get a smartphone if he writes an app for it first. Let him get hosting when he finishes his game. Rewards are a great way to guide without getting in the way of letting him do what he thinks is fun. Even if he wants to head off into writing prolog code it's not likely to do any lasting damage at this point ;-)<p>3) Hardware/networking. Much of good programming comes down to interacting with and adapting to users; much of good networking and use of hardware comes down to ignoring the users and telling them what they should do. Let him disassemble boxes, put them back together again. See if he can scavenge working machines from discarded towers. If there's a local non-profit that refurbishes machines they are a great way to get into this and find a good community.<p>4) Other things that enhance a sense of aesthetics, communication and creation. Musical instruments are popular, public speaking or theater help enormously in getting ones ideas out into the world, reading and writing poetry is fantastic training for creating clean code. A design background and art classes can be enormously beneficial when doing web development.<p>5) The history of computers and software. If he learns about Turing and Hopper and Kay as people it'll make the contributions they made to software that much more interesting, and again it brings it back to "software is fun in part because it is about people." Lego Turing machines and cutting up wire into nanoseconds and fooling around with Scheme and listening to Steele's talk on How To Grow A Language are all great ways to start feeling like you are part of a larger community, doing amazing things together, rather than a lone magician in a tower.
评论 #4281661 未加载
heyfouad将近 13 年前
Hi there!<p>I'm an engineering intern at an edtech startup in SV with explosive growth. I'm also 16 years old, still in high school and from the other side of the country (DC metro area). I'm still in the process of starting up my blog detailing my experiences as a teen entrepreneur and developer in Silicon Valley. If you or your son are interested in my experience or some advice from me, please feel free to shoot me an email at fouad [at] classdojo.com.
CoryG89将近 13 年前
I can only say keep building, refining, starting new. I am 21 years old and am doing basically the same things you are helping your son do in his spare time. I am about to graduate with my bachelors in Software Engineering. I never had anyone to help teach me anything before college. Who knows where I'd be if I had someone like you there the whole time. I'm sure he'll go far if he keeps at it and enjoys it.
neovive将近 13 年前
He clearly has a strong interest and is very self-motivated. When introducing theory, be careful not to reduce his enthusiasm and excitement. If you plan to introduce some fundamental programming concepts, perhaps, start by helping him improve his existing code. He might also be interesting a game development platform such as Unity3d, which has support for C#, JavaScript and a Python-based language.
评论 #4281460 未加载
评论 #4281501 未加载
tobylane将近 13 年前
Watching open source project discussions to see how people interact there. Look at a higher qualifications units and see what is covered, eg the HND I just finished included project management, forensics and business structure.
j45将近 13 年前
My teenage years were intensely productive. I had the right mix of mentors, synergy with my circle of tech friends and the limitless opportunity to create for the sake of creation. As most people get older the ability to do this goes away with having to pay bills. Living at home is one of the best times of your life to create.<p>My advice for you as an advisor is this: Teach him how to channel his energy and not be all over the place. Learning to be effective, disciplined and focused, on however many interests is critical. This one ability will serve him for the rest of his life if he can master it under your guidance. If you like, harness his energy into a particular direction for the odd project and let him chart his course otherwise.<p>This is for your son.<p>How to be in any situation:<p>- Learn to be a self-directed individual. Looking to others to be taught is not the path of a developer.<p>- Learn to be a self-study. Everything he will ever learn will always become obsolete. Years ago, some language and framework was hot, to be replaced by a new one today, and tomorrow.<p>- Don't fit in. The greatest gift of geekdom is being comfortable being unique and seperate, even from other geeks. Don't fall for the entreporn of fitting in, you resisted it all through out school, why give in to followers?<p>- Open: Give something 5 minutes to sink in before judging. Don't become a religious fanatic about your tools to fit in. Users don't give a hoot about what you code in, only if you can build something that solves their problem well. This is the single most mind closing thing you can probably do when you're young, forget about older.<p>- Become an insanely curious individual. Try to understand how people deal with information in their lives in any place. You'll get faster.<p>- Learn to focus your curiosity to have a start, and end point. This year, I made a goal of taking every little project I hacked on and simply launching it to it's own domain. It's been refreshing, only for $9/year per domain.<p>- Learn the difference between being a creator and a consumer. Playing games is consuming someone's world and can have it's value as long as it's not greater than the time you're spending creating.<p>What is worth doing at that age:<p>- Build for the sake of building.<p>- Experiment for the sake of experimenting.<p>- Explore your curiosity. Find new interests to explore and try to connect them.<p>- Don't prematurely optimize. Run as far, and fast as you can from any developer who talks about doing things perfectly but does not launch anything, ever, themselves because their projects are never done or ready to release.<p>- Learn the difference between building something that interests only you and helps others solve the problems they have.<p>- Release prodigiously. I still have code from the late 90's when I was 17 that's running just fine on the web. It's not pretty but the tens of thousands of hits on it remind me to fight confusing activity with results.