资讯产业, 这个产业主要是以网路服务举凡网站, app 为主. 有以接案为主的公司(帮人架设官网, 活动网站.etc.), 有做自己产品的公司(ex: facebook , instagram 做自己的服务.etc.) 而这个产业中充满工作机会与大量涌入人潮的工程师, 就是我们今天要聊的. 今天主要针对做自己产品的公司里面的各种工程师(前端, 后端, devops, data 相关.etc.)来聊聊, 对于这样的工程师需要具备什么样的特质呢? 我归纳出以下几点.
持续主动学习的心自己主动去寻找并解决问题答案的能力快速的应变能力且听我娓娓道来,这样的工程师跟一般行业有什么不同呢?你可能会听到大家说“这个产业需要有一颗持续主动学习的心“然后心里想说,哪个行业不用?没错,这行确实就是特别需要!没有做到老学到老的觉悟,可千万不要轻易尝试转行过来.
为什么会这么说呢? 你可能会常常听到有的行业做了3.5 年变资深了成了主管, 因为他在工作上累积了够多的经验, 然而工程师却不一定是这样. 因为这个技术的东西变化实在太快, 别说3, 5 年了, 1, 2 年可能就把过去你熟悉的东西淘汰掉了, 你如果不学习新的事物, 那你就只能找到或停留在技术停滞的公司, 而不愿意在开发单位上进步与投入成本的公司通常也拿不到什么好薪资. 于是, 这行业就有了一些做了3, 5 年却只在自己熟悉的事物上停滞的工程师, 他们在重视工程师的公司技术面试下很难过关.
既然一直都需要学习, 那到底是什么时候学习呢? 你一定要知道”ㄧ份工作是请人来解决问题的, 不是来学习的.” 千万不要抱着一颗来学习的心态找工作,即使你是junior, 即使公司愿意用你跟你说来这边我们有资深的同事能让你学习, 你也要想着我要能快速上手提供战力! 程式的世界太大太广, 一个人很难什么都接触过, 换了一间公司他所需要的技能与know how 可能都不同, 你必须要抱着一种”虽然我没接触过, 但我有信心在短时间内快速上手”的心态. 而这也是资深工程师所具备的能力之一. 有点像是绝世武功有千百种, 但当你的内功提升到一定程度时, 就能越快习的一项新的武功.
再来接着说, 有些工作他每天要做的事情就是固定的事情, 以我自身过去在星巴克打工的例子来说, 当你摸熟透每个环节后, 精进的方式可能像是更精准地抓物料, 更快速的关店流程, 面对短时间大量涌入的客人们如何兼顾快速又能让他们满意地得到饮料.等等. 精进这些日常的routine. 那么工程师呢? 资讯产业里的工程师的日常其实并没有什么routine , 每天主要的工作内容是开发功能与debug (解决程式上的各种问题). 每天遇到的问题可能都不一样.
一下说东西变化很快, 一下又需要解决各种城市问题,那究竟怎么解决呢?答案就是”google”,换句话说就是寻找并解决问题答案的能力.写程式是一种不同的程式码都能达到一样的成果的事情,每个人写出来都不一样,只有讨论出来的最好,没有标准.在这当中时常常会遇到各种未知的问题,需要去抽丝剥茧确认真正问题的所在并解决他.再强调一次这个能力就是”自己主动去寻找并解决问题答案的能力”,
这是要当一个工程师完全无法缺少的一个能力. 而这也是为什么每当出问题问工程师发生什么事时, 工程师总是会倾向保守的回答直到确认问题. 常常出现“可能” “好像” “应该” 等等措辞(而这样的行为反应与老板对话回答时常常让老板觉得头痛). 因为没有标准答案, 累积足够的经验过去经验法则不一定能让你马上面对求救的同事说”这个就是哪里的问题”, 不过确实能够更快速的帮助我们找出问题真正的错误原因.
在资讯产业程式的领域中跟其他世界不太一样,所有东西都是透明的.基本上你想得到的best practice都在网路上找得到.想要转职当工程师?可以,网路上有满满的资源等着你学习.程式究竟怎么写才是最好?直接与厉害的同事们一同讨论或者参考外面的大神都怎么做的吧!程式的世界中有个东西叫做”开源”,厉害的人们会乐于分享他们所写出来的任何东西,而每个东西都有其解决的事情.这个概念有点像是各个三星米其林的大厨都乐于赤裸裸的分享他是怎么去准备食材烹饪这道菜的概念.
你可能会觉得那不是什么都可以抄袭了吗?没错,就是这么容易.你写的东西只有一种东西不会被大家知道,就是商业逻辑的秘密. (想象一下能做到foodpanda外送服务的公司应有尽有,但她究竟怎么去设计她的叫车逻辑,业务逻辑,他的business model每间公司都不一样.),所以请不要吝啬的分享你的程式码,你的逻辑思维,更不要吝啬地去讨论去改善程式码.
至于为什么说需要快速的应变能力呢? 对应客户不也需要快速地应对能力? 写程式跟对应客户很不一样的是, 你面对的是电脑, 一个由逻辑组成的世界, 没有任何妥协. 不论是在开发过程中还是突然发现bug(程式逻辑上的错误), 我们都得快速的反应与持续改进. 想想客户出问题时你们可能可以互相妥协说服客户找到最好的合作解决方式, 但程式出问题时, 电脑是不会给你任何机会与转圜余地的(电脑是个只有逻辑的世界, 电脑就是看不懂才会报error 啊), 不能时常处在”怎么可能”, “明明就没问题” 的状态, 必须要快速转换调适心情解决问题.
综合上勉所述的种种, 为了找出所谓资深的工程师, 技术环节的面试就尤其重要! 不论你的学经历多漂亮, 如果你没办法让面试官觉得你的技术能力有到达期标准, 你很难拿到这份offer (大多时候, 学经历基本上只是让你过了人资这关的条件). 为了确认团队成员都有一定的common sense, 常常一个面试需要先电访(电访时就开问) 有些需要先做作业, 甚至到了现场还需要2.3 个小时来做技术面试而这个时间可能都还不够.
“当考到他知道的东西时, 我们想知道他到底是不是真的了解, 并且有能力实做出来.”
“当考到他不知道的东西时, 我们想知道他有没有办法与我们产生良好的沟通讨论与互动, 正向的尝试去解决它.”
反过来想, 如果一间公司的面试很随意很轻松就希望你立刻去上班, 要马不是你是个大神你够厉害公开呈现的资讯(过去战绩, 软硬实力)已经足够让人信赖, 要马就是他们只是需要有个人进来补这个螺丝钉.
我想看到这有些人应该还是会觉得我讲得很抽象, 毕竟隔行如隔山, 但一个资深的工程师他能做到的可能并不一定是更快速的开发出一个产品, 而是做出一个更完整更不容易出问题更能扩展架构的产品. 一个资深的工程师在了解全貌前不会轻易的说“这个简单我只需要一个礼拜”, 更不会轻易的说”不会”, “做不到”.
就我个人过去面试人的经验看下来,大小公司,主管阶级的,自己创业的人都面试过.我只能说,即使是顶着漂亮的学经历的知名公司主管,没有持续在进步的人真的不少,这一行很现实的就是“有能力的人喊价”.高端的工作真的很缺,而每间公司愿意给这样的人的薪资上下限都不一样.今天并没有要去探讨一个工程师应该有什么样的能力,因为个人这么多场面试看下来,常常我们会觉得能力是必备是一回事,然而真的在面临抉择时,又觉得特质更为重要.这也是为什么一间公司有着好的文化如此重要.大家能够知道最后最重要的原则是什么.
“持续保持好的人格特质能够带你走得更远”
最后来讲讲在这样的产业中当一个工程师有什么好处吧!
薪水(能力决定薪水, 即使是junior 的职缺, 对一些产业来说可能都比较高了)不受空间限制(无论到哪个国家哪间公司, 都需要一样的技能, WFH 正夯)工作机会, 接案机会多(不管什么产业什么领域, 都会需要一个网站一个app)生态圈(所有东西都在网路上, 可以看到各种免费资源, 技术讨论, 社群以及技术文章. 就看你自己的自律与热诚程度)在进入这个圈子之前, 或者在这个圈子之中, 可以试着多关注并长期观察自身的领域. 转职工程师的现象持续很久了(尤其是前端), 外面的课程动辄10 几万, 然而成功转职的人个人估计顶多10, 20% 实在是很辛苦. 希望今天大家在看完这篇文章后, 能先有一个心态上的认识, 希望这篇文章有帮助到大家!
编辑:hfy
-
工程师
+关注
关注
59文章
1571浏览量
68545
发布评论请先 登录
相关推荐
评论