26个真正有效的开发者目标——附SMART实例
如果你是一名软件开发人员?你选择了一个了不起的职业。
作为一名程序员,你有巨大的成长空间。无论是单纯编码还是成为软件工程师,你都能获得丰厚收入。你的选择是无限的。
但是……如此丰富的选择也可能让人不知所措。
你该从哪里开始?
问题一:你不知道该设定哪些目标
在设定目标时,你可以选择不同的方向。
而且有不同类型的目标:
- 语言目标
- 职业目标
- 个性目标
- 金钱目标……
哪些目标对你最有意义? 哪些是你可以实际实现的? 哪些应该立即着手——哪些应该留到以后? 哪个目标在实现后能为你带来最多的金钱和成功?
问题二:“程序员目标过载"让你困惑和分心
你是否同时有太多目标——也就是目标过载?
我的目标是给你一些结构。这样你就能选择正确的目标。 这样你才能真正实现它们。
思考所有可能的目标并幻想实现它们会有多棒是很有趣的。 但是,如果你因为目标过载而无法对任何一个目标给予足够的关注——那么不断思考每一个潜在目标又有什么用呢?
不过,目标是很棒的。我成功地利用目标设定实现了许多事情:
- 编写应用程序
- 写书
- 创建课程
- 建立网站
- 变得健康、富有
你作为程序员的成功——无论是成为软件工程师、攀登职业阶梯、编写最佳代码、赚很多钱——我都想帮助你让这一切变得简单。
你从掌握正确设定目标开始。
让我们深入探讨。
强大程序员目标的四大支柱:充实未来练习、无限改进、持续价值公式、强大习惯
如何最有效地推进你的职业生涯?你首先要设定符合你当前位置和未来方向的目标。
以下是作为程序员需要拥有的四种目标类型,以实现最大影响、金钱和幸福:
1. 充实未来练习
生活中成功的关键是每天对你所做的工作感到满足。
你是否对周一花8-10小时编写游戏代码并在接下来的四天重复此过程感到兴奋?或者你对在亚马逊从事机器学习系统工作的想法充满热情?
哪种工作(你已经尝过,或者知道它非常适合你)最让你兴奋?
可视化你作为程序员的理想生活。 你大部分工作时间都在做你最喜欢的活动。当然,即使这些也不是100%令人愉快的。实际上可能相当困难。但它们让你能够表达你的天赋,产生最大影响,并给你带来长期满足感。
在创建了最佳开发者生活方式的想法后,努力每天更接近它。设定中途的中间目标。选择能推动你实现愿景的任务。拒绝那些让你偏离它的任务。
[thrive_text_block color=“orange” headline=“提示:"]使用80-20规则。 “我是否在做那20%能让我更接近目标的任务?” 专注于这些,你就能获得80%的结果——只做重要的事情。你还能确保自己100%走在正确的轨道上。这样你就不会爬梯子,最后才发现它一直靠错了墙。 相反,你的行动将与满足感和成功完美契合。[/thrive_text_block]
最后,尽可能多地像你的目标已经实现一样度过每一天。 这样你就能将作为软件开发人员最充实生活的愿景变为现实。
2. 无限改进
在设定目标时,不要只关注结果:比如,“我想创建一个惊人的工具,帮助成千上万的人并让我赚数百万美元。”
还要设定提升技能的目标。因为这样才能让一个目标导致另一个目标。
如果你作为一个程序员如此能干和全面,能够:
- 毫不退缩地解决棘手的编码问题
- 巧妙制定策略
- 像专业人士一样展示自己、沟通和谈判
那时你才能真正实现那些令人惊叹的高级目标。 因为你已经把自己变成了那种能做到的人。
努力提升你的技能,随着每一天的过去,你将逐渐接近你的目标。
顺便说一句:我有一门关于成为精英级程序员的完整课程。它叫"程序员犯的5个学习错误”。你可以在这里免费获取:
3. 持续价值公式
愿景、技能……这些在设定程序员目标时很重要。
还有什么?对他人产生积极影响。
设定影响他人的目标不是利他主义。这是自私的——因为它会加速你作为开发者的成功。你会更快获得更好的技能、更多曝光和更高地位。金钱很快就会随之而来。
那么如何设定影响他人的目标?
你在自我提升的过程中保持与真实世界的联系。
- 公开构建东西
- 让人们实际使用它
- 用你正在学习的任何新编程技能帮助他人
- 运用你的新软技能进行有价值的演示
- 通过与他人在他们的项目上合作来测试你的编码技能
有影响力的目标是那些让你连接和贡献的目标——而不是关于让你在孤立中变得更好的目标。 后者也更容易放弃。
4. 强大习惯
将你的编程目标分解为每周和每日目标——因为习惯比目标更强大。
一旦你建立了那些高效的习惯,实现长期目标就像日复一日执行这些习惯一样简单。
幸运的是,虽然最初建立新习惯很辛苦,但随着时间的推移,保持它们会变得更容易。这就是习惯的力量——用它来将实现目标变成一个简单、可重复的过程。
你最终会感觉到你的目标触手可及。
5个SMART程序员目标实例——具体、可衡量、可实现、相关和有时限
对于任何新目标,最好遵循SMART目标设定公式。 并写下它们。通过写下你的目标,你实现它们的几率提高了42%。
SMART代表具体(Specific)、可衡量(Measurable)、可实现(Attainable)、相关(Relevant)和有时限(Time-Bound)。
SMART目标是一种非常具体的写下目标的方式,是提高实现任何目标几率的关键组成部分。
哪个是SMART目标?
- 我想多锻炼
- 我将在接下来的六个月内每周去健身房三次
是第二个。 这个目标清楚地分解了你要做什么、如何做以及多长时间。
只是说你想多锻炼并没有给你任何关于你打算如何做的想法。最重要的是,它不会让你负责。
你可以每周锻炼五分钟,一天,如果这比你目前做的多,从技术上讲就实现了你的目标。
然而,这可能不会让你达到为什么想多锻炼的预期结果。
既然我们知道什么是SMART目标,让我们看看5个SMART目标,你可以设定它们来在今年成为更好的程序员:
SMART目标#1:如果你想改变职业,每周花三个晚上创建自己的网站
如果你目前有工作但想自己创业并建立自己的编程业务,拥有一个展示你技能的编程博客是很好的。
你需要在下班后专门花一些时间在网站上,并承诺一个完成的时间框架。
S—目标是建立一个网站 M—每周三个晚上 A—有挑战但容易做到 R—如果你想创业就相关 T—三个月
SMART目标#2:每年两次参加特定编程语言的在线课程
如果你是一个能干的Java程序员,你可以通过学习一门新的编程语言来拓宽你的技能组合。一个很好的方法是承诺参加一些在线课程来提高你的知识。
在线课程是我们考虑做但从未真正承诺的事情。
设定一个目标,每年做两次。一个顶级建议是找一个需要付费的课程,因为你更有可能承诺完成它。
你可以决定任何你认为需要提高技能的编程语言。
S—目标是学习一门新的编程语言 M—两个我付费的课程 A—有挑战但可实现 R—如果你想构建编程技能就相关 T—一年
SMART目标#3:在接下来的六个月内每周花五小时学习如何开发一个新应用
构建一个新应用需要时间,如果这不是你的全职工作,很难找到需要的时间。
然而,花时间学习如何构建一个新应用可以拓宽你的编程技能组合,让你对雇主和客户更有价值。
设定一个目标,在接下来的六个月内,每周花五小时在你的新应用上。
这是一个SMART目标,你可以调整部分内容使其更相关。
例如,如果你知道你可以轻松地每周工作五小时,增加到10小时。或者如果你认为开发只需要三个月,缩短时间框架。
S—目标是开发一个应用 M—每周五小时 A—困难但可行 R—如果你想构建新应用就相关 T—六个月
SMART目标#4:在三个月内每天 dedicate 两个一小时的时间块来提高生产力
编程需要高度集中注意力。如果有许多干扰,适当专注于你需要做的工作可能非常困难,生产力可能会下降。
在Cal Newport的畅销书《深度工作》中,他建议集中注意力的最佳方法之一是留出时间做特定的高强度工作。这是你只处理自己设定的特定任务的时间。例如,如果你需要为你正在开发的网站的特定部分编写代码,你就在那一小时的时间块里只做那件事。
关闭手机,关闭电子邮件,如果可能的话避免上网。在早上和下午各安排一小时进行高强度专注。选择一小时的原因是因为它足够长,可以真正专注并完成大量工作,但又足够短,从一开始就不会令人生畏。
同样,SMART目标的这一部分可以重新构建以更适合你。如果你知道你在较短的时间内注意力更好,减少时间段。二十五分钟可能是一个好的起点;这是番茄工作法中使用的时间框架。
你会惊讶于你完成了多少工作。
S—目标是做高强度工作 M—每天两个一小时块 A—有挑战但可行 R—如果想提高生产力就相关 T—三个月
SMART目标#5:每月末花一小时计划下个月的时间
俗话说:“准备失败就是准备失败。“计划好你的月份,你每个月会完成更多工作。
世界上大多数成功人士都会提前计划他们的月份,这样他们就知道需要做什么来实现目标。
每月末给自己一小时计划下个月打算做什么。
这可以包括查看需要完成的关键任务,留出时间完成它们,并制作一个不太紧急任务的待办清单。
此外,利用这段时间回顾你的目标,确保你每个月都在朝着它们取得进展。
S—目标是计划下个月 M—每月一次 A—容易实现 R—如果想更有条理就相关 T—一个月
现在让我们深入探讨21个开发者目标供你追求——这样你就能成为你想要的高薪、充实的程序员:
21个超棒且有效的编码人员和软件工程师职业目标
短期程序员目标
1. 制定自己的学习课程
这是确保你朝着目标前进的地方。如果你不这样做,很容易迷失方向并放弃一个、多个甚至所有目标。
你不能只设定目标本身。你需要确切地概述你将如何到达那里。
所以,每周留出一定小时数用于学习。选择一个你知道能达到的小时数。不要过度!
现在,决定在这些小时内你将使用哪些资源,以及你将如何学习它们——例如通过思考问题、勾画出来、编写和调试代码、在书面报告中记录结果等。
2. 创建每周和每日日程
对于对你编程生涯重要的每项活动,以类似的方式概述。
弄清楚每周需要发生什么以保持你逐步实现目标。
然后,进一步分解:分成可以放入每日任务列表的小块工作。现在你只需要专注于完成每日日程。
你会自动更接近作为开发者的目标。
3. 启动你的作品集网站
永远不要低估你作品集的力量。
构建你能自豪的东西。不管是什么。博客网站、照片滑块、网络爬虫。待办应用、简历作品集等。
一旦客户看到你的作品集和你构建的东西数量,他们就知道你能做什么。你的工作自己说话。
在免费课程"如何开始博客"中,你将获得如何开始构建作品集网站的指导,这样你就可以通过向世界展示你的工作质量来吸引更多客户。
4. 承担一个自由编码项目来发展自己并赚取额外收入
现在你获得报酬来学习!
完成后,你可以将完成的项目添加到你的作品集中。
你甚至可以从客户那里获得推荐,与观众建立信任,这样你就能更容易获得下一个报酬更高的自由项目。
5. 就你热衷的技术主题进行演讲
你可以在任何聚会、会议或活动中这样做。你将获得沟通技巧,让你的名字在潜在合作者或雇主中传开,并获得动力继续将你的编程生涯提升到新水平。
6. 写一篇人们喜欢分享的有价值文章或报告
对一些人来说,这可以让他们进入一个全新的职业出路:以写作为生。
如果你的文章很受欢迎,为什么不扩展它并把它变成一整本书?今天,自助出版一本书如此容易,世界可能就是你的牡蛎。
7. 学习一本新的编码书籍
你不需要读所有的书。但深入研究一本书可以将你的编程技能提升到一个全新水平。
再次,你将留出一定小时数深入知识并解决书中提出的问题。如果你这样做,你将获得比简单阅读几十本书多一百倍的价值。
在关于顶级编程书籍的文章中,你会找到一个很好的书籍选择。挑一本听起来像令人兴奋挑战的书来应对。
承诺去做,看看你的编码技能如何受益。
8. 升级你的调试技能
设定一个目标在今年更好地调试。
发誓用公式处理每个错误:
- 假设:你认为问题可能在哪里?
- 实验证明或反驳你的假设
- 重复直到找到错误
优化你的调试过程可能是一个值得的目标——它会让你更有效地以可重复的方式更快地产出功能代码。
9. 更好地进行基于项目的面试
如果你想找软件开发人员的工作,准备好粉碎那些基于项目的面试。
设定一个目标,彻底研究面试过程和主题,每天处理一些新的编程面试问题,并经常与朋友进行模拟面试。
你希望达到可以轻松解决大多数抛给你的Leetcode式问题的程度。
那时,获得高薪编程工作只是时间问题。
10. 开始做软技能挑战
具有良好软技能的程序员被邀请参加更多项目,在公司中晋升更高,获得更多认可,总体上变得更成功、富有和快乐。
所以安装提高这些技能的有价值目标。
把它变成挑战:
- 本周我能联系多少新人?
- 我什么时候可以练习并在人们面前发表有影响力的演讲?
- 我如何在下次会议中像专业人士一样谈判以获得我想要的东西?
11. 每周至少收集一条新反馈
大多数程序员未能实现目标,因为他们甚至不知道自己做错了什么。
当涉及到我们的工作时,我们都有盲点。这只是人性。
那些能够超越自我,向同事或上级寻求诚实反馈,并接受和实施的人,将成为成功的人。
12. 提高你的问题解决技能
“我看到新程序员犯的最大错误是专注于学习语法而不是学习如何解决问题。” – V. Anton Spraul
设定一个目标每周解决一个新问题。如果你选择不同的平台来解决问题会有所帮助。
创建和改进你的问题解决框架:你用来评估、构建并最终克服每个问题的系统。
很快你就能用这个系统应对你面临的每一个挑战,无论是否与编程相关。
长期程序员目标
13. 创建个人品牌
想作为程序员晋升——建立更好的联系,获得更好的工作,增加收入?
尽快开始建立你的个人程序员品牌。
- 让人们知道你作为开发者的专业领域
- 写你的传记电梯演讲:你是谁,你如何帮助我?
- 创建你的作品集网站
- 建立你的LinkedIn个人资料
- 开始分享围绕你专业领域的内容
- 加入一个社区——或启动你自己的!
一旦人们知道你是他们主题的专家,他们会开始带着offer来找你。
建立个人品牌是一种经过验证的方式,可以让你作为程序员脱颖而出并抓住最佳机会。
14. 学习一门新语言(一次一门!)
任何开发者的经典目标是学习一门新的编程语言。最好的方法是战略性地进行。
一次挑选一门语言。保守估计学习需要多长时间。创建每周日程。如有必要购买任何资源。
坚持每日学习习惯,很快你就会实现目标。
软件工程师和开发者的专业目标
15. 完成一个新认证
课程、训练营和认证可以是快速提升编程技能同时提高专业地位的方式。
你可以设定一个目标每年完成一两个这样的新认证。
随着时间的推移,这将在编码知识、技能和荣誉方面将你置于开发者的上层。
如果你有工作,好好利用专业发展预算,让他们支付你参加的任何认证或课程。
16. 准备并申请你的梦想工作
两件事将你与作为程序员的梦想工作分开:你需要设定一个智能目标去争取那份工作,然后做工作使那个目标实现。
如果你有一个到达那里的战略计划,并且你在执行那个计划——获得那份工作只是时间问题。
17. 在工作中负责一个新项目
如果你想增加在工作中的影响力并攀登阶梯——设定一个"领导目标”,具体说明你将如何启动一个新项目,并与他人合作使其成功,在你的公司产生积极影响。
18. 开始每周指导某人一两次
当你致力于这个指导目标时,不清楚谁学得更多——被指导者,还是你作为指导者。
要成功教学,你需要彻底了解主题。
除了回馈和帮助某人的编程生涯外,你将加深自己的理解。
简而言之,这个目标帮助你成为更好的编码者和更好的人。
程序员财务目标
想作为程序员赚更多?获取免费课程"作为软件开发者薪酬过低的7个原因”。你将获得我关于晋升和赚更多钱的最佳策略。
19. 开始将钱投资于资产
一旦你作为程序员赚了好钱,一个有价值的目标是开始让任何额外的钱为你工作。
一个很好的方法是投资资产。
我通过投资房地产赚了很多钱,但你也可以选择其他资产投资,比如企业或网站。
设定一个目标每月留出X金额投入新资产。一旦这些资产开始回报你而无需太多维护,你会很高兴你做到了!
20. 每年申请加薪, citing 你的成就
如果你是一个每年设定和实现新目标的人?那么你不断为你工作的公司增加价值:
- 你完成的那些困难工作。
- 你如何通过管理项目和指导新员工改进团队协作。
- 你因为提升技能而提高的生产力。
所以你有充分理由在每次机会要求加薪。
21. 开始要求精英小时费率
无论你是在工作还是作为自由开发者工作:将提高你的小时费率作为你的主要目标之一。
这在自由职业时最简单:只需在每轮成功项目后将费率设得更高。
不要接受更少。因为你的结果为你说话,即使你变得更贵,你也会被雇用。
开始围绕目标计划你的一周
想知道我如何计划我的一周以尽可能完成更多工作?就在这里。
我使用一个叫Kanbanflow的工具基于番茄工作法计划我的一周。
使用这种技术,我能够极其高效,避免分心,并确切知道每周能完成什么。
现在去粉碎你的目标——成为一个完成者!
如果你想实现目标,你需要学会完成你开始的事情。
真的就这么简单。成为那种总是完成你开始的事情的人。
完成50%是无价值的,完成90%也是无价值的并且是巨大的时间浪费。只有当你达到100%时,你才能从做某事中获益。达到100%才是最重要的。
- 不是你投入的所有工作直到那一点。
- 不是你最初的热情。
- 甚至不是你花费的时间。一旦你花费了,时间就消失了。
这些东西任何有机会显示投资回报的唯一方式是通过达到100%——拿起写着"完成"的大橡皮图章,用深红色墨水直接盖在你的工作上。
最终归结为: 你必须决定你厌倦了有一个装满半完成项目的衣柜。你必须决定完成对你很重要,尽管你感觉如何,尽管结果可能看起来多么黯淡,一旦你开始某事,你就会完成