高级工程师意味着什么?
ChatGPT的回复:高级工程师对编程语言、软件设计原则和开发方法有深刻的理解。
- 开发方法
开发方法学是旨在使团队有效的组织方法。这些对我们来说可能很无聊,但我们希望你在这方面有专业知识。
我已经对非敏捷开发方法产生了排斥,更重要的是,我认为Scrum不够敏捷,它的过度使用最终帮助了项目经理的自我,而不是程序员。
我会在开发人员中寻找批评的能力,知道Scrum是不够的,你还必须知道它的缺点,并提出解决方案。
我还想看看开发人员是否了解Scrum之外的其他方法,比如RUP。常识会帮助你形成更好的观点,并表明你愿意在你的领域之外学习。
一旦您熟悉了软件设计模式,在实践中实现它们可能是相当具有挑战性的。我个人就面临过这个挑战,因为在编码时回忆和应用它们并不总是那么容易。但是每次编程时强迫自己做这个检查肯定会让你领先一步。
- 软件设计原则
这些原则可能一辈子只读一次就会忘记,但真正熟练的程序员却每天都在使用。
明星工程师比他的同行更有价值的原因并不仅仅是编程。伟大的软件工程师具有令人难以置信的创造力,能够看到其他人看不到的概念模式。
每次面试结束后,在给应聘者写反馈时,回复:
我建议您有关Python设计模式的内容
一旦您熟悉了软件设计模式,在实践中实现它们可能是相当具有挑战性的。我个人就面临过这个挑战,因为在编码时回忆和应用它们并不总是那么容易。但是每次编程时强迫自己做这个检查肯定会让你领先一步。
- 开发语言
为什么我们在Python中使用len(array),而在其他语言中我们可以使用array.length()?这背后有什么优化吗?
你对自己的语言了解多少?
在你成长的过程中,读一本关于你使用的语言的书是绝对必要的。任何高级工程师的面试都会包括一些你只有通过阅读才能知道的高级问题。
- 代码技能怎么样?
几个月前我买了LeetCode高级会员,这是一个很好的决定,让我找到了现在的工作。在此过程中,您将从其他用户那里发现有趣的数学好奇心、模式和优化。
模拟大公司的面试对了解大公司的结构也很有用。
- 做人
我总是推荐《如何赢得朋友和影响别人》这本书,它是那些每个人都应该读的书之一,以获得更好的生活关系。
经验丰富的工程师应该能够领导一个团队,你需要很强的社交能力才能担任这个职位。