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

    文章

    1564

    浏览量

    68395
收藏 人收藏

    评论

    相关推荐

    嵌入式软件工程师如何提升自己?

    的发展打下坚实的基础。 2.掌握专业技能 除了基础知识外,嵌入式软件工程师还需要掌握专业的技能。这包括熟练
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    。他们之间的紧密合作对于成功开发出高效的嵌入式系统至关重要。 嵌入式软件工程师和嵌入式硬件工程师在工作中有着不同的技能要求和专业知识。嵌入式软件工程师需要具备扎实的编程基础,熟练
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    工程师掌握的10种精密波整流电路,你都吃透了吗?

    工程师掌握的10种精密波整流电路
    的头像 发表于 03-12 19:45 4567次阅读
    <b class='flag-5'>工程师</b>必<b class='flag-5'>掌握</b>的10种精密<b class='flag-5'>全</b>波整流电路,你都吃透了吗?

    嵌入式工程师需要掌握哪些技术?

    嵌入式工程师需要掌握哪些技术? 嵌入式系统是当今科技领域中的重要组成部分,它们存在于我们生活的方方面面,从智能手机到汽车控制系统,从家电到医疗设备。因此,对于那些想要进入嵌入式行业的人来说,掌握
    发表于 03-04 16:38

    优秀电源工程师需要哪些必备技能

    就带大家细数一下优秀电源工程师具备的那些技能。一、新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科领域。为了帮助大家更好地掌握电源开发相关的关键知识点,我们整理
    发表于 01-29 11:29

    【2023电子工程师大会】单片机/RTOS/Linux工程师

    【2023电子工程师大会】单片机/RTOS/Linux工程师修炼之路ppt
    发表于 01-03 16:31 40次下载

    优秀电源工程师的必备技能大揭秘!

    就带大家细数一下优秀电源工程师具备的那些技能。新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科领域。为了帮助大家更好地掌握
    的头像 发表于 12-19 08:23 1638次阅读
    优秀电源<b class='flag-5'>工程师</b>的必备<b class='flag-5'>技能</b>大揭秘!

    自动化工程师必须掌握的六大知识面

    对于电气工程师来讲,图纸是相当重要的,所以制图软件是必须掌握的,这是毫无疑问的。而且电路设计和电气识图这两个知识点是相互关联的,会画电气图肯定看得懂电气图,电气图看多了,也能设计电气图。这个地方需要根据项目的实际经验来学,多看
    的头像 发表于 12-07 09:31 1310次阅读
    自动化<b class='flag-5'>工程师</b><b class='flag-5'>必须</b><b class='flag-5'>掌握</b>的六大知识面

    资深工程师教你轻松掌握差分放大电路

    资深工程师教你轻松掌握差分放大电路
    的头像 发表于 11-23 18:20 793次阅读
    资深<b class='flag-5'>工程师</b>教你轻松<b class='flag-5'>掌握</b>差分放大电路

    工程师修炼之路,韦老师亲身分享!邀你报名2023年电子工程师大会

    、应用案例及开源硬件项目。我们相信,这将是一次难得的学习和交流机会,也是您提升自己、深度了解电子技术与产业的很好机会! 作为大会特邀嘉宾, 百问网科技创始人兼技术总监-韦东山老师 将莅临现场,为大家带来《 单片机/RTOS/Linux
    的头像 发表于 11-16 16:20 374次阅读
    <b class='flag-5'>全</b><b class='flag-5'>栈</b><b class='flag-5'>工程师</b>修炼之路,韦老师亲身分享!邀你报名2023年电子<b class='flag-5'>工程师</b>大会

    工程师的修炼之路,韦东山老师亲身分享!邀你报名2023年电子工程师大会

    、应用案例及开源硬件项目。我们相信,这将是一次难得的学习和交流机会,也是您提升自己、深度了解电子技术与产业的很好机会! 作为大会特邀嘉宾, 百问网科技创始人兼技术总监-韦东山老师 将莅临现场,为大家带来《 单片机/RTOS/Linux
    的头像 发表于 11-16 10:00 461次阅读
    <b class='flag-5'>全</b><b class='flag-5'>栈</b><b class='flag-5'>工程师</b>的修炼之路,韦东山老师亲身分享!邀你报名2023年电子<b class='flag-5'>工程师</b>大会

    FPGA工程师需要具备哪些技能

    的状态机以及高级逻辑电路。 FPGA工程师需要熟练掌握HDL语言,并能够根据需要灵活使用这些语言。他们需要知道如何将各种逻辑电路和存储器组合在一起,以实现所需的功能。同时,FPGA工程师
    发表于 11-09 11:03

    如何成为一名优秀的嵌入式工程师

    利用指针直接操作内存,这有助于你更高效地使用内存。 3.熟悉数据结构:C语言提供了许多基本的数据结构,如数组、链表、、队列等。作为嵌入式工程师,你需要熟悉并掌握这些数据结构的特点和用
    发表于 11-07 15:36