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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Advice to young programmers

111 点作者 chegra84将近 14 年前

15 条评论

crikli将近 14 年前
I would also add this: don't join a priesthood.<p>In other words, keep your mind open. Don't become a domain expert, as advised, and then convince one's self that that domain is The One True Path. Conversely, don't glance at a particular domain, assume that casual knowledge to be canonical, and then write off that domain as A Path of Fools.<p>Young programmers are especially susceptible as the myopia of youth prevents one from grasping the miniscule nature of their own knowledge. Once one gets a bit older, he/she tends to realize that what they know is but of grain of sand in the ocean.
评论 #2797293 未加载
评论 #2797226 未加载
评论 #2798450 未加载
评论 #2797604 未加载
nakkiel将近 14 年前
My only advice, to all programmers, is to print the following and stick it in a place where you can see it everyday:<p>“There are only two hard problems in Computer Science: cache invalidation and naming things.” – Phil Karlton<p>The variant mentioning off-by-one errors may be pleasant, and useful for beginners, but is hardly a problem.<p>When we'll have solved the naming thing we'll be safe.<p>The rest is just buzz-words and useless noise.
评论 #2798475 未加载
评论 #2797511 未加载
评论 #2797697 未加载
评论 #2797304 未加载
lifeisstillgood将近 14 年前
5. Say yes ... No!<p>SAying yes is an implicit delivery promise. You will either break yourself (budget over runs, massive stress) trying to deliver, and/or you fail and your reputation suffers<p>If you have done it once already and know how much effort it will be - say yes and quote<p>If you have never done it before, say "I have never done it before" but for a small hourly fee I will implement a prototype. If you like it we can talk full project, but if not, or if I cannot make it work, then I just keep small fee as R&#38;D.<p>The customer then has more choices / options which is usually appreciated<p>Dont lie to customers. And saying yes without saying "I've never done i before" is lying.
评论 #2799403 未加载
zwieback将近 14 年前
I would also recommend learning at least the basics of lower levels of computing technology, e.g. some CPU architecture and some assembly or low level C.<p>It's a lot easier to avoid becoming a zealot when you know what's going on underneath.
评论 #2797771 未加载
RegEx将近 14 年前
Some good advice in this article. The most valuable thing I've picked up as a young programmer is the importance of finding your own learning style. Some people read books, some watch podcasts, some can just read the documentation and go. I've found that browsing example source code in the language/framework I'm using (with some light documentation reading) does well for me. It may take you too long to learn the skills, languages, or frameworks required by your post-graduation employer if you never took the time to find the best way to teach yourself.
mtogo将近 14 年前
This advice is mostly not harmful, but the most important thing a newbie programmer can do is actually just code. Just sit down and write some code. That's it.
评论 #2797466 未加载
评论 #2799284 未加载
sayrer将近 14 年前
I don't know about those Deitel books. I had to use a Java one in college and did not enjoy it. Maybe they've gotten better.<p>Here's Peter Norvig's review of a Python title: <a href="http://www.amazon.com/review/R2C7L5KHUVHOR2/ref=cm_cr_rdp_perm" rel="nofollow">http://www.amazon.com/review/R2C7L5KHUVHOR2/ref=cm_cr_rdp_pe...</a>
sshah将近 14 年前
The 'path' seems to be of a solid programmer/consultant. If you are going to work in a team then I would add 'improving teamwork skills'. This mainly involves respecting others in the team and focusing on team's success. These things go a long way and you will get a chance to work with developers in different areas of the company and contribute towards interesting projects.
peterb将近 14 年前
He missed some important ones: study good code and practice writing it.
评论 #2797094 未加载
defdac将近 14 年前
I like this article, probably because I do as outlined in it - but I also wonder how this (or the first advice particulary) is applied to pair programming? Seing someone else solve an interesting problem over his/her shoulder while discussing it endlessly will never quite stick as when you think about a problem for days and then come up with a solution for yourself.
评论 #2797584 未加载
thesmartace将近 14 年前
I think the main piece of advice is number 2. Make lots of small throw-away programs. Whether these little junk programs are good or bad doesn't matter - you will be learning something either way.<p>And post everything to Github (or Google Code, Sourceforge, etc). Having that kind of thing public gives you more of a reason to want to improve.
xsmasher将近 14 年前
Think, then plan, then code.<p>Simplicity where possible, complexity only where required.<p>Be a code scientist. Take your theory about the bug, test your theory, then make the fix. Then test the fix.<p>Don't be satisfied until you <i>really</i> know what's going on.
apetresc将近 14 年前
I think his Point #5 should say "knock something OUT", not "knock something UP". If someone asks you to knock something up, you should probably ask your wife for permission first.
评论 #2799241 未加载
known将近 14 年前
I'd suggest <a href="http://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it" rel="nofollow">http://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_...</a>
评论 #2797283 未加载
tete将近 14 年前
I don't think seven "Become a domain expert" is a good idea and especially not something you should recommend. If yo really find the right thing you'll know, but it is very good to know a lot about everything.
评论 #2797825 未加载