0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全栈工程师必须掌握这些技能

工程师人生 ? 来源:简书网 ? 作者:酷酷的IT ? 2019-12-27 11:43 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

(1)关键开发技能(硬实力)

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

·至少一门编程语言——你需要精通至少一门编程语言,如Java、PHP、Swift、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、SQL Server等。MongoDB作为文档型数据库,在互联网产品中正被越来越多地使用,对于规模稍大一些的项目,我仍推荐使用MySQL或商用的Oracle作为后端数据库。而Redis这样的内存数据库则可以用于缓存,以提升系统的性能。

·基本设计能力——大部分关于全栈工程师的文章或讨论中,都不会将设计能力作为全栈工程师的关键技能,但我却认为这项技能非常重要。我曾被邀请评估一些软件工程师自己开发的产品,这些产品都有不错的创意,功能实现也很到位,但其中一些一看就不是一个好的产品,用户根本没有使用欲望,原因是这些产品的设计太差了,而那些开发者往往完全没有意识到问题的存在,比如,色彩不一致、排版凌乱、图标不恰当,等等。我所建议的基本设计能力,并不要求你像专业设计师那样能够P出神图、制作奇妙的视觉效果等,但你需要掌握那些最基本的UI设计原则,如色彩的搭配,基本的排版,并具备良好的审美能力和一些基本UI设计能力,这样你做的产品就不会太差了。

在掌握了这些核心技能之后,你可以根据自己的兴趣与发展方向,学习其他方面的技术。比如,如果你对数据处理感兴趣,那么你可以学习大数据方面的技术;如果你对移动互联网更感兴趣,那么你可以学习Swift,开发iOS应用。知识总是相通的,在有了良好的技术基础后,学习其他知识将会变得非常容易。

(2)附加技能(软实力)

稍大一些的项目,你总是需要与同事、干系人或是客户进行沟通。而成功的沟通往往是获得有效需求与建立团队树立信心的第一步。在项目进行的过程中,你更需要通过有效的沟通去确定方案,消除误解,与项目成员协同前进。良好的沟通能力将使你在团队中更具影响力,受到更多尊重和关注。

·问题解决能力——全栈工程师首先是一名工程师,他必须掌握用工程化的方法来解决遇到的各种问题。我在职业生涯中的几乎所有亮点,都与解决问题相关,大到提供整个项目的架构方案,小到以最快的速度解决生产问题,等等。其实,有很多提高问题解决能力的方法,但没有一种比实践更有效。我所见到的优秀工程师,往往能够凭借直觉以最短的时间给出正确的解决方案,但你没有看到的,是在这背后经过大量实践累积而来的经验。

·时间管理——作为全栈工程师,你可角色。你需要合理地分配时间,保证所有的工作能够按时交付。同样在你的业余时间,你还需要花时间阅读和学习,同时你还可能有自己的Side Project。因此,合理地进行时间分配,并对一些关键任务进行计划是很重要的。你或许会感到一些压力,但这反而会激发你的创造力,并能让一切都有条不紊地进行。

·好奇心——对任何工作都抱有好奇心,并愿意不断学习和改善是那些优秀工程师的共同特性。软件开发领域汇集了世界上最聪明的人,各种类型的技术、产品、框架更是日新月异,层出不穷。优秀的全栈工程师需要不断地学习来抓住这些变化,跟上计算机领域发展的脚步。时常有人会问我,做计算机这一行一直会有新的东西产生,要去不断地学习,是不是会很累。我要说的是,对于将持续学习作为一种生活习惯的人来说,学习新东西并不会成为一种负担,反而是一种乐趣。

·领导力——优秀的全栈工程师往往会被赋予技术Leader甚至项目管理者的角色。成为管理者并不是让你去支配其他人,或让其他人替你做事。管理者需要理解你的团队成员的长处与不足,并知道如何以服务的态度使团队获得最大化的产出。我见过一些非常优秀的工程师,当他们被安排去管理团队时,他们是排斥的,他们往往更愿意独自工作。但我想说,成为管理者将会使你更加睿智、可靠和值得他人信赖,也会对你未来的职业生涯带来极大的益处。因此,当机会到来时,请将它视为挑战,不要排斥它。

有经验的技术领导者在招聘时,往往会同时考察应聘者的技术能力与上述附加技能,而对于初级程序员的招聘来说,那些附加技能往往更被优秀的技术公司所看重。开发技能是你的硬实力,而附加技能则可以看作是你的软实力,只有同时具备这两方面技能,才能成为一名优秀的全栈工程师。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1592

    浏览量

    69690
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    从线性到非线性:工程师必须掌握的Abaqus三大非线性来源

    硕迪科技为您深入剖析Abaqus三大非线性来源:材料非线性、几何非线性、边界条件非线性。掌握工程师必备的非线性分析核心知识,理解复杂工程问题的本质
    的头像 发表于 08-07 18:08 ?250次阅读
    从线性到非线性:<b class='flag-5'>工程师</b><b class='flag-5'>必须</b><b class='flag-5'>掌握</b>的Abaqus三大非线性来源

    电源工程师的核心技能树体系

    电源工程师的核心技能树体系需覆盖从基础理论到专业实践、工具应用及行业适配的链条能力。以下是系统化的技能框架,按知识层级和应用场景展开,帮助从业者明确能力提升路径: 一、基础理论层:核
    的头像 发表于 06-05 09:44 ?915次阅读

    物联网工程师为什么要学Linux?

    物联网工程师需要掌握Linux的主要原因可以从技术生态、开发需求、行业应用及就业竞争力四个角度来分析: 一、技术生态与行业适配性 1)嵌入式开发的主流平台 物联网设备往往基于嵌入式系统开发
    发表于 05-26 10:32

    一个优秀的射频测试工程师需要具备哪些技能

    一个优秀的射频测试工程师需要具备哪些技能?在无线技术高速发展的今天,射频(RF)测试工程师是确保通信设备性能与用户体验的关键角色。从复杂的调制方案到无处不在的干扰,从功耗优化到标准合规性,工程
    的头像 发表于 05-16 10:08 ?657次阅读
    一个优秀的射频测试<b class='flag-5'>工程师</b>需要具备哪些<b class='flag-5'>技能</b>?

    如何成为一名合格的KaihongOS北向应用开发工程师

    :参加相关的培训、研讨会或会议,不断提升自己的技能。 10. 获得认证 专业认证:如果可能,获取相关的专业认证,这可以增加你的可信度和市场竞争力。 成为一名合格的北向应用开发工程师需要时间和努力,通过不断学习和实践,你将能够掌握
    发表于 04-23 06:46

    硬件工程师手册(全套)

    的性能价格比达至最优。 5、技术开放,资源共享,促进公司整体的技术提升。 §1.2.1 硬件工程师基本素质与技术 硬件工程师掌握如下基本技能: 第一、由需求分析至总体方案、详细设
    发表于 04-22 15:05

    如何成为一名嵌入式软件工程师

    、Java等)和软件开发工具,还需要对硬件的工作原理有深入的理解。 在团队中,嵌入式软件工程师往往扮演着核心角色,他们的工作直接关系到产品的性能、稳定性和用户体验。 02掌握核心技能与知识
    发表于 04-15 14:37

    Allegro工程师能力升级建议 工程师技能如何升级进阶

    根据Cadence认证体系及中国企业需求,Allegro工程师能力分三级,分别是初级、中级、高级工程师。那么这三种工程师技能如何升级进阶? ? 1、初级
    的头像 发表于 03-31 11:39 ?785次阅读

    如何成为嵌入式开发工程师

    如何成为嵌入式开发工程师? 成为嵌入式开发工程师通常需要掌握一系列技能和知识,并且在实践中不断积累经验。以下是一些基本步骤和建议: 1. 基础教育:- 获取电子
    发表于 02-19 10:39

    年薪30万的嵌入式工程师,究竟需要掌握哪些技能

    随着智能硬件、物联网、智能汽车、自动化控制等领域的迅速发展,嵌入式工程师的需求也水涨船高。尤其是在全球化和技术加速的时代,嵌入式开发不仅是一个热门行业,还是跨学科技术与创新的交汇点。对于那些具备扎实
    的头像 发表于 01-16 10:59 ?1429次阅读
    年薪30万的嵌入式<b class='flag-5'>工程师</b>,究竟需要<b class='flag-5'>掌握</b>哪些<b class='flag-5'>技能</b>?

    如何成为一名合格的北向应用开发工程师

    自己的技能。 10. 获得认证 专业认证 :如果可能,获取相关的专业认证,这可以增加你的可信度和市场竞争力。 成为一名合格的北向应用开发工程师需要时间和努力,通过不断学习和实践,你将能够掌握所需的
    发表于 01-10 10:00

    电力电子工程师拿到50W以上的年薪需要具备哪些技能

    高薪电力电子工程师需要具备的技能
    的头像 发表于 11-05 09:44 ?1022次阅读
    电力电子<b class='flag-5'>工程师</b>拿到50W以上的年薪需要具备哪些<b class='flag-5'>技能</b>