摘要
这篇文章列出了我希望在职业生涯早期就能理解的事情。虽然没有时间机器,但我可以与你分享这些经验!
我们的生活和职业生涯是一段旅程,所以我们应该期待我们会在这个星球上一直学习。只要我们在生活中前进,我们就有经验可学。回顾我的职业生涯,有很多课程我希望早点能自我教会。虽然我不能和年轻的自己交谈,但我可以与你分享这些!
1 – 持续创造
继续构建东西。不管它们是否是价值百万美元的产品想法。构建东西来学习它们是如何工作的。
我们构建东西的目标,尤其是在我们软件工程旅程的早期,并不是要迅速致富。目标是练习和学习。
除了尽早理解没有捷径这一事实外,精通没有捷径。我们需要练习 - 因此建设软件。
2 – 重新发明轮子
我们经常被告知不要重新发明轮子。如果别人已经做过了,那就没有重复做的意义。
但这并不总是好建议。
重新发明轮子是理解某事如何工作以及其背后的复杂性的最佳方式之一。这可能不是在有付费客户的生产环境中追求的最佳事物,但对于学习来说非常棒。
如果你对如何工作的事情感到好奇,或者对系统或技术的复杂性感兴趣——尝试自己构建它。你几乎可以保证会学到一些关于你正在深入研究的内容。如果你没有的话,我会感到震惊!
3 – 公开学习
记录你的旅程,让其他人可以与你一起学习。这可以在许多方面帮助加强学习,因为你需要找到方法来解释你认为你现在理解的概念。
然而,不要假装自己是专家。要谦逊,承认你是新手并且在学习。其他人会更愿意帮助。
记住,每个人都有不同的观点。有些人声音更大,但这并不使他们更正确。事实上,那些不愿意听取其他观点的大声之人往往不会那么有帮助。所以不要灰心。
如果人们纠正你的错误,这是你吸取教训并改进的绝佳机会!
4 – 我们是团队构建软件
在大多数情况下,软件是团队构建的。这意味着你需要专注于沟通技巧、协作技能,以及所有其他不仅仅是技术方面的技能。
当谈到技术方向时,你需要考虑到这不只是你的选择。
这是一件好事——因为不同的背景、经历和观点将使你能够作为一个团队构建更好的软件。
5 – 组合 > 继承
在教授编程时,继承被大力推广,但如果你早期倾向于使用组合,那么你将“缩短”几年真正糟糕的代码时间。
真的。我在写大量代码时,对于拥有荒谬的长继承层次结构感到有罪。我不能完全归咎于WinForms和被使用的控件范式……我应该承担一些责任!
我将在早期职业生涯的很大一部分时间重写许多过于复杂的继承代码,因为它变得太复杂了。
6 – 不要害怕学习
不要害怕学习新事物。建立专业知识感觉很好,但不要让它让你感到如此安全以至于新事物感觉可怕。
你将会在新事物上表现不佳,但这是非常暂时的。你将反复证明给自己看,最终你会获得工作知识并感到非常舒适。
在我的职业生涯中,我的最佳成长机会是当我被迫接触新事物和不舒服的事物时。每次我都脱颖而出。
不适带来了难以置信的学习体验。
7 – 主导你的职业发展
没有人像你自己那样对你的职业进展感兴趣。伟大的经理确实会帮助鼓励你并给你机会推动事情。
但我们不能只是坐等这些。我们不会总有惊人的经理。
你越早意识到被动不是进步的好策略,你就越早可以采取行动。
8 – 记得要享受
你从事这个行业是长期的,将花费你生命中的许多小时构建软件。你最好享受它。
不是每天都会容易。不是每天都会有趣。不是每天都会令人兴奋。
但总的来说,你需要找到方式享受你所做的事情。这将帮助你学习。它将帮助你保持参与度。它将帮助你保持动力,以克服有趣的挑战。
软件工程非常需要智力努力,而且往往很难找到良好的工作生活平衡……因此在你的职业生涯中记住这一点。