博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]Letter to a Young Developer
阅读量:6514 次
发布时间:2019-06-24

本文共 3581 字,大约阅读时间需要 11 分钟。

I’ve been getting some emails from young developers wanting to “level up” as programmers. I’m definitely , so I’m not sure how much I have to add. Still, for what it’s worth here are a few points off the top of my head:

  • Work with other developers. We are at a wonderful time in the history of technology when for the first time, it doesn’t really matter where you are or who you are working for. So long as you have a decent internet connection, you can pair up with another developer anywhere in the world and work on some code together. More and more experienced developers I know are offering their time for this kind of knowledge sharing. My friend Evan Light, and is developing . I’ve been doing this for a while as well. Want to work on some FLOSS code? Email me and we’ll set something up.
  • Read the classics. , , , . Etc.
  • Read (sometimes known as WardsWiki). I can’t stress this enough. Sometimes I think I learned everything I really needed to know about programming  from surfing WikiWiki on slow days.
  • Read other people’s code. Hooray for GitHub! If you want to start with a more curated collection and you know some Ruby, try .
  • Get involved in your local user’s groups. If they don’t exist, start one. And submit talks. I don’t care how much of a n00b you think you are. There is nothing better than committing to a talk to force you to to learn all about a topic.
  • Write a blog. Don’t worry about being original. Some of the most useful blogs out there are a largely a chronicle of a programmer’s experiments and mistakes, and how they overcame problems. Reflection is one of the most important parts of learning, and writing helps you reflect. And sooner than you think you’ll be getting feedback from other programmers.
  • I’m sure you’ve heard this one before: submit patches to an Open Source project.
  • Flip a coin. Heads pick , tails pick . Start learning to use the editor that came up. Either one will grow with you for the rest of your programming career. Strong, flexible tools make good coders even better.
  • Learn more than one language. But first learn one language well. You need a go-to language where you can get an idea and bang out a first version in a day, without spending a lot of time learning about bits of the language you’d missed or forgotten. But once you have that one, you need new languages to challenge all the assumptions that first language taught you. Pick languages that are widely divergent in styles. From what I’ve seen does a good job of covering a wide array of programming paradigms.
  • Get on the mailing lists for the languages and platforms you use. People sometimes forget that there’s a whole world of great discussion beyond blogs, Hacker News, and Twitter. Mailing lists are often very civil and helpful places compared to those other venues.
  • is your friend.
  • Don’t spend too much time researching the “best” tool for something. I used to badly hobble my productivity by spending days or weeks trying to find the very best obscure framework for the project I was about to start. Don’t fall into this trap. When you’re a relatively inexperienced developer, pick languages and frameworks that have lots of users to start with. It’s more important that you know where to go when you run into a roadblock, then that you pick the perfect tool.
  • Look for apprenticeship opportunities.
  • And of course: practice, practice, practice. Write code at work. Write code at home. Practice . Programming is no different from any other skill: in the end, it all comes down to practice.

转载于:https://www.cnblogs.com/jack204/archive/2011/11/14/2248874.html

你可能感兴趣的文章
阿里盒马领域驱动设计实践
查看>>
vuex 存值 及 取值 的操作
查看>>
HDU 2242 考研路茫茫——空调教室(边双连通)
查看>>
如何在C#项目中使用NHibernate
查看>>
安装python包到指定虚拟环境
查看>>
力扣(LeetCode)21
查看>>
网页视频流m3u8/ts视频下载
查看>>
Python 基础起步 (十) 什么叫函数?
查看>>
5G一周热闻:华为夺联通5G大单,首张5G电话卡发放
查看>>
“迁移策略+新容器运行时”应对有状态应用的冷热迁移挑战
查看>>
使用Swoole加速Laravel(正式环境中)
查看>>
mockjs让前端开发独立于后端
查看>>
延迟脚本的方式
查看>>
1.4linux单用户模式下修改root密码和救援模式修改root密码
查看>>
微服务架构优缺点
查看>>
解读userenv的日志
查看>>
跨进程通信之Messenger
查看>>
ext3与ext4区别
查看>>
DHCP Snooping + Dynamic ARP Inspection(DAI) 配置
查看>>
UNIX/Linux 系统管理技术手册阅读(三)
查看>>