软件作业的一个令人担忧的趋势
工程类职位的面试极其杂乱, 压力大, 而且我必须为所有勇于接受面试以完成作业梦想的人鼓掌, 并对他们表示赞赏.
曩昔几年里, 我一向在为不同的公司面试工程师, 但最近, 我前所未有地拒绝了很多应聘者. 我还是用相同的问题, 没有任何变化, 问题是人们根本不知道高档工程师意味着什么, 而这些专业人员比以往任何时候都更稀缺.
编程 10 年并不能让你成为高档工程师. 这与时间无关.
以下是我的尽力, 只为探讨软件开发作业高档工程师终究意味着什么.
在互联网上发现的盛行笑话.
什么是高档工程师?
我向 ChatGPT 询问了关于什么是高档软件工程师的通用描绘, 成果它一语中的:
高档工程师对编程言语, 软件规划原则和开发办法论有深入的了解.
— ChatGPT, 在抢走咱们的饭碗之前.
这正是经典高档面试的通用结构:
开发办法论
开发办法论是旨在提高团队功率的安排办法. 这些对咱们来说或许很枯燥, 但咱们期望你能掌握这方面的专业常识.
在多年的作业中, 我对非灵敏开发办法产生了排斥心思, 不只如此, 我以为 Scrum 还不够灵敏, 它的详尽运用终究会让项目经理而非程序员的自负增强.
互联网上的笑话.
在面试时, 我期望开发人员具备批判才干, 由于仅仅了解 Scrum 是不够的, 你还必须知道它的缺陷, 并提出处理方案.
我还想看看开发人员是否了解 Scrum 和 Kanban 之外的其他办法, 比如 RUP. 常识能够协助你构成更好的观点, 并标明你愿意学习自己范畴以外的常识.
软件规划原则
这些原则或许一辈子只读一次就会忘记, 但真实熟练的程序员每天都在运用.
明星工程师之所以比同行更有价值, 原因并不局限于编程. 伟大的软件工程师具有惊人的创造力, 能看到他人看不到的概念形式.
Reed Hastings. Netflix 联合创始人.
每次面试结束后, 在给应聘者写反馈时, 我立誓每次都能复制粘贴相同的回复:
用规划原则筛选提名人真是太容易了…只要在非常奇怪的情况下, 我才会发现有人能答复所有这些问题.
这是一个笑话, 记录了大多数开发人员在被问及规划形式时的表情.
当你了解了软件规划形式之后, 在实践中完成这些形式或许会适当具有应战性. 我自己就曾面对过这样的应战, 由于在编码时回忆并应用它们并非易事. 但是, 强迫自己在每次编程时进行这一查看, 一定会让你领先一步.
编程言语
为什么咱们在 Python 中运用 len(array) 而在其他言语中运用 array.length()? 这背面有什么优化吗?
你对自己的言语了解多少?
在你生长的过程中, 阅览一本关于你所运用的言语的书是绝对必要的. 任何高档工程面试都会包括一些只要经过阅览才干了解的高档问题.
态度欠好扼杀了许多面试时机
你们能快点供给反馈吗? 现在有其他公司向我宣布邀请.
- 一位提名人在面试时说的话, 其时他有时间向咱们提出有关该职位的问题.
公司在供给高薪的同时, 也在寻找优秀的人才, 而其间的一部分便是做个好人.
面试时, 咱们不只要评估应聘者的常识, 还要评估她/他的态度. 在我几个月前做的一个具体作业中, 公司特别要求咱们寻找”善良, 诚笃”的人, 而不是优秀的程序员.
与一个虚荣的人共事是非常困难的, 他们会让你一向感觉欠好, 并在团队中形成欠好的氛围. 从长远来看, 这样的人对公司形成的危害或许是非常大的.
态度恶劣或说谎或许意味着在选拔过程中被当即筛选.
我一向向我们推荐<如何赢得朋友和影响他人>一书, 这是一本每个人都应该读一读的书, 以便在生活中拥有更好的人际关系.
互联网上找到的笑话.
记住, 经历丰富的工程师应该能够领导一个团队, 你需求真实强大的社交才干才干胜任这个职位.
初级/中级开发人员要成为高档开发人员, 应该读些什么?
这里有一些让你生长为高档开发人员的绝佳资源:
代码技术如何?
几个月前, 我购买了LeetCode Premium, 这是我找到现在这份作业的一个伟大决议. 在运用过程中, 你会从其他用户那里发现风趣的数学奇闻, 形式和优化办法.
模拟大公司的面试也有助于了解他们的安排结构.
瞄着星星, 才有或许够着天空 — Reinhold Niebuhr
Leetcode 的大公司问题列表.
还有几个网站与 LeetCode 类似, 如AlgoExpert和CodeSignal.
严酷的本相
即便你阅览了大量的材料, 每天进行练习, 并积累了丰富的经历, 你也有或许由于不符合公司的要求而被拒绝.
几天前, 我在听一个播客, 他们谈到了一个实验: 让孩子们处理问题, 并把他们分成两组:
当让他们接触新问题时, 被表彰有意志的孩子倾向于挑选更难的问题来处理, 而那些被说成聪明的孩子终究在他们处理的问题上体现得更差.
这说明, 你唯一能盼望自己做到的便是坚韧不拔和坚持不懈. 这些不只是确保你未来作业的技术, 也是咱们对高档工程师的主要期望.