全栈工程师

关键开发技能(硬实力)

一、Git/GitHub,必须掌握如何使用Git来掌握和分享你的代码。Git作为关键技能的第一条,是因为它不仅仅是一个代码管理工具,更是一种推荐的工作方式。它使你能在任何地方进行开发,高效地管理任何大小的项目,通过Git还能与其他团队成员进行分布式工作,大大提升工作效率。

二、至少一门编程语音,JAVA、PHP、C#、Python、Ruby、Perl等,因为大多数核心业务处理都需要这门语言来写。不但要掌握这门语言的语法,还需要非常熟透如何基于这门语言进行项目的架构、设计、实现以及测试。比如Java,你需要掌握面向对象的设计和开发,设计模式的运用,基于J2EE各个组件的开发等等。

三、运用开发框架和第三方库,流行的开发语言,一般都伴有出色的开发框架,比如JAVA的Spring、MyBatis、Hibernate,Python的Django,PHP的thinkphp、yin,nodeJs的expres等。熟练使用这些开发框架或第三方库能够避免重复发明轮子,是对产品或项目在质量与安全方面的最有效的保障。

四、前端技术,一个产品除了实现所需的功能之外,是否好用(用户体验)也正在成为评判一个产品是否成功的重要标准。至少需要掌握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标签方便日后的回顾。最有意思的是,当在不断记录和更新博客的时间,还能通过博客认识世界各地的程序员。
四、参加线下活动,与以前程序员总是宅在家里不同,现在的年经程序员们更愿意分享和交流。很多网站也会组织不同技术主题的线下活动,在这些活动中可以听到一些技术大牛人的分享,还可以拓展的人脉。
全栈工程师决不是一夜练成的,需要打好技术基础,强化核心技能,并持续学习。终有一天将体会到自由运用技术,开发出优秀产品所带来的乐趣。

时间: 2024-12-26 19:23:03

全栈工程师的相关文章

“全栈”工程师 请不要随意去做

今天我来给大家说说 "全栈工程师" 的事儿. 写这篇文的背景原因: 很简单就是最近越来越多的人想做[全栈工程师],他们的目标就是全栈,他们才入行短短1-2年,甚至刚从培训班出来:我的目标是做全栈,我啥都要学会,啥都会写,这样我就是大牛了,可以挣大钱,就算创业,我也不用招那么多人,一个人搞定一个产品,融资上市 ,CEO白富美,balabala... 我给他的回复是: 去你xx的,你连JS 数组和对象用法都搞不清,抄几个效果,看几个视频教程摸索摸索就要做万能人了? "全栈&quo

全栈工程师?

作者:肖文峰链接:https://zhuanlan.zhihu.com/p/20091607来源:知乎 最近参加一个技术社区活动,在讨论到"CTO的技术深度和广度哪个更重要"的话题时,我想起社区里面常常提到的"全栈工程师"的事情,于是表达了一些观点.临场未必能够清晰表达,所以下笔,希望能够引起一些讨论,避免年轻工程师误入歧途. 长期以来,社区就有人在提"全栈工程师",还有一些公司直接挂出名为"全栈工程师"的招聘职位.那什么是全

教你成为全栈工程师

教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师(2016-04-04) 教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别(2016-04-06) 教你成为全栈工程师(Full Stack Developer) 二-半小时学会网站开发(2016-04-08) 教你成为全栈工程师(Full Stack Developer) 三-网站后端服务器那些事(2016-04-10) 教你成为全栈工程师(Full Stac

《web全栈工程师的自我修养》阅读笔记

在买之前以为这本书是教你怎么去做一个web全栈工程师,以及介绍需要掌握的哪些技术的书,然而看的过程中才发现,是一本方法论的书.读起来的感觉有点像红衣教主的<我的互联网方法论>,以一些自己的经历和感悟来阐述web全栈工程师需要具备哪些素质,而不仅仅是需要哪些技术.这算是我买的书中看的最快的一本书. 在阅读这本书之前,我对全栈工程师的理解还停留在node阶段,随着node在服务端的风生水起,有一段时间会认为使用nodejs作为服务端开发,前后端统一使用js开发,便是所谓的全栈开发,比较流行的技术栈

技术栈选择与全栈工程师

很多朋友的第一门语言是一个强类型语言.可能是C/C++/Java/C#. 做到一定年份了,积累了丰富的经验,发现自己好像大多数东西能做,客户端.服务端.手机.游戏,很多场景自己都可以进行开发. 在各种场景下都能开发. 在各种场景下都遇到有力的竞争对手. 竞争对手貌似不少人比自己开发效率高. 类似这样的技术人员,我们可以称之为C蛮. ---------------- C蛮和队长的故事 -------------- C蛮浑身肌肉,手持精金巨斧. 无论看到什么怪物,嗷呜一声吼.狂暴+吹大+高等魔化武器

读&lt;专栏&#183;谈谈全栈工程师&gt;

原文地址:http://leihuang.org/2014/12/12/read-Full-Stack-Developer/ 昨天晚上看海贼王给看睡着了(11点的左右),导致早上5点就醒了,怎么办呢,找点东西打发点时间,本来想看看知乎的,但是最近对知乎的氛围很失望,总感觉好浮躁的氛围,当然这些跟我关注的人有关系,改天清理清理. 犹豫了半天,想着还是看本薄点的书吧,下了个豆瓣阅读软件,因为以前没用过,本来想找书,结果点进了豆瓣专栏,还以为里面是书.进去之后才发现是别人写的专栏.也没想太多,看到有科

Web全栈工程师修养

全栈工程师现在是个很热的话题,如何定义全栈工程师?在著名的问答网站Quora上有人提出了这个问题,其中一个获得了高票的回答是: 全栈工程师是指,一个能处理数据库.服务器.系统工程和客户端的所有工作的工程师.根据项目的不同,客户需要的可能是移动栈.Web栈,或者原生应用栈 深以为然,所以,全栈工程师应该分为Web全栈和App全栈.恰巧最近看了本有关Web全栈工程师的书,记录下其中一些观点. 笔记 应该从能力和思维方式两方面来判定一个人是否是一个合格的全栈工程师. 对于一些经理来说,宁可雇佣多个可管

《web全栈工程师的自我修养》 读书笔记

作者:余果. 人民邮电出版社.2015年9月第1版. 值得轻快一读,另外此书里推荐的书籍很好.Full-Stack Engineer! 一.如何成为全栈工程师 1 定义:全栈工程师是指,一个能处理数据库.服务器.系统工程和客户端的所有工作的工程师.根据项目不同,可能分为移动栈.web栈,或原生应用程序栈. 2 研发流水线 产品经理 >交互设计>>视觉设计>>前端开发/后台开发>>测试>>发布 3 代表性的全栈框架 LAMP.MEAN 4 建议:先精后广

全栈工程师的未来发展如何?

在如今这个信息高速发展的今天,信息更新如此的快,需要一人掌握多项技能才能胜任时代的发展,就是因为这个原因,新霸哥发现了全栈工程师在2016年很火的,无论是从搜索量还是从身边的朋友了解到,这将是一个很火的行业,所以说全栈工程师是未来的一个发展趋势. 在我们生活的周围,有的人在大公司上班,也有人在小公司上班,不同的环境可能给人不同的感受.大公司一般都会培养你成为某一个领域的专家,但是小公司就需要你什么都懂一点,所以说小公司都喜欢小而美的团队,也就是全栈工程师. 新霸哥发现大公司和小公司在解决问题上都