向facebook和twitter学习 如何成为优秀WEB程序员

  在我这个老程序员看来,没有什么事情是比编程序有趣而简单的了。因为我爱编程,爱把心中的想法用软件实现。 我的故事网站是我各种灵感的试验田。自己想到什么,就能通过网站表达出来,这是程序员最大的好处。在外行人看来,编程是神秘的,或许还有点高深。这和我入道之前想法相同。不过一旦找到了编程的感觉,就自然来了自信。这种自信会让你有勇气克服所有困难。

  首先,要确定编程是否适合你。如果你想从事技术类工作,编程也是一种技术。如果你喜欢和人打交道,而不是机器,编程也许不适合你,因为编程需要整天对着电脑,需要耐得住寂寞,并乐在其中。

  一些人认为编程是计算机专业人的专利。最厉害的黑客没到上大学的年龄就已成名,最成功的计算机企业家比尔盖茨,Larry Ellison,facebook扎克伯格都是从大学退学。是兴趣和好奇心在引领他们。没有老师教,我从何学起?没有老师教,就主动去找老师——兴趣。兴趣是最好的老师。遇到问题了,想办法解决。在不断的解决掉问题的过程中,你会越来越自信。你会发现,遇到的所有的问题都能让自己成长的更好。你解决掉了别人解决不了的问题,你就能创造更大的价值。

  永葆进取心。挑战困难的问题,从中发掘快乐。真正的快乐来自于困难。每天重复同样的工作,没有挑战性,会让我感到枯燥。

  学习哪一门计算机语言?

  要看你的目标是什么。如果你的目标是造一个操作系统,建议你从C语言学起。如果你想造一个网站,我可以给你直接的建议。这是我的知识体系:Html相关知识(包括CSS,Javascript到JQuery再到Coffeescript),Ruby On Rails知识,数据库,Ubuntu操作系统。就是这些技术,打造出了我的故事网站。

  facebook的web技术是PHP,2003年那时Zuckerberg18岁。RUBY ON RAILS技术由DHH于2004年发布,TWITTER诞生于2006年。后来的LINKEDIN,Groupon等都用的是RUBY ON RAILS技术。现在和Python的Django framework一道经成为欧美主流WEB FRAMEWORK。

  Ruby On Rails技术

  能够打造一个网站的技术很多,为什么我偏偏选择ruby on rails?我曾经做了6年的Java web研发,但当我接触了ruby on rails技术后,Java被我抛弃了。我认为编程的最大乐趣应该是:你想到实现一个功能,认为用代码实现的话最好是这样做……然后,你就真的这样做出来了。Ruby语言让我体验到了这样的快乐。Java语言对于程序员有诸多限制,Ruby则很灵活。2011年11月11日,我见到了松本行弘——ruby语言的创始人。

  他是那样的和蔼,我们问他的问题,哪怕再简单,他都愿意耐心回答。其他的一些WEB编程语言,如.NET,PHP,虽然他们各有特点,但都有一个特点,那就是“乱”。哪怕你能力再强,也无法避免代码的混乱。因为他们从根本上就是乱的。JAVA,.NET,PHP这三门语言都在进化,进化的方向就是尽量摆脱乱的特性。但他们做得不够彻底,而且RUBY出现了,他们面临淘汰!欧美WEB开发主流架构已经是ruby on rails和Python的Django。中国目前使用ruby on rails技术的人还是少数,和ruby on rails的技术文档基本上是英文有关系。英文差的人学习起来要付出更大的努力才行,幸好最近 ruby中文社区http://ruby-china.org请了一批RUBY爱好者翻译了 ruby-on-rails中文文档http://guides.ruby-china.org/,大家学习难度会降低一些。我也开源了 我的故事网站源代码https://github.com/gazeldx/mystory

  建网站技术学习路线

  × 安装Ubuntu操作系统(Mac OS也可以)

  × Ruby On Rails(分几步)

  1 安装RVM

  2 安装RUBY

  3 安装ruby on rails

  4 按照 官方向导http://guides.rubyonrails.org/的例子,将 Get-Start例子http://guides.rubyonrails.org/getting_started.html跑通(Ruby on Rails支持 邮件服务器操作http://guides.rubyonrails.org/action_mailer_basics.html)这个例子一旦跑通,你就已经找到了足够的自信,可以自行深入学习了(因为这个例子融合了我上文提到的知识体系)

  5 自行深入学习

  也许你会说,可能这个ruby on rails技术是最好的,但不适合我。它太难了,我还是学.NET去。我认为ruby on rails是简单的。比JAVA,.NET,PHP都要简单,是适合你的。不过,你得下决心克服英语关。我说他简单,是学会之后,感觉编程真是太简单了。但学会之前,要吃很多的苦。而JAVA,.NET,PHP则是学会之前觉得难,学会之后还是觉得难,其实不是觉得难,是烦。代码乱七八糟,看着能不烦吗?不是搞不定,是搞得很烦。我用了6年JAVA,还是嫌弃它,虽然我已经自己搭建了一个自认为很棒很潮的JAVA web架构。

  最重要的事情——自信

  以我5年JAVA WEB编程的功底,深入学习ruby on rails以及相关技术花了一年时间。单说调通那个 Get-Start例子我花了2周左右时间(包括了搭建UBUNTU和RVM环境)。如果你是编程门外汉,估计要花的时间会更多时间。当然,你可以先在WINDOWS操作系统下先把ruby on rails的小例子调通(估计也省不了多少时间,但最终你还是必须回到LINUX RVM环境下开发,这是必须的)。调通小例子,预计你要花至少两个月时间。调通后,你会获得自信。相信我,克服这两个月的困难后,你将受益终生。随后的学习将变得无师自通。

  做一个网站的方法很多,如果只是想速成,不求最好,只求最快,可以用开源程序。PHP类的blog可用wordpress,论坛社区用Discuz,PHPwind等。未来会有更多更好的开源程序。

  “如果你认为你可以做到,那么你就真的可以做到。”——引申自苹果公司创始人Steve Jobs,乔布斯虽然不懂得具体研发事务,但他追求完美的企业家精神指引他开发出了iphone这样的产品。

时间: 2024-10-21 10:49:37

向facebook和twitter学习 如何成为优秀WEB程序员的相关文章

想成为优秀的程序员这些码德不能缺

我把这些看成是作为一个程序员的基本素质,多数是编码之外的事情: ●代码每天备份:(预防意外导致的任何损失) ●上传代码时写清楚log信息:(为维护这个模块的人着想,有可能是你自己) ●提供接口时不要把问题抛给使用接口的人,升级或者变更接口时不要删掉原来的接口:(为使用你接口的同事着想) ●变量命名要见名知意:(起码不能误导别人) ●在工程中新建一个doc文件夹将项目相关的文档放在该目录下,方便后面维护的人员理解项目和代码:(为维护这个模块的人着想,有可能是你自己) ●签署bug或者转办bug时写

10个习惯助你成为一名优秀的程序员

当谈到编程时,很多人应该都有听过10x程序员的说法. 据说一个10x程序员的效率大约是其他程序员的10倍. 这是一个有争议的话题,无论你选择相信10x程序员,还是认为这十分可笑,下面的10个习惯可以在一定程度上助你成为一名势不可挡的优秀程序员. 1.积极使用搜索工具 作为开发人员,你需要了解如何利用搜索解惑,查看其他人对你正在研究的主题所讨论的话题和内容,并将学到的知识应用于手头的项目. 当面临一个问题,优秀的程序员应该知道如何花很少时间去查验和解决手头的问题. 2.保持初学者心态 技术发展如此

想要成为真正优秀的程序员是不是真的很难?

很多人认为要想成为一名优秀的程序员,那就需要一天24小时每天不断地编程--睁开眼睛要编程,闭上眼睛睡觉的时候还要梦到编程--我认为这是一种矫枉过正的方法.沿着这条路走,只会让你精疲力尽,犹如夸父逐日一般,死在半道上. 我觉得问题的关键是要想明白你为什么要编程.坦率地说,我编程是因为我喜欢别人用我的程序,这也是我之所以在读书的时候成绩不怎么优秀的原因(我并 不热衷于参加编程竞赛以及类似事情).因此,我也不喜欢参与纯研究的项目--只在论文上讨论各种点子,而不付诸于行动不去写代码(除非恰巧碰到的是研究

优秀的程序员是在穿过一条单行道的时候还会往两边看的人

作为一个IT行业的软件程序员,每天驱使我们日复一日的辛勤工作的,是来自我们对编程的兴趣和激情.但是要让编程变得始终有趣,我们必须学会坚持某些成为优秀程序员的基本原则. 我并不是要写出一些咒语,你照着执行就可以成为一个优秀程序员了.我的目的是想记录下我学习到的和用过的一些有用的经验,它们帮助我获得比较好的结果.对于优秀程序员是没有明确定义的,这里我们指的是那些创造出了优秀IT解决方案的以及帮助这个行业增长的那些人. 0. 掌握基础 对于任何行业任何工作来说,融会贯通是获得成功的关键.一个人想要成为

深入理解你的代码才能成为优秀的程序员

为什么有些程序员似乎有着一种神奇的能力,能够在眨眼间提取代码的意思? 为了回答这个问题,我先从科学的角度来研究我们理解代码的过程. 事实证明,理解代码是有其心理过程的,我们可以利用这方面的知识成为一名更优秀的程序员.它能有助于你理解开发过程中的各个环节,这样你就不会因为编程中的技术瓶颈而裹足不前. 本文将对有关编程理解的知识略有涉及,并从三个方面来讨论如何利用这些知识成为一名更优秀的程序员. 关于成为更优秀的程序员的方法有三种: 首先,你得知道理解代码的能力取决于三个方面: 知识--解决问题所需

优秀的程序员该如何更上一层楼

关于我们这个行业,"是什么品质使得优秀的程序员区别于其他程序员?"是最难回 答的问题之一.最近我阅读了 Eran Galperin 的<What Makes a good programmer>,很有感触,于是想和大家分享一下我认为团队中每个人都需要具备的基本技能和特质. 1. 适应性和灵活性 很多开发团队都在喊我们需要灵活的开发人员--尤其是在软件开发初期这类人才更为重要.如果你平时是搞 UI 编程的,那么我们希望你能深入到数据持久层.我们甚至可能还会要求你去做一些测试.

优秀的程序员需要擅长数学吗?

天有很多年轻人或经验不足的程序员在 论坛发帖.在 Stack Exchange 网站问:「为了成为优秀的程序员,我需要擅长数学吗?」,在我还年轻的时候,我也问自己同样的问题.最近,我醉醺醺地.也是出于无聊,竟然 Google 了同样问题,差不多有 10 多年没有思考过这个问题了.在我浏览相关话题时,出现的答案模式被归结为以下三个主要类别: 需要 不需要 看情况 貌似「需要」和「不需要」经常带有个人主观偏见,反而显得有点儿草率的反应综合征.因此我把精力更多地放在「看情况」的选项上,以确保「需要」被

寻觅优秀Java程序员何其难

Java开发者供大于求,找一个优秀的开发者犹如大海捞针.这该赖谁?赖程序员对Java没兴趣吗?还是赖瞎了眼的招聘?抑或是语言本身?不管你同意与否,下面就列举了和这个问题相关的答案. 问题非语言,而是程序员自身 大多程序员都想做与众不同的人,大家都喜欢尝试.但除此之外,更多的程序员想要一个薪水丰厚的工作.最简单的方式就是学习Java--不管自己喜不喜欢写,这就是为什么众多无工作激情的程序员都沦为了Java程序"猿". "我不是指所有的Java程序员都是无能之辈",博客

什么原因成就了一位优秀的程序员?

这些年我曾和很多程序员一起工作,他们之中的一些人非常厉害,而另一些人显得平庸.不久前因为和一些技术非常熟练的程序员工作感觉很愉快,我花了一些时间在考虑我佩服他们什么呢?什么原因让优秀的程序员那么优秀,糟糕的程序员那么糟糕?简而言之,什么原因成就了一位优秀的程序员呢? 根据我的经验,成为一个优秀程序员同年龄,教育程度,还有和你赚多少钱没有任何关系.关键在于你的做法,更深入地说,就是你的想法.我注意到我所钦佩的程序员都有一些相似习惯.不是他们所选语言的知识,也不是对数据结构和算法的深入理解,甚至不是