成为优秀软件工程师的秘诀
成为一名优秀的软件工程师应该是所有专业人士奋斗的目标,但是会写代码的人和优秀的软件工程师之间有什么区别呢?
如果您向 100 位招聘经理提出这个问题,您可能会得到 100 个不同的答案,这是因为该领域非常广泛,并且每家公司都优先考虑特定技能。
如果你问我这个问题,我会说:
“优秀的工程师是具有出色的解决问题能力、广泛的技术知识、有效沟通能力、敏锐的商业头脑和富有同情心的人”。
掌握基础知识
科技行业创新速度飞快,新的编程语言、框架和工具层出不穷。人们常犯的一个错误就是盲目跟风,总是试图追赶潮流,这会导致倦怠和大量时间的浪费。
软件的基本原理很少改变,专注于它们可以让你开发出一系列经得起时间考验的永恒技能。
你很容易陷入随处可见的炒作驱动的开发浪潮中,但如果你花一点时间反思并想想你花在学习不再相关的趋势上的时间,你就可以更明智地利用这些时间。
所有软件工程师都应该学习的基础知识:
- 数据结构和算法
- 编程范式(OOP 和函数式)
- 测试程序(单元、集成和功能测试)
- 安全性(OWASP 前十名)
- 联网
- 操作系统
- 系统设计
- 云计算
创建辅助项目
创建开源副项目是提升您的技术能力并向潜在雇主展示您的技术技能的终极方法之一。
在创建新项目时,明智的做法是不要雄心勃勃,而要构建一个你确信能够坚持到底直至完成的项目。与其雄心勃勃、未完成的项目,不如构建几个规模较小、结构精良的项目来展示你的最佳成果。
保持乐趣,用它们进行实验,并获得公开学习的好处。
如果您需要灵感,这里有一个优秀的资源库,其中按难度对想法进行分类。
培养商业敏锐度
商业敏锐度,也称为商业头脑、商业意识和商业理解力,是指以可能带来良好结果的方式敏锐而迅速地理解和处理商业形势(风险和机遇)。
在您职业晋升的过程中,培养强大的商业敏锐度至关重要,因为它可以帮助您了解产品的作用原理以及您的雇主如何创造收入。
要培养的关键技能:
- 了解组织的“全局”,了解业务的关键驱动因素如何相互关联,如何共同实现盈利增长,以及如何与工作相关
- 了解关键的公司沟通和数据,包括财务报表
- 运用知识做出正确的决策
- 了解行动和决策如何影响公司的关键指标和领导目标
- 有效地向其他员工、经理、高管和公众传达想法
软技能
个人属性使某人能够与其他人有效和谐地互动。
软技能是雇主在招聘工程师时最看重的技能之一。同理心、批判性思维和沟通能力等能力对于公司文化和成功至关重要。
软件工程师必备的软技能:
- 沟通
- 创造力
- 团队合作
- 解决问题
- 接受批评
- 批判性思维
- 适应性
- 足智多谋
- 冲突管理
- 领导
- 时间管理
为了增强你的软技能,请考虑使用以下技巧:
- 确定需要改进的领域
- 练习培养你的软技能
- 向你的经理和同事寻求反馈
福利
在快节奏的行业中工作,时间紧迫,整天坐在办公桌前,努力跟上行业趋势,同时还要兼顾社交生活,这可能会让人感到疲惫、有害,并导致倦怠。
工作不应该控制你的身体或精神健康,因为我们应该为了生活而工作,而不是为了工作而生活。
以下是一些有助于改善您的健康的建议:
- 休息一下——经常休息,不要长时间盯着屏幕,比如散步、给朋友打电话、看书、远离科技产品
- 饮食——健康饮食,多喝水
- 锻炼——保持健康并缓解压力
- 培养爱好——抽出时间做你喜欢的事情
- 冥想——花些时间放松和呼吸
- 社交——尽可能多地与朋友和家人在一起
职业发展和目标
设定与你的职业发展路径相符的可实现目标。与你的经理进行一对一沟通是达成目标的最佳时机。始终设定目标是确保你不断进步的好方法,也是获得晋升和奖金的好途径。
如果您的公司有技能矩阵,那么调整您的目标可以确保进步。
在工作环境之外设定目标也是很好的,始终致力于克服自己最薄弱的领域,并让自己走出舒适区。
文章来源:https://dev.to/jamielivingstone/tips-to-become-a-great-software-engineer-10gf