兄弟连的全栈测试工程师工程师好不好

天极传媒:天极网全国分站
您现在的位置:
& >&全栈工程师会是未来的发展趋势吗?
全栈工程师会是未来的发展趋势吗?博客 06:00
  最近,网上很流行一个词:全栈(Full Stack)工程师,也可以叫全端工程师,无论是前端知识,还是后端架构你都要了解。甚至有些调皮的程序员这样理解全栈工程师:全栈工程师=潘空蕉坊=系统+网络+研发+dba+架构+安全=没女朋友、拿一份工资做三份事情的典型、每个站长都是一个全栈工程师,每个站群的站长都是超级全栈工程师。
  以前,软件工程师最在意的是成为某个领域的专家或者高手,如今,随着软件技术的发展以及需求的变化,尤其是越来越多的程序员出来自己创业,由于各种条件限制,许多技术上的问题不得不亲力亲为地去完成,因此,很多程序员慢慢地就练就了精通多门技术的本领。
  该截图来自 知乎网
  这不,就有位程序员在知乎上提问:“ 怎样成为全栈工程师(Full Stack Developer)?,在OSCON会议上,一名Facebook的工程师说他们只聘请“全栈(Full stack)”的程序员。”此话题一出,引起了大家的热烈讨论。许多经验丰富的工程师纷纷在下面留言,讨论成为全栈工程师的价值在哪里,大家是否需要成为全栈工程师,笔者就知乎上的精彩回答进行了整理,不妨一起来看下:
  Cat Chen:
  既然原文是说,Facebook工程师说Facebook只招Full Stack Engineer,那我就来说说Facebook Engineer都是怎样的人。
  我觉得任何一方面的具体经验都不重要,重要的是思维方式和学习能力。首先说思维方式,那就是不为自己设限,不会想着自己是前端工程师,所以后端的东西我就一点也不碰。Facebook 的工程师,级别越高就需要保持越大的影响力。如何创造更大的影响力,就是寻找当前杠杆效应最明显的问题来解决。有些问题你解决了的话,投入进去的时间每小时能换回来一千美元;有些问题你解决了的话,投入进去的时间每小时能换回来一百万美元。然而哪些问题更值得解决,这是动态的,往往还存在衰减效应。如果现在性能瓶颈在后端,你做了一个季度两个季度优化后,瓶颈就已经不在后端了,你再优化下去衰减效应就会越来越明显。等瓶颈变成前端了,你是不是就说因为你不懂,所以不愿意碰?那就相当于寄望于公司有个前端很懂性能优化的人来解决,但如果公司没有这样的人那就没有人来解决了。
  Facebook的众多海报当中,有一张写的是「任何一个Facebook 的问题,都不是别人的问题」。有问题,你就需要去评估是否值得解决。如果值得解决,你就应该着手去解决,而不是假设公司内会有另外一个人比你更合适解决这个问题。这时候很可能你就需要去做你从来没有做过的事情,需要学习你原本可能完全不懂的技术。如果你是个专门做数学模型的博士,加入Facebook 原本是打算做搜索结果优化的,结果发现这不是最急需解决的问题,JavaScript 性能才是最需要解决的问题,你怎么办?如果你以为 Facebook 需要的是你做数学模型的经验,那你就错了。Facebook 需要的是你完成博士学位的学习能力。你从来没做过JavaScript并且觉得JavaScript很恶心?正确的做法是立即在网上买几本JavaScript入门的书连夜看完,然后着手分析性能瓶颈并且解决。在你完成手动优化后,你还可以思考一下能否把这做成自动化,例如说在代码提交时分析JavaScript语法树并且指出可能成为性能瓶颈的地方,又或者说从用户浏览器那里收集性能数据扔到Hive然后再从中分析产生瓶颈的特征。这些都可能涉及到一些你没有做过也没有学过的东西,但问题摆在那里你就需要去解决,而无论这要求你去钻研什么。这就是我所说的学习能力。
  顾鹏:
  设计、后台开发、前端开发、移动开发、运营维护、PS、文案... 好像都会了,这算Full Stack Engineer了么?
  不,这只是踏上成为Full Stack Engineer的第一步。你知道目前只是每个stack都懂一点,离senior或者expert还差得远,而要每个stack都做到极致,需要大量的时间和精力。精力有限,产品开发紧迫,力不从心啊,这条道路也太孤独,因为你不需要与任何人进行协作。难道要把一些stack的任务交给别人做么?这样算是放弃成为Full Stack Engineer么?
  不!这不是。什么是Engineer?Engineer的本质工作是设计,开发出于大众的产品。
  一个真正的Full Stack Engineer,他从生活中发现问题,洞察需求,他设计解决方案,并开发出初始版本的产品。为了达到目标,他愿意去学习任何领域的技能和知识。同时他不追求一个人完成所有工作,如果有人可以比他在某方面做得更出色,便会十分热情的邀请他们加入。
  最终他的职位也许不再是Engineer,他不再设计UI,不再写代码... 他的工作不再是设计/开发一款应用/产品,因为他有更大更重要的任务要做――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背景,热衷于设计创造。他们学习技能和知识,不是为了成为某个领域的专家;而是因为那些 是完成自己目标所需要的。
  李楠:
  Full Stack Developer在国内不被接受的一个主要原因是公司缺乏稳定的T线(技术职位晋升路线)。很多有才华的人写了几年代码后去做了管理。今天的网络相关技术,聪明又能持续学习的人,在三年之内可以在一个领域做到很高的水准。那么如果你做五年,十年甚至十五年呢?我认为成为Full Stack Developer是很自然的选择,而且可以跟随最顶尖的技术。
  Full Stack Developer的核心并非否定团队和协作,而是更多的体现在架构设计,快速原型和TroubleShooting方面。随着今天的分层越来越清晰,平台和语言越来越有特点,更加全面的技术人员可以根据不同的语言搭建整个架构。
  Full Stack Developer并非杂而全――Facebook也不会雇庸手。他要求的是一种更加全面的深入。 一方面,他是技术人员不断学习的结果。另一方面,他也是对自己事业的一种责任。
  kubisoft:
  既然叫工程师,就是应该负责技术的,而不只是写代码。
  各方面的技术,各方面的技术架构。比如,关卡编辑器里面的图层该怎么搭,如何定义?美工PS出来的图片应该是什么规格?这些都是技术架构,都是工程师要去做的。工程师应该帮美术做好图,做好动画;帮策划做好关卡,填好数据;这才是工程师。所有跟技术相关的东西,包括Photoshop的使用细节,3dmax的使用细节,都是工程师需要去搞定的。美术只是在工程师做好的基础上让它更漂亮更好看,策划让它更好玩。
  如果只局限在自己的代码中,就只能是程序员。如果只关心客户端而不关心,就无法对技术负责,就只能是一个程序员。每一个实际问题,都有可能涉及各方面的技术。举个例子来说,做格斗网游,要做出良好的打击感,你就不仅要关心渲染技巧,还要关心美术特效,还要关心网络,关心服务器应该传送过来哪些数据,还要关心哪些东西是对玩家有用的必须表现出来的东西...当你的关注重心从代码转移到具体实际的问题的时候,就成为了一个工程师了,继续努力下去,就很容易变成全能的工程师。
  知乎上的匿名用户:
  首先我觉得好的开发者,即使不是全栈,也要融会贯通多种技术。我从来不认为一个只专精一种技术的人有可能成为好的开发者,即使是C,即使是汇编。(当然其实反过来看,那些大神们哪个不会搞点其他的?比如几个做服务器端开发的大神居然不懂服务器管理?)
  然后从广度和深度的组合看,我认为好的开发者大概有两种类型:
  手术刀
  代码专家。
  (来自《人月》)
  手术刀是业务驱动的,最需要全栈的人;他们的核心价值在于:懂业务,技术全面,都能拿的起来,而且能选择最合适的技术。代码专家是技术驱动的,即使不够全栈也可以用,但是技能树点的越多当然有好处。
  下面要讲的是创业逼出来的全栈,对于创业团队而言,手术刀更加重要,代码专家要依靠各种开源组织的贡献,或者临时聘请。创业的最大需求技能是整合资源的能力,找合适的人做事的能力。
  所以我说的,是说对于我,种子期,天使期,最重要的都是我自己作为手术刀,而不是资源整合者。
  全栈工程师不是为了工作本身,是为了方便实现自己的梦。
  如果不是创业,我的价值可能也就是个2w 多工资的架构师或者技术经理,这个价格远远对不起我这13年的付出。一个真正的全栈工程师,目标只有一个:创业。
  看了上面的回答,你是否知道了如何成为一名全栈工程师呢?关于该问题的更多讨论,欢迎大家访问知乎讨论页。(以上内容来自知乎网)
  随着工作经验的逐年增加,程序员/软件工程师所接触的技术领域会越来越广泛,无形中就会对某个技术有所了解,对于上进、想闯出一番天地的程序员而言,他们非常乐意并且会主动去学习这些技术,这样,自然而然的就学会了多门技术,精通多种语言。
  许多人都在做年终总结和新一年的规划,许多程序员都希望自己在新的一年里能做出更好的产品、学到更多知识、进一步提升自己的技能和综合能力,这或许也是全栈工程师成为热门的原因之一。那么,这是否也说明,要想在软件开发领域走的更远,就必须掌握更多的技能,成为一名全栈工程师呢,这会成为未来程序员的职业趋势吗?大家不妨一起来讨论下。
(作者:CSDN责任编辑:王玉平)
天极新媒体&最酷科技资讯扫码赢大奖
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
办公软件IT新闻整机如何看待李笑来说的 “一年可以成长为全栈工程师” 观点? - 推酷
如何看待李笑来说的 “一年可以成长为全栈工程师” 观点?
前几天新东方著名老师牛逼创业者牛逼投资人李笑来一条鸡汤一样的微博在技术圈引起轩然大波。
相信所有人和我一样被“全栈工程师”这个词点燃了,为了确保大家是讨论同一件事,非常有必要把“全栈工程师”这个词解释清楚到底是什么意思!
Full Stack Developer的定义和标准:
比较广泛的认知是一个 全栈工程师 大致就是懂的后端开发、前端开发、界面设计、产品设计、数据库、各种移动客户端、三屏兼容、restFul API设计、OAuth、Single Page Application、Web Socket、HTML5/CSS3这些技术以及像第三方开发像微信公众号微博应用等等技术。
技术圈的小伙伴们普遍实事求是认死理,说好的是全栈工程师,缺少以上一项都不算是真正的!全!栈!工!程!师!
后来李笑来老师在回应文章里面说了一大堆关于自己当年如何从会计专业毕业然后各种跨领域成为一个牛逼人的事实以及亲身经历的各种示例表明,学编程就跟学车一样真的没什么难的,并且在文章结尾很机智的说自己对于 全栈工程师 的另一种理解。
我所说的、我所理解的全栈,究竟是什么没必要在语义上争论,但,在真正工程师的生活中,coding 应该基本上只占 20% —— 因为最终代码是用来表达思想的,用来解决问题的;所以,全栈工程师是那种有真正的问题需要解决,有真正有价值的想法需要实现,有品位的设计者、创造者。就好像我们都识字,都能写字,能写漂亮钢笔字的人也很多很多,可最终写好文章、写好教程、写好小说、写好诗歌的人才是“文字工程师”,剩下的都只是“识字而已”。
好了,大家以为就这样“赢了”李老师,其实这对于李老师而言这个话题被广泛讨论的时候就算赢了,因为他根本就是故意说的这句话,这一切都是套路啊。
事实上除了李老师故意曲解 全栈工程师 以此来激起争论,李老师的观点还是非常之棒,在2011年学习Android那会,我遇到不少同学努力学了一个暑假,最后顺利拿到阿里和人人等大公司的offer,但是在后续的工作中大家都明白自己的缺陷,经常加班学习到夜里12点弥补,即便这样过了四五年,大家也都只是敢说Android方面算是有点心得,对于编程语言会有更深层次的理解,更加容易上手某一个语言,但是也还绝不敢说自个就有全栈的潜力了!
看了业内大拿池建强和左耳朵耗子老师大家普遍是比较正面的评价,虽然劝导大家不要害怕编程勇敢挑战自己,但是也不必过分鸡汤,毕竟技术修行还是需要足够时间和足够的努力以及足够的运气机会才能够勉强说得上优秀。
关于李老师回应文章
这个鸡汤文的大部分观点我是赞同的,编程是一件容易的事情,并没有我们想像中那么难,那么问题来了,为什么要花五万块集训一件相对容易的事情呢?
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致一些市民发现后纷纷拍照发朋友圈质疑桥梁的质量。
女儿在17年前,被逼嫁给当地人,生活很艰苦。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
  全栈工程师到兄弟连 北京全栈工程师到兄弟连【24小咨询热线:400-700-1307 QQ: ◆想20k就业就找“全栈兄弟连”◆专题地址:/html/jyb/qzgcs/ 】
  对于全栈工程师们来说,他们喜欢依赖于外部思维,用于产生颠覆性的思维。比如Angular.js这样的框架便是这样,前端结合后端开发语言的Java思维因此而产生。而专家则依赖于内部条件,创造出不一样的适应性的创新。比如之前流行的Backbone框架,就是适应当时的情况而产生。
  IT兄弟会学全栈工程师好不好
  1、就业面广 全栈工程师拥有广泛的就业市场,掌握技能从后端php web程序开发到前端ios、android程序制作,胜任互联网公司各类开发岗位。
  2、就业薪资高 全栈工程师拥有更多的发展机会,团队中,不同开发岗位之间需要沟通与协调,只有全栈工程师才能理解项目中各个环节如何对接与协作,一旦有管理岗位空缺,全栈工程师必定是最佳人选。
  3、培养未来的企业家 全栈工程师自主创业更容易,学习任何单一技术都无法完成一个完整的互联网项目,而全栈工程师能让自己亲手实现大脑中所有的想法,下一个facebook一定诞生在全栈工程师手中。
  4、结识最优秀的圈子 全栈工程师是通往架构师的必经之路。不想做架构师的程序员不是好程序员,架构师站在了金子塔的最顶端,而架构师可以说是一个软件项目的总工程师,架构师必须精通项目中的所有技术环节,架构师的架构设计是项目质量的保障,也是团队的核心,全栈工程师具备了成为架构师的基础。
  IT兄弟会开发人员项目期绩效标准
  A:当月分配任务项目完成度超过预定任务量,且项目代码与注释规范,文档完整,项目代码完整可用无业务缺陷,无开发事故。
  B:按预定任务目标完成任务:项目代码与注释规范、文档完整、项目代码完整可用无业务缺陷,无开发事故。
  C:按预定任务目标完成开发任务:项目代码与注释规范、文档完整、项目代码完整可用无业务缺陷,无开发事故。
  D:出现以下情况之一的评定:预定开发目标完成度超过80%、按预定目标完成任务,但项目代码存在业务缺陷、代码未按要求编写注释、文档有遗漏、出现开发事故并及时补救,但对项目组中其他成员造成不良影响。
  E:出现以下情况之一绩效评定:未按预定目标完成任务,且项目完成度低于80%、代码未编写注释、未编写文档。出现严重开发事故并能及时补救。
  全栈工程师课程的设计怎样?全栈和H5哪个牛逼?
  全栈工程师课程的设计不是单纯的将多学科混合在一起,而是完全贴合企业与项目需求的另一种不同维度的设计。
  传统学科设计按技术种类划分,如linux可以用于网络管理,可以用做web服务器,也可以用来做嵌入式设备的操作系统,因此学习完Linux课程后可以选择做网管或是运维,也能去硬件厂商工作。
  类似学php的可以选择做网站后端开发,做企业软件开发,可以做app后端开发,甚至可以用做自动化脚本编写,因此学员学php也可以选择去做软件开发或者网站建设甚至是运维自动化。
  h5学科则能完成网站的前端页面程序编写,webapp页面编写以及网页游戏编写,然而做互联网项目开发不会需要你掐网线,写游戏;企业需要的是web+微信+app的三位一体模式;而混合app开发模式能用最少量的投入获取最大回报。
  文章关键词:全栈工程师丨兄弟连全栈工程师丨兄弟会全栈工程师丨北京全栈工程师丨北京兄弟连全栈工程师丨北京兄弟会全栈工程师
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
由于公司的产品宣传。以及日常的活动咨询报道
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:菜鸟到大神:全栈工程师是这样练成的_过谦_新浪博客
菜鸟到大神:全栈工程师是这样练成的
  什么是全栈工程师
  全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Stack
(需翻墙)。他把全栈工程师定义为对性能影响有着深入理解的技术通才。自那以后全栈这个词便流行起来,我看到过的就有全栈工程师,全栈设计师,全栈运维,全栈市场营销人员等等。而在很多针对互联网人才的招聘网站上,全栈工程师更是一跃成为热门招聘职位,其薪资水平也比一般的开发工程师职位要高出一截。那么,什么是全栈工程师,我们又应该如何定义一名全栈工程师呢?
  百度百科对全栈工程师的定义是这样的:“掌握多种技能,并能利用多种技能独立完成产品的人”。我觉得这个定义还不够全面,我认为全栈工程师应该同时是一位资深开发工程师、架构师以及具有敏捷开发技能的程序员。全栈工程师对于软件开发的认识往往已经进化了,他们把特定的技术抛到了身后,明白技术的更新始终比计算机理论要快的道理,因此,他们注重强化自身的核心技能,关注并乐于实践其他技术。全栈工程师往往是某一方面的专家,同时通晓并善于在正确的场合运用其他语言、工具和技术。
  全栈工程师的价值
  认为:随着时间的推移,全栈工程师的作用和价值在越来越多的产品或项目中得到了印证。那么,我们来看看全栈工程师对于个人或公司意味着什么。
  个人价值及自由度的极大提升 ——
我曾看过一些介绍全栈工程师的文章,文中大多强调了全栈工程师对于公司与团队的价值。而我想说的是,没有一个优秀的全栈工程师是因为会对公司产生多大的利益,而努力学习各种技术的。我所认识的他们,都是那些有着一颗匠心,不断追求更高技能,并执着于做出更优秀产品的人。而当你成为一名真正的全栈工程师后,会感受到前所未有的个人价值与技术自由度的提升。试想当一个很好的创意出现时,你可以一个人或主导一个团队去实现并不断完善它,这是一件多么让人兴奋的事啊!
  全局思维与技术前瞻性 ——
由于具备了各个开发环节与技术领域的知识,全栈工程师往往具有更好的大局观和技术前瞻性,能够在项目初期就选择正确的技术,并很好地把控一个项目的整体方向。现代项目往往非常复杂,而全栈工程师往往能带来技术和质量上的保障,从而成为一个项目成功的关键人物。
  降低沟通成本 ——
我经常听到有设计师抱怨前端工程师无法百分之百地还原他们的设计,而前端工程师又在抱怨后端工程师从接口返回的数据更本无法直接使用,后端工程师也在抱怨产品经理所提的需求根本无法完成。随着团队人数的上升,由于各自技能栈的不同,沟通成本一定会随之上升。全栈工程师除了能够独立完成前后端的开发(甚至包括设计)外,如果能够在项目初期提前介入,便能很好地规避技术风险,过滤不合理的需求,从而显著降低因不同技术差异导致的沟通问题,显著降低项目风险。
  初创公司 ——
我们已经来到了一个万众创业,全民创新的时代。那些初创公司也如雨后春笋般不断涌现。初创公司往往都有了一个不错的创意,但经常会遇到“就缺一个程序员”的尴尬。我想说的是,他们其实并不是缺程序员,而是缺一位全栈工程师。初创公司往往资金有限,而一名优秀的全栈工程师能够帮助初创公司用最低的代价与最短的时间推出自己的产品。这是初创公司能够存活下来,拿到更多投资,甚至成为“独角兽”一员的最关键一步。
  全栈工程师的技能栈
  看到这里你一定会问,到底需要具备怎样的技能才能成为一名全栈工程呢?下面这张图来自Medium,作者将软件开发所涉及的各个方面分为层,又将每个层所包含的主要技术作为组件,制作了这张全栈技术图。
  从上面这张图,我们不难发现,现在的技术体系是多么庞大,每一年又会有新的技术加入到这些层中,而已有的技术又在不断地更新。因此要掌握所有技术是根本不可能的,而成为全栈工程师也并不需要你真的掌握所有的技术,你应该将自己的精力聚焦于关键开发技能以及一些必须掌握的附加技能上。
  关键开发技能(硬实力):
  Git / GitHub ——
你必须掌握如何使用Git来管理和分享你的代码。把Git作为关键技能的第一条,是因为它不仅仅是一个代码管理工具,更是一种推荐的工作方式。它使你能在任何地方进行开发,高效地管理任何大小的项目,通过Git你还能与其他团队成员进行分布式协作,大大提升工作效率。通过GitHub,还能将你与世界所有的开发者联系在一起。
  至少一门编程语言 —— 你需要精通至少一门编程语言,JAVA 、PHP、C#、Python、Ruby、Perl
等,因为你的大多数核心业务处理都需要用这门语言来写。你既要掌握这门语言的语法,又需要非常熟悉如何基于这门语言进行项目的架构、设计、实现以及测试。如果你选择的是JAVA,那么你就需要掌握面向对象的设计和开发,设计模式的应用,基于J2EE各个组件的开发
  运用开发框架和第三方库 ——
流行的开发语言,一般都伴有出色的开发框架,比如JAVA的Spring、MyBatis、Hibernate,Python的Django,PHP的
thinkphp、yin,nodeJs的 express
等等。这些开发框架往往都遵循软件开发领域的一些最佳实践,并由非常优秀的开发人员创建。熟练使用这些开发框架或第三方库能够避免重复发明轮子,使你的工作事半功倍。更重要的是这些优秀框架或第三方库的一般都得到持续的维护,是对你的产品或项目在质量与安全方便的最有效的保障。
  前端技术 ——
之所以将前端技术独立出来,作为一项关键技术,是因为它在今天的项目和产品的研发过程中正变得越来越重要。一个产品除了实现所需的功能之外,是否好用(用户体验)也正在成为评判一个产品是否成功的重要标准。而这都依赖于前端技术的实现,你至少需要掌握
HTML5、CSS3、JavaScript 等基本前端技术,同时进一步学习
JQuery、LESS、SASS、AngularJS或REACT等前端框架或第三方库。
  数据库与缓存 ——
任何产品或项目都需要一个数据库来存储数据。作为全栈工程师,你也需要至少掌握一到两个数据库,并知道怎样与数据库进行交互。目前流行的数据库主要有MySQL、MongoDB、Redis、Oracle、SQLServer等。MongoDB作为文档型数据库,在互联网产品中正被越来越多地使用,对于规模稍大一些的项目,我仍推荐使用MySQL或商用的Oracle作为后端数据库。而Redis这样的内存数据库则可以用于缓存,以提升系统的性能。
  基本设计能力 ——
大部分关于全栈工程师的文章或讨论中,都不会将设计能力做为全栈工程师的关键技能,但我却认为这项技能非常重要。我曾被邀请评估一些软件工程师自己开发的产品,这些产品都有不错的创意,功能实现也很到位,但一看就不是一个好的产品,用户根本没有使用欲望,原因是这些产品的设计太差了,而往往那些开发者完全没有意识到问题的存在,比如色彩的不一致,排版的凌乱,不恰当的图标
等等。我所建议的基本设计能力,并不要求你像专业设计师那样能够P出神图、制作奇妙的视觉效果等,但你需要掌握最基本的UI设计原则,如
色彩的搭配,基本的排版,并具备良好的审美能力,和一些基本UI设计能力,这样你做的产品就不会太差了。
  在掌握了这些核心技能之后,你可以根据自己的兴趣与发展方向,学习其他方面的技术。比如,如果你对数据处理感兴趣,那么你可以学习大数据方面的技术。如果你对移动互联网更感兴趣,那么你可以学习Swift,开发ios应用。知识总是相通的,在有了良好的技术基础后,学习其他知识将会变得非常容易。
  附加技能(软实力):
  沟通 ——
除非你是在做个人项目,对于稍大一些的项目,你总是需要与同事、干系人或是客户进行沟通的。而成功的沟通往往是获得有效需求,与建立团队信心的第一步。在项目的进行过程中,你更需要通过有效的沟通去确定方案,消除误解,与项目成员协同前进。良好的沟通能力将使你在团队中更具影响力,收到更多尊重和关注。
  问题解决能力 ——
全栈工程师首先是一名工程师,他必须掌握工程化的方法来解决遇到的各种问题。我在职业生涯中的几乎所有亮点,都与解决问题相关,大到提供整个项目的架构方案,小到以最快的速度解决生产问题
等。其实有很多提高问题解决能力的方法,但没有一种比实践更有效。我所见到的优秀工程师,往往能够凭借直觉以最短的时间给出正确的解决方案,但你可能没有看到的是,在这背后其实是经过大量实践累积而来的经验。
  时间管理 ——
作为全栈工程师,你可能会被安排同时在不同的项目中承担不同的角色。你需要合理地分配时间,保证所有的工作能够按时交付。同样在你的业余时间,你还需要花时间阅读和学习,同时你还可能会有自己的Side
Project。因此,合理地进行时间分配,并对一些关键任务,进行计划是很重要的。你或许会感到一些压力,但这反而会激发你的创造力,并能让一切都有条不紊地进行。
  好奇心 ——
对任何工作都抱有好奇心,并愿意不断学习和改善是那些优秀工程师的共同特性。软件开发领域汇集了世界上最聪明的人,各种类型的技术、产品、框架更是日新月异,层出不穷。优秀的全栈工程师需要不断地学习来抓住这些变化,跟上计算机领域发展的脚步。时常有人会问我,做计算机这一行一直会有新的东西产生,要去不断地学习,是不是会很累。我要说的是,对于将持续学习作为一种生活习惯的人来说,学习新东西并不会成为一种负担,反而是一种乐趣。
  领导力 ——
优秀的全栈工程师往往会被赋予技术Leader甚至项目管理者的角色。成为管理者并不是让你去支配其他人,或让其他人替你做事。管理者需要理解你的团队成员的长处与不足,并知道如何以服务的态度使团队获得最大化的产出。我见过一些非常优秀的工程师,当他们被安排去管理团队时,他们是排斥的,他们往往更愿意独自工作。但我想说,成为管理者,将会使你更加睿智、可靠和值得他人信赖,也会对你未来的职业生涯带来极大的益处。因此,当机会到来时,请将它视为挑战,不要排斥它。
  有经验的技术领导者在招聘时,往往会同时考察应聘者技术能力与上述附加技能,而对于初级程序员的招聘来说,那些附加技能往往更被优秀的技术公司所看重。开发技能是你的硬实力,而附加技能则可以看作是你的软实力,只有同时具备这两方面技能,才能成为一名优秀的全栈工程师。
  优秀的全栈工程师需要走出去
  优秀的全栈工程师不应局限于自己的工作,他更应该走出去,接触不同的技术,分享自己的经验和心得,认识更多的朋友。下面便是我的一些做法。
  参加技术大会 —— InfoQ、CSDN、GITC、优设、TED
等网站都会定期举办各类技术大会。在这些大会上,你不仅能够听到技术大咖们带来的各自领域最佳技术实践,而且能认识很多行业内的朋友。这对你开拓思路,扩大技术社交圈都很有帮助。因此,如果公司没有安排你去参加这些技术大会的话,那就自己买票参加,作为对自己的一种投资吧。
  作公开演讲 ——
全栈工程师并不需要是一个公开演讲者,但作为团队的核心成员,他一定需要在团队内部做技术、管理等方面的进行演讲。如果你是一个乐于分享的技术达人,那么也可以尝试录制个人课程(视频或音频),并在慕课、网易课堂、优酷
或 像 荔枝、喜马拉雅
等各种媒体分享自己的技能和知识,不要因为自己并不是专家就不愿尝试,相信我,你用心制作的内容,会获得大家的认可,并收获一大批粉丝的。
  个人博客 ——
每天进步一点点,一年以后你便会获得质的飞跃。优秀的全栈工程师懂得如何进行知识的积累,而技术博客就是一个很好的方式,将自己平时的实践、思考记录下来,配以tag标签方便日后的回顾。最有意思的是,当你在不断记录和更新你的博客同时,世界各地的程序员也会通过你的博客认识你。
  参加线下活动 ——
与以前程序员总是宅在家里不同,现在的年轻程序员们更愿意分享和交流。很多网站也会组织不同技术主题的线下活动,在这些活动中你可以听到一些技术牛人的分享,还可以找到很多和你一样对技术富有激情的人。而我现在所做的开源项目中的很多团队成员,正是我在这些线下活动中结识的。
  全栈工程师决不是一夜练成的,你需要打好技术基础,强化核心技能,并持续学习。相信有一天你也能像我一样,感受到自由地运用技术,开发出优秀产品所带来的乐趣的。
&更多精彩知识请访问官网
博客等级:
博客积分:0
博客访问:3,037
关注人气:0
荣誉徽章:

我要回帖

更多关于 全栈工程师 的文章

 

随机推荐