受苏格拉底大神的启迪,我也来谈谈全栈。
禅师:成为全栈工程师,这个问题等于如何成为全才,有可能吗
码农:有可能,不过可能性比较低,因为达芬奇这类人毕竟是百年一遇的奇才。不过,因为我热爱这个行业,也有一定天赋,所以只做好软件全栈的话我想还是可能的
禅师:你玩过三国志这个游戏吗
码农:我还开发过
禅师:你喜欢什么样的武将,诸葛亮怎么样?
码农:不错,虽然他武力只有20,不过智力有100,不过游戏出战不是单打独斗,我可以给他搭配武力100,智力20的吕布,在战场上所向披靡
禅师:对于一个武力65,智力65的武将,你怎么处理
码农:砍头或让他下野,浪费军粮和黄金
禅师:但是他很全面啊,两项能力综合130分,比诸葛亮和吕布的综合分还要高
码农:话虽如此但他还是太平庸,无法独挡一面
禅师:赵云怎么样
码农:这是我最喜欢的武将之一,武力97,智力80,还有一个姜维也是,武力91,智力91,这是我心中全才的标准
禅师:首先,请把一个能力发展到90,如果你还有余力把另一个能力发展到90,再称呼自己全栈吧,否则你只是一个全面发展又全面平庸的废材。
码农:我明白了,我想facebook和google标榜的全栈,也肯定不是一个c++,java,ios,php,blabla都只会编写hello world的全栈。

参考:http://www.zhihu.com/question/22420900

-----------------------------------------------------------------

如果学习是被动的,那么人生也会是被动的。

-----------------------------------------------------------------

我比较喜欢的二句话,一句是:“广度是尝试研究的副产品”,另外一句话:“秒杀泛泛之辈的是一技之长,秒杀一技之长的是博闻强识。

全栈不是目的,而是顺带的结果,当你职业生涯到差不多的时候,自然而然就是了,或者不是,无所谓的。

成为全栈工程师不是目的,在只有你一个人的时候,你需要独自把脑海中的想法创意变成产品,这时候你就不得不去学习全栈技术。做这件事的目的也许是为了实现人生价值,也许仅仅只是兴趣爱好。

非常同意楼上几位砖家的话,fullstack实际上并不是要你的知识面有多广,而是你要保持接触新事物的心态。在需要迫切解决某问题的时候,愿意第一时间去接触未知的技术、信息,解决必须解决的问题,而后积累下来成为经验,而经验能降低你的学习成本,让你更快的吸收理解未知技术。

兴趣和创业,会刺激你。。我是一个独立游戏制作人,我从事游戏行业已经10年了,以前在国内很有名的游戏公司任职主程序,可以从零写一个3D引擎,
后来自己在北美发行一款独立游戏,收入很丰厚就辞职了。我会C++,C#,JAVA,美术方面我会手绘,3D建模,贴图,动画。。每款游戏带给我的利润值
得我去做学习和开发。。。。我每天低调的享受自由的生活。。做全栈工程师的秘诀就是做自己想做的事情,各种需求会刺激你去学习。。如果是被强迫的,那么就毫无意义。

全栈或许不需要用一个职业去衡量,更多的是可以理解为一种解决问题的全局思维和有针对性学习的能力。假设你是个技术人才且主要负责前端方面的任务,那么无论你使用何种技能,最终你需要关心的是你或是你的团队是否出色的完成了任务。
么你是否清除当前所做的产品的准确定位,目前使用的前端ui和ue是否符合使用对象的交互习惯,是否要考虑使用更加符合移动需求的前端框架,用户的使用数
据和后台的对接是否安全有效,考虑到目前的项目使用的后台脚本语言和数据库,是否要在目前的代码结构上做必要的优化以便于进行后期的维护,如果工程师对于
技术的广度和深度有清晰的、全面的了解,这就是全栈工程师在解决这些问题上所具有的优势。 如果你选择了去创业,那么现在问题就变了,原来可能摆在你面前的难题是如何优化自己的工程,现在最大的问题就是如何让你的公司很好地生存下去,为了达到这个目标你就得不断地去学习没有接触过的知识,这时候如果你是个有一定创业经验和社会阅历积累的人,或许你就会少走很多弯路,这就是人们常说的有很强的嗅觉和大局观,facebook喜欢招全栈工程师应该也和其独特的startup文化有关,能草率解决问题的人不如能够彻底解决具体问题的人,而能够彻底解决具体问题的人,还是不能比肩提前预知问题并有效杜绝问题发生的人。

全栈,我觉得是一种学习精神吧。至于在cn,这么浮躁的大环境,全栈=万金油吧

不是为了全栈而全栈,而是解决的问题多了,整个知识体系建立起来之后,就能搞定各种各样的问题了。

己创过业开过公司的,完整体会过拿到项目,项目分析,然后开发,数据分析,RushDemo,上线,通宵加班,扩展客户端,测试,运营,拉投资,开公司,
招人,踢人,被人踢,项目拿钱,避税,追钱,追钱成功,讨债失败之后.....(好多苦逼的事情),最后二次创业之后无论做什么,其实都觉的so
easy 一样的淡定。。。

现有的答案已经说明了,以一个正常人的精力和学习速度来说,想在 full
stack 的每一个层面都达到顶级的精通显然是很困难的事情。但是做不到这一点就算不上 full stack developer (FSD)
了吗?其实我希望大家留意题主引用的那段英文的最后一句:a genuine interest in all software technology. (对所有的软件技术抱有一种真挚的兴趣)。

我觉得对于 FSD ,尤其是对于想成为 FSD 的人来说,这个态度才是最重要的事情。即使都是 FSD,每一个人各自的技能加点也肯定会不一样,有人在前端更擅长一些,有人在服务器层面更有经验... 但其实没有什么硬性的门槛,需要的是解决任何问题的能力和意愿。你要做到的就是不固步自封在一个领域。遇到问题,就去研究,不因为问题不在你的 comfort zone 就放弃或者推给别人。即使一开始的解决方案很笨拙也无所谓,just learn whatever it takes to make it work. 比如说我要做一个网站,我有一些东西没碰过,但我有足够的兴趣和动力去搞个八九不离十。(这里自学能力很重要,有好的 mentor 也会帮助很大)当你经历过一次这个过程以后,你就会有信心去弄明白更复杂的东西,在之前的基础上进一步去消化、改进、学更多的东西。

另外,我个人觉得这个过程应该是由实际问题驱动的,而不是漫无目的看到什么东西流行了或者觉得很NB就去学。@庄生 的
答案里提到绝大部分的网站都活不到或者永远也达不到10k用户在线的水平,那种情况下去看 high scalability
的东西有什么意义?学的东西用来解决或是改进实际遇到的问题,这样你的整个知识体系覆盖面和侧重点会比较合理。打个比方就是你的技能点有限,所以加点方案
得有一个主题,到处乱点的话就废了。

回到起点,全栈工程师不是为了工作本身,是为了方便实现自己的梦。如果不是创业,我的价值可能也就是个2w 多工资的架构师或者技术经理,这个价格远远对不起我这13年的付出。一个真正的全栈工程师,目标只有一个:创业。

-----------------------------------------------------------------

一个真正的 Full Stack
Engineer
,他从生活中发现问题,洞察需求,他设计解决方案,并开发出初始版本的产品。为了达到目标,他愿意去学习任何领域的技能和知识。同时他不追求一个人完成所
有工作,如果有人可以比他在某方面做得更出色,便会十分热情的邀请他们加入。

最终他的职位也许不再是 Engineer ,他不再设计 UI ,不再写代码 ... 他的工作不再是 design and building an app or product,因为他有更大更重要的任务要做 - design and building a team or a company which builds great products. 

而这时,社会给了他们另一个称呼 - 创业者。尽管众人已忘记他们 Engineer 的身份,但在他们骨子里,内心深处,自己始终都是一个 Engineer 。当他们需要从头再来时,他们毫不犹豫从设计开发产品做起。Nikola
Tesla,Ferdinand Porsche,Henry Ford,Jack Dorsey,Mark zuckerberg,Elon
Musk ... 细数那些改变了或正改变世界的创业者,他们大多数是 Engineer 背景,热衷于设计创造。他们学习技能和知识,不是为了成为某个领域的专家;而是因为那些 是完成自己目标所需要的。

-----------------------------------------------------------------

我想专注几个的语言:
1. Delphi, FreePascal/VCL/FMX (优雅,快速,强大,均衡)
2. C++/QT (跨平台,类库很全,而且已经花了这么多时间使用它)
3. Windows API/MFC(驱动编程,网络编程,核心编程,SDK编程,MFC编程,COM编程)

我想专注几个行业:
1. 云存储/Backup/互联网(尽量不做Web开发)
2. IC/EDA
3. 图形图像/动态曲线

我想专注几个方面(开源项目):
1. FreeDos/DosBox
2. FreePascal
3. 英雄无敌2

中等涉及:
1. 汇编/硬件 (深入底层才能真正领悟计算机)
2. Golang (服务器管理本身是一个工作,同时可锻炼不同语言的思维,毕竟C++和Pascal是非常类似的东西,至于脚本语言不看好)
3. 算法 (基础,锻炼思维)

少量涉及:
1. C#/SL (有空还是稍微涉及以下吧,原因有3个:1.普通工作众多 2.和Delphi是一个爹,容易学习 3.功能强大)
2. PHP/Html/JS (本来是最不该涉及的,但为了我的创业,而且WEB业务的客户成本的确低廉,任何人都有可能直接成为你的客户)
3. iOS/Android (目前工资比较高,而且这个时代。。。)

【原文链接:http://www.cnblogs.com/findumars/p/4531772.html】

[转]乐死我了,怎么样成为一个全栈程序员(Full Stack Developer),附我想专注的语言的更多相关文章

  1. 4年前端、2年CTO:一个非科班程序员的真实奋斗史

    1.引言   我,Scott,一家创业公司的 CTO. 从业6年却很少写文章,近一年来接触了几十个刚毕业的前端新人,也面试了100多个前端工程师和Nodejs工程师,对于前端发展的这个职业算是有些感触 ...

  2. fir.im Weekly - 如何做一个出色的程序员

    做一个出色的程序员,困难而高尚.本期 fir.im Weekly 精选了一些实用的 iOS,Android 开发工具和源码分享,还有一些关于程序员的成长 Tips 和有意思有质量的线下活动~ How ...

  3. 屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!

    前阵子,Oracle 发布了一个黑科技 "GraalVM",号称是一个全新的通用全栈虚拟机,并具有高性能.跨语言交互等逆天特性,真有这么神奇? GraalVM 简介 GraalVM ...

  4. 一个小时搭建一个全栈 Web 应用框架

    把想法变为现实的能力是空想家与实干家的区别.不管你是在一家跨国公司工作,还是正在为自己的创业公司而努力,那些有能力将创意转化为真正产品的人,都具有宝贵的技能并拥有明显的实力.如果你能在不到一个小时的时 ...

  5. 如何成为一个C++高级程序员

    C++这门语言从诞生到今天已经经历了将近30个年头.不可否认,它的学习难度都比其它语言较高.而它的学习难度,主要来自于它的复杂性.现在C++的使用范围比以前已经少了很多,java.C#.python等 ...

  6. .Net开发之旅(一个年少轻狂的程序员的感慨)

    高端大气上档次.这次当时一个身为懵懂初中生的我对程序员这一职位的描述.那时虽不是随处都能看到黑客大军的波及,但至少是知道所谓的黑客爸爸的厉害,一言不合说被黑就被黑.对于懵懂的我那是一种向往.自己也曾想 ...

  7. 面试挂了阿里却拿到网易offer,一个三年Java程序员的面试总结!

    前言 15年毕业到现在有三年多了,最近去面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去了网易. ...

  8. 一个BAT老程序员的忠告!

      一.在中国,你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你更不要认为那些从事市场.运营的人,没有前途. 不清楚你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的 ...

  9. 为什么你作为一个.NET的程序员工资那么低?

    最近看到很多抱怨贴,也许有一定的道理,但是你想过没,为什么大部分.NET程序员工资相对低?我个人是这么看的: 大批半罐子水的程序员,永远被局限在.NET的原始的小圈圈里.前端不会(你放弃了一项很重要的 ...

随机推荐

  1. android判断pad还是手机

    第一种. Rect frame = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); if (fr ...

  2. Snort规则中的逻辑关系

    0x01 看一条规则alert tcp any any -> any any (content:"union";http_uri;nocase;content:"s ...

  3. Java学习-004-传世经典Helloworld

    此文主要通过一个广为人知的传世经典应用(Helloworld)讲述 Java 程序的结构,Java 程序的开发步骤,以及 Java 程序是如何运行的. 一.开发 Java 程序步骤 开发 Java 程 ...

  4. TermServDevices报错导致服务器死机(远程服务使用者必读)

    事件类型: 错误 事件来源: TermServDevices 事件 ID: 1111 描述:打印机 !!192.168.99.6!HP LaserJet 3050 Series PCL 5e 所需的驱 ...

  5. UIImage转换UIColor内存会莫名增大可以试试另一种方法

    一般我们会用此方法加载被背景图片 [self.view setBackgroundColor:[UIColor colorWithPatternImage:[[UIImage alloc]initWi ...

  6. 史上最全的iOS面试题及答案

    迷途的羔羊--专为路痴量身打造的品牌.史上最精准的定位.想迷路都难!闪电更新中...敬请期待,欢迎提意见.下载地址:https://itunes.apple.com/us/app/mi-tu-de-g ...

  7. 微信开发教程 Yank.WeiXin.Robot

    http://www.cnblogs.com/yank/category/539657.html

  8. PHP 开放JSON格式接口实例

    转化JSON文件 <?php function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { ; ) ...

  9. ISymbol

    public void Draw (IGeometry Geometry); public void QueryBoundary (     int hDC,     ITransformation ...

  10. 用仿ActionScript的语法来编写html5——第七篇,自定义按钮

    第七篇,自定义按钮这次弄个简单点的,自定义按钮.其实,有了前面所定义的LSprite,LBitmap等类,定义按钮就很方便了.下面是添加按钮的代码, function gameInit(event){ ...