本人 28 岁,无编程背景,出于兴趣学习 Rails。跟朋友聊天,讨论自己想换个工作,转去做 Web 开发的事。
我这个朋友在北京做互联网产品和设计,他谈这事时,反复提到“需要尽快入行”几个字。
这个“入行”按照他的观点,总结一下:
我跟他的分歧,主要是我比他更相信个人的力量,相信一个人能做的尽量多。当初选 Rails,主要是因为更具备单打独斗的可能性、独当一面的气魄。
请问各位前辈,和有志于此的朋友,您觉得怎样叫“入行”?在 Rails 的领域凭一个人能做到什么程度?
我来扯两句吧,虽然也没入行= = 好的技术就是能够快速响应客户需求,Rails 本身做到了,但只有一个人开发,那么再好的技术也落了个下乘。 至于小项目,自己提供需求自己用的还好说,脱离了需求捣鼓出来的 OA 啊,管理系统什么的,除了能给你的 coding 能力提供证明好像没别的了。 总之,引用某人的话:“业务 > 数据 > 开发”,业务体现在数据上,代码建立在数据上,不要让你的代码脱离了业务成为玩具。至于你朋友的观点,除了第一点我是都赞成的,毕竟现在想要一个带路人实非易事。
嘿嘿,我也来胡扯。 得从 2 个方向看待入门。 一个是技术方面;另一个是综合能力。 技术方面呢,web 开发的技术都需要能了解,能上手,如果是 web 的话,html、css、js,以及后端(那个啥美工不一定包括)。并且能够设计,设计也属于技术类。我觉得入门的程度呢,就是需求来了,你能够自己了解,google 查找,最后实现。
综合能力呢,包括团队协助,客户沟通等。别小看这个,你的组长给你安排的任务,你理解偏了,那就是问题。
@badboy 我相信你对自己的信心和能力,不过我建议你别想这么多,找一家公司开始做,因为你没有编程背景,所以你可以从最底层开始做起,问题就是你现在到底能做多少事情?如果你还无法独立完成一个功能(哪怕是很小的一个功能),那你说不定得从学徒做起。
第一份开发的工作不一定非要找 Rails 的团队,主要是国内很难找,团队对新人培训的成本要求也比较高。你朋友所说的入行我想并非是针对特定技术,而是对整个开发这件事情的理解,先是广度,才是深度。
我和你经历类似的,我也没有编程背景,29 岁才开始学习编程,先从前端做起(因为会 Photoshop,当时公司里缺个写页面的,我就一人揽下来了);在项目组开会讨论各种事情的时候,我当时发言都比较活跃,而且对产品的信息架构和交互设计有系统的和专业的看法(去年一年看了六十多本书,有一半都是产品设计相关的)于是逐渐演变成了产品设计师,然后带了一个徒弟,把写页面的工作转移给了他,我只负责 design, rapid-prototyping。
之后业余时间我决定为自己拓展一下技术面,就自学了 Ruby 和 Rails,并开始尝试用 Rails 重写公司的产品(公司的主力语言是 Java,没有使用过 Ruby)。
所以你看,按照你朋友的观点,我现在应该算是入行了。我可以 Cover 一个产品的全部前端,也可以单独完成产品中的各种功能(用 Ruby,Java 只会一点点),还可以独立完成一个产品的信息架构设计,总计花费时间差不多就是两年。
现在回想起来,若不是我进入了一个真实项目的开发组,我是不太可能在这么短时间内取得现在的进步,你需要一种力量和环境去 Push 你专注于特定的事情和领域,而 free-style 的学习比较容易迷失自己。你的理想是能够独挡一面,一个人完成产品的开发,然而我想说的是,开发一个 web 应用需要掌握的技能实在是太多了,并且个人英雄主义也是 Team-work 里非常不提倡的东西。停止和你的朋友(或其他人)的争论吧,找个公司和团队去试试再说。
@nightire 谢谢您的用心回复,我印象中这里有个特别诚恳踏实的关于学英语的帖子,也是您写的吧?那个对我很有启发。
是否可以这样理解:即便是做外包或在家 soho 的工作,也必须首先经历过团队磨合,真实的面对面协作,这都是必须获得的经验?
反思了一下,我觉得自己还是没能把“开发”当做职业,而是一种理想,代表了能够不被人阻碍,凭一个人的力量把想法变成现实的可能性。我朋友对我的批评,大概也是认为我沉迷于这种控制事物的感觉,宁愿独自摸索,也不想跟人合作去做符合实际的东西。像您所说的,我目前需要关注一下“团队”,我再想一想这个,thanks!
在北京上海,这种想法或许可行,但是你工作的目的还是为了生活,你能在北京上海一直生活下去吗?如果回到中小城市,这种想法是否也可行呢?首先中小城市有没有大项目给你做?其次如果你在某一个环节是高级,其它环节是否能找得需要的人?再次,北京上海的需求和中小城市的需求是否一样?再再次,即使在北京上海,即使你辛勤工作,谁能保证你一直在一个稳定高质量的团队里? 我的看法是,理想很丰满现实很骨感,理想中的团队现实中还不如个人英雄主义,只要你是英雄,你肯定会有饭吃,但如果你是团队中的普通一员,只能做好一个环节的事情,随时准备失业或者等年级大了转行。
#7 楼 @ClemChuang “只要你是英雄,你肯定会有饭吃”
这句话我是这样看的,如果你真的是英雄,又有什么样的“理想团队”是你找不到进不去的呢?
人生是短暂的——相对于你要掌握的知识技能而言,我个人的经历跨越了设计——前端——后端,现在回想起来,如果我开始做一个产品,一切都自己搞真的是很累,而且很麻烦。倒也不是说非要很多人,在我看来至少你得有两个人。@Probe ,在这里我也想问你,哪怕是你一个人干,你的终极目标又是什么?只是为了证明自己一个人都能行,还是真的想要创造一个好产品?
如果是前者,那就不多说了;如果是后者,我想告诉你:一个人真的不行!最起码两个人——如果你不愿意走循序渐进的路的话,最起码得找一个与你志同道合,且在技术层面可以互补的 partner,否则你就不要做产品了,去做外包项目吧,赚钱还省心。
团队的经历有什么好处呢?我想到一个例子:我去年初开始自学使用 Git,用了一年也不过就是会最初级的一些事情,一直没有提高过,为什么呢?因为我工作的团队是用 SVN 的,我根本没有机会了解 Git 真正的内在。去年年底的时候我参与了 19wu 这个开源项目(参与开源项目也是团队协作),短短一个星期时间,我才真正搞懂了 Git 究竟强悍在哪里。
这种事情不是说一个人不能学,不能用,而是你一个人根本没条件用。你一个人傻傻的自己给自己 push,branch 也可以随便搞,push 也可以随便 --force,哪儿有需要你 pull request, rebase, cherry pick...这样的应用场景呢?
或许有人会说,这些不知道又怎么样,开发照搞不误,多少年不都这么过来了?那我只能说,见识广度决定你追求的高度!这些年的工作经历深深教会我一句话:没经历过,就别觉得没啥了不起。
如果“理想团队”会是让你决定转型“个人英雄”的理由,那我个人觉得这样的英雄也没啥了不起,如果是真英雄,为啥找不到理想团队?就算受国情地域所限,真的就是找不到,难道不能自己带一个出来?10+ 人以上的团队招不来,两个人的小组难道还找不到?顺便回到之前的那个话题,等你开始潜心研究产品的时候你会有深刻的体会,很多时候我都会冒出一个念头:这时候要有个人能谈谈他/她的看法就好了!
是的,如果你的追求是开发卓越的产品,你一定不能一个人,特别是现在这个时代!去看看几本书《Rework》《Lean Startup》,我想你会找到答案。
@nightire 说得非常好,一个人奋斗总是不如在团队中学习得快。在公司中打工会受限于公司的技术方向,作为创业者又会面临合作伙伴难找的问题。因此加入开源项目或者参加技术社区活动是很好的选择。
#9 楼 @nightire 英雄是需要成长的,没有谁天生就是英雄,而成长需要造化,不单纯是自身能够决定的。即使是英雄,也有很多无奈,理想团队,最理想的团队在欧美,英雄可以去吗? 如果从技术上讲,全才肯定没有专才精深。但是从赚钱的角度上讲,技术就不是最主要的啦,更别提某一项技术,所以就看这个人的目标是技术还是赚钱,我想很多搞 IT 的,最终目的还是为了赚钱,技术也许是热爱的,但只是赚钱的一个手段。从赚钱的角度讲,技术方面,不需要一个产品的细节很好,但是每一方面都要有,设计前端后端,较专业就可以了,不要很专业,甚至不需要多专业,你看现在能赚钱的网站,技术上讲往往都很一般。甚至有人用垃圾站也能赚到钱。所以具体情况需要具体分析,不存在团队精神一定会比个人英雄主义更好。
谢谢,您对合作、学习的观点我都理解了。
关于“你自己的终极目标,是为证明一个人就行,还是创造好产品”,我理解您也是要问:彰显自己一个人的能力优先,还是合作做成有意义的事优先。
我的回答跟您是一致的。我也能够对 Wikipedia 这样的事业感到巨大的敬畏,面对认同的价值,可以放下自己那点固执,全身投入去实现它。我明白这都是凭单人无法完成的。
还没找到这个“卓越的产品”。目前看来,既要保障生存,又要切入程序开发领域,参加开源项目是适合我的路,打算尝试一下。
PS 《Rework》《Getting Real》还有《软件随想录》等几本书,其实挺影响我的,这几本书都提倡尖刀一般的小型团队,我很赞成人越少越高效的观点。不过细想一下,确实没人说要一个人去做所有的事……
《精益创业》还没看,谢谢推荐,预备三个星期内看完。
没了……要不然回复时我就贴出链接了,那帖子是在今年 1 月 5 号左右。我搜了 Google Baidu Bing,快照里全都没有。Ruby China 的 RSS 里也没有。
当年 Google 退华时,霍炬曾写过
Google给我们的最大价值,除了信息流动加速,就是信息永存。当我写完这篇blog,发布在我的blog上,按下"发布"之后的几分钟,各种蜘蛛就会蜂拥而至,把这篇文章复制若干次,存在这世界的各个角落。这文章即永存。无法被某个组织控制或删除,也无法阻止其流动。公关公司不行,某个国家政府也不行。孙云丰的言论,和百度其他员工的言论,也将和这篇文章一样,被永存,成为历史的一部分。这是我们热爱Google的原因。
现在一看,原来也不是那么靠谱啊……
因为 rails 开发涉及的东西挺多的,我觉得能独立从头到尾独立开发(not just scaffold code, use git as repo)和部署(setup production server and using capistrano)一个 rails 应用,就算入行了吧