2020 年每个软件开发人员都应该做的 12 件事。
介绍
你为2020年设定了什么职业目标吗?虽然你应该专注于个人目标(比如多去健身房、健康饮食等等),但你也应该规划自己的职业发展。即使你热爱现在的工作,也要确保你的技能与未来的机会相匹配,并探索你感兴趣的其他领域。如果你等待别人来管理你的职业生涯,那么你将不得不等待一段时间,甚至永远。以下是我认为如果你从事软件开发行业,你应该在2020年做的12件事(无先后顺序)。
2020 年每个软件开发人员都应该做的 12 件事。
- 在Twitter上创建账户– 是的。这听起来很简单,你甚至可能用你的 Twitter 账户创建了一个 dev.to 账户,但在我与会议参与者的交流中,仍然有很多人声称他们不想拥有账户,因为 a) 他们没有粉丝, b) 他们不想被政治推文之类的“噪音”干扰, c) 他们不想浪费时间。提示:你可以决定关注谁,甚至可以静音某人。:) 无论如何,我有几个理由告诉你为什么你仍然应该拥有一个账户。
- 粉丝不重要,真的不重要。无论你有 0 个粉丝、1 个粉丝还是 10000 个粉丝,一个账号都能让你分享想法、收藏其他优秀的开发者推文,还能进行搜索。
- 通过关注其他开发者,直接从源头获取软件开发者的资讯。这是我加入 Twitter 以来最大的好处之一。我知道有很多聪明人,我很高兴不仅能关注他们,还能与他们互动。别害羞。
- 关注你最喜欢的技术标签——关注你感兴趣的主题。例如,我用它来关注#azure、#nodejs、#dotnet 等。
- 与其他开发者保持互动,并了解他们正在进行的项目。同样,你不需要拥有大量的关注者才能参与对话,也不需要拥有一个拥有数千个 Star 的 GitHub 仓库。
- 私信 - 许多开发者和我一样,都开通了私信功能。如果您觉得公开推文不方便,可以私信他们。就我个人而言,这通常是联系我的最佳方式之一。
-
阅读 StackOverflow – StackOverflow 是提问和解答编程问题的首选论坛。如果您已经使用过该网站,那么您可能已经注意到“网站腐烂”现象,最佳答案可能出现在第三或第四条评论中。即使存在这个障碍,我发现仅仅浏览问题并学习不同的开发人员如何解决问题就值得了。我认为每天至少花 10 分钟阅读 StackOverflow 是明智的时间投资。
- 利用标签快速浏览最近的问题。同样,我会监控与前面提到的 Twitter 标签类似的标签。
- 尝试通过调整过滤器来查看最常见的问题、赞成票等,以解决您正在处理的产品的问题(如果它被列为标签),并在需要时提供更新的答案。
- 数量——它可能比您最喜欢的编程语言官方网站有更多问题和答案,并且您可以分享您的单一登录信息。
- 跨学科受众——作为开发人员,有能力提出数据问题,不仅开发人员可以回答,数据库管理员等也可以回答。
-
开设博客– 每个开发人员都应该拥有一个博客。但是为什么呢?
- 这是我们为其他开发人员学习我们的技术留下的足迹。
- 它使您能够参与社区活动。
- 它可以帮助您推销自己作为专业人士。
- 它显示了你的技术能力和热情。
- 它可以让你挑战自己并帮助教育他人。
- 另一方面,不要为了赚钱而开博客。做你自己,钱自然会来。
-
走出去- 尽最大努力走出你的舒适区,开始在当地活动、聚会、会议等场合与其他开发人员交谈。你可以做出一些令人惊叹的贡献!
- 我参加会议这么多年,大多数人一开始都会比较害羞。如果你主动和别人搭讪,通常很快就会开始,因为你们至少应该有一个共同点(比如对科技的共同点)。
- 与其他开发者建立联系是职业生涯的关键。你开始在行业中建立联系,当你需要帮助时,就能找到可以求助的人。反之亦然。
- 向你的同事、聚会、会议,甚至你的妈妈,就某个主题进行演讲。你甚至可能会喜欢它。
-
开始观看开发空间中的直播或创建您自己的直播- 虽然您可能会想“谁会看别人编码?”,但答案是成千上万的开发人员每天都在这样做,原因如下:
- 在线直播对所有人而言都是安全的,尤其对有社交焦虑的人来说更是如此——你可以加入直播,保持安静,也可以参与讨论。虽然我建议你参与讨论,但请以自身安全为准。
- 无论你的技能水平如何,你都可以帮助别人,别人也能帮助你学习编程。我10岁的女儿在我的直播中使用makecode.com ,一位观众建议了另一种解决问题的方法,她学到了一些她(甚至我自己)以前从未领悟过的东西。
- 如果你只是尝试一些东西,你就不会像专业视频教程那样有追求完美的压力。你打开 IDE 或编辑器,开始编码,你和你的观众都能从中学习到自己的错误。
- 一开始不要强调拥有关注者或同时观看者,因为您的视频可以发布到 YouTube 和 dev. 上的注释,以进一步为您当前或未来的雇主打造您的品牌。
- 如果您不知道开始关注谁,那么您应该在 Twitch 上创建一个帐户并关注由Jeff Fritz领导的整个Live Coders 组。
-
把钱花在可靠的硬件上——我不在乎你是 Mac 还是 PC 阵营——2020 年不要试图在这里省钱。在我 20 岁出头的时候,我每次都试图在这里省钱,但总是花更多的钱来修理损坏或运行缓慢的硬件。
- 这也适用于移动设备——如果你是一名开发者,手里拿着一部用了三四年的旧手机,那么是时候升级了。我记得很久以前有人告诉我,他们无法下载我的应用,因为它需要 iOS 9 系统,当时我心想:“这人是做软件开发的吗?” 虽然我不建议每年都买新手机,但无论 iOS 还是 Android 硬件如何,我都会保持手机足够新,以便运行最新一代的应用。
- 就像某些行业一样,你需要开豪车才能拥有漂亮的衣服或最新的珠宝。在科技领域,我们需要尽可能地更新我们的电脑、软件和手机,因为我们的客户可能正在使用最新的技术。
-
更清晰地思考移动端——虽然我确信这将是本文中最有争议的话题,但我还是要说出来。要警惕所有跨平台开发的说法——“一次编写,随处部署”。
- 你在开发什么应用?——自从 iPhone 3GS 发布以来,我就一直参与 iOS 开发。是的,我看了主题演讲,然后开始学习 Objective-C。虽然我最终需要从 Android 和 Windows Phone 等其他平台获得收入,但我总是对那些承诺“一次编写,随处部署”的应用保持谨慎,因为这取决于你正在开发的应用。你想等到你的跨平台工具支持最新的移动操作系统版本吗?性能如何?文档和出现问题的帮助又如何?
- 保持简单——你的应用是否需要在当前市场上的所有设备上运行?如果是这样,你能用网站或*哇哦* PWA 来实现吗?如果你需要极快的速度和性能,我可能会建议使用原生应用。如果你有一个简单的 LOB 应用需要在 Android 或 iOS 上运行,那么跨平台工具或许是最佳选择。这是现代开发者在 2020 年不容忽视的一点。
-
学习至少一种编程设计模式- 我不会告诉您应该学习或关注哪一种,因为这取决于您关注的技术领域,但您至少需要一种。
- 如果您熟悉至少一种设计模式,那么您的代码不仅结构更好,而且还会让您未来的雇主更愿意雇用您。
- 由于我通常从事面向对象编程,因此我从这本书开始:《四人帮 - 设计模式:可重用面向对象编程的元素》(非附属链接),并最终研究了其他书籍。
-
每年设定可实现的 目标——列出您希望在明年实现的目标的简短清单。
- 用数字记录进度——我通常会从去年值得骄傲的10件事和今年(2020年)的10个目标开始。例如,如果你在社交媒体平台上有200个粉丝,那么你可以设定一个目标,达到500个粉丝。
- 您不仅应该挑战自己实现可实现的目标,还应该创建每月或每季度的电子邮件提醒,或使用提醒应用程序、浏览器插件等来评估您的进度。
- 通过与亲密朋友、全世界分享或仅创建私人 imgur 图片帖子以供一年后回顾来对自己负责。
-
学习不同的编程语言——简单地说,它可以拓宽你的视野,让你更深入地了解计算机和编程语言的工作原理。
- 请记住,虽然目标是学习(可能 1 种)编程语言,但您可能会发现自己掌握了一种可以用不同方式解决问题的新语言。
- 明智之言 - 如果您唯一的工具是一把锤子,那么您会将每个问题都视为钉子。
-
相信自己——听到其他开发者告诉我他们缺乏自信,我感到很惊讶。为什么?因为我觉得他们比我聪明多了。我居然从 StackOverflow 复制粘贴代码,他们就觉得我知道自己在做什么?哈哈!
- 如果你和我一样为此苦苦挣扎,那么缓解焦虑的方法之一就是花点时间自我反省。虽然我知道自己永远不会成为超级明星开发者(如果真有的话),但我发现,我通过博客、推特等形式分享的知识帮助了很多人。
- 教学 - 教学有很多好处,但我认为最有价值的是它能激励你学习知识,避免看起来像个傻瓜。这可以是直播、演讲,也可以是只对着五个同事讲。这很有帮助,所以试试吧。
- 学习 - 用我当兵的老爸的话说 - 在这个行业里,没有任何理由让你无知。即使你没有最新的书籍、硬件、开发工具等等,网络上也有太多的免费资源了。
-
阅读博客和书籍等书面内容——您是否经常阅读博客或书籍?
- 我认为优秀的开发者每天至少会阅读或浏览 3-5 篇博客文章,并且至少会储备 1-2 本书。为什么?因为无论你是否打算使用某个主题,至少都要对它有深入的了解。这能让你拥有更多选择。
- 如果你不经常阅读,你怎么能变得更好呢?
PS:如果您想保持联系,您可以在Twitch上找到我的直播,或者在Twitter上找到我的简短软件开发新闻。