成为高级开发人员的 7 个步骤,无需无休止的在线课程或等待多年
这听起来熟悉吗?
如果您是一名程序员、程序员或软件开发人员,那么您可能知道这样的情况:
- 您想提高自己的编码技能,但很快就被无穷无尽的信息所淹没,不知道下一步该做什么……
- 您花费了数小时参加在线课程,但却陷入困境并感到沮丧,无法完成课程......
- 您每天都患有冒名顶替综合症,难以独立工作,并且总是担心自己不够好……
- 您被迫留在一份您不喜欢的工作中,薪水过低或精疲力竭,并怀疑软件开发是否真的适合您......
- 你经常听说,只要你坚持编码,总有一天你会成功……
您现在是否正面临这样的困难?
如果您像大多数软件开发人员一样,那么您将会一次又一次地遇到这样的情况。
原因如下:
你的技术成长缺乏系统性。
无论您练习的动力有多大,无论什么技术是最新趋势或您是哪种开发人员,您都缺乏一个明确的流程来保证您发展完整的技能。
想一想:有多少次,你因为没有计划而苦苦挣扎,不知道下一步该做什么才能成为一名更好的开发人员?
如果您真的想自信地编写代码并且不再觉得自己像个冒名顶替者,那么您必须围绕您的技术技能建立一个系统。
为什么这如此重要?
问题是:由于缺乏一个结构化的技术成长流程,80% 的编码员、程序员和软件开发人员永远无法实现晋升、找到更好的工作和赚取更多收入的目标。
原因很简单,没有系统会迫使你即兴发挥(所以你会浪费时间参加其他人都在上的相同在线课程,而这些课程甚至不适用于现实生活的情况)。
当你一直在即兴发挥时,你该如何持续提高你的技术技能呢?
因此,建立一个专业的系统是绝对必要的,这样你最终就可以摆脱冒名顶替综合症,自信地编写代码并成为一名专家级的软件工程师。
这是您需要的解决方案:
作为一名软件开发者,我亲身经历过这种情况,对此深有体会。第一次是当我搬到一个全新的国家——德国的时候。初来乍到,我抓住了能找到的第一份开发工作,但最终却停滞不前,没有任何发展机会。
其次,当我辞去“创业公司的工作”并梦想加入一家顶尖科技公司时,我缺乏专业的软件开发技能、洞察力和实现这一目标的心态。
幸运的是,一位导师让我豁然开朗。听从他的建议,我围绕自身成长建立了一套系统,专注于技术技能。结果,我很快成为了各自领域的专家,快速晋升至高级职位,并在一家顶尖科技公司找到了一份更好的工作。
去年,我帮助了 40 多名像您一样的软件开发人员使用相同的系统成为专家工程师,现在我可以向您展示帮助您解决这个问题的 7 个步骤:
步骤 1 - 规划与策略
制定软件开发人员成长计划的第一步是客观分析您当前的技能。
你的优势是什么?你的劣势是什么?
你是否在编程基础、代码语法或结构化解决方案方面遇到困难?你是否能够透过代码去分析设计?
找到专业软件工程师与你技能之间的差距。你的时间有限,不可能学到所有东西。要想取得成果,你需要专注。
你的时间有限,所以你不可能学到所有的东西。
分析阶段做得越好,你就越能理解自己需要弥补的差距,之后投入的时间也就越有效。现在是时候制定策略,让你达到专家水平了。
如果您希望我指导您,帮助您通过循序渐进的行动计划从程序员转变为工程师,请进行 45 分钟的通话,让我们聊聊。
第 2 步 - 成为真正的“全栈”开发人员:API 设计
大多数培训和课程都专注于“热门技术”,例如 React 或 GraphQL,而忽略了更枯燥但重要的主题。他们这样做是因为这些花哨的技术能帮助他们卖出更多课程。但事实是,这些热门框架总是在重复使用软件开发中的经典概念。这就是为什么要想在最热门的新技术上脱颖而出,你必须了解基础知识。
要想在最热门的新技术上脱颖而出,你必须了解其基本原理。
软件开发者了解基础知识的最佳场所?你猜对了:API 设计。无论你来自后端还是前端,这都无关紧要。API 层面是一切的交汇点。如今,人们大谈特谈真正的全栈开发者是什么样的,但 80% 的开发者甚至连 API 版本控制的三种主要方法都说不上来。
从本质上讲,您不仅仅是一名后端或前端开发人员,您还是一名 Web 工程师。
在这里,不要只停留在表面,探索性能、缓存和测试。深入研究HTTP 协议,了解 Web 的真正工作原理。从本质上讲,你不仅仅是一名后端或前端开发人员,你还是一名 Web 工程师。
步骤 3 - 了解完整软件生命周期:持续集成
问题是,如果你只能在代码层面做出贡献,你对团队的帮助就会非常有限。如果你不懂如何正确部署应用程序,你总是需要别人的帮助来推送代码并使其正常运行。
而且由于团队结构的原因,大多数开发人员通常无法亲自参与部署(没人希望你乱动最终会交付给用户的代码)。但是,如果你从未接触过这些主题,又如何学习它们呢?
您必须了解代码是如何构建、打包、运送和部署的。
为了拓宽你作为开发者的视野,你必须了解代码是如何构建、打包、交付和部署的。现在是时候了解完整的软件生命周期、持续集成和交付的真正含义,以及如何运用最佳实践部署你自己的应用程序了。
同时,云认证需要花费太多时间,而且会深入探讨一些你作为开发者无需关心的主题。了解应用程序负载均衡器在哪个网络层级工作固然有趣,但并非必要。你应该深入理解云技术、版本控制和集成工具。
如果您了解如何将应用程序部署到现实世界,您将能够从编码阶段到部署阶段协助您的团队。
如果你了解如何将应用程序部署到实际环境中,你将能够从编码阶段到功能测试和部署阶段为团队提供帮助。现在,你已经成为一名专家了。而且,谁知道呢?很快他们就会足够信任你,并授予你访问公司云帐户的权限。
如果您希望我指导您取得与我们的学员在软件工程职业生涯中一样的惊人成果,请单击此处并与我预约 45 分钟的免费初步咨询。
第四步 - 像专家程序员一样思考:算法思维和数据结构
篮球运动员训练肌肉记忆,这样他们传球时甚至无需思考。他们几乎是自动完成的,出于条件反射。同样的道理也适用于高效的程序员,他们面对编程挑战时也是如此。资深程序员几乎是本能地完成传球,有人称之为直觉,也有人说这是随着时间推移而形成的。
专家开发人员使用他们多年来不断完善的思维框架来解决任何编码问题。
听我说,这并非什么魔法,完全可以学会。这并非只是记住二叉树那么简单。关键在于理解这些编码问题之间的共性,并建立一个结构化的流程来处理它们。你必须专注于模式,而不是实现细节。这里的关键词是递归。
这不是关于记住二叉树,而是关于在处理编码问题时有一个结构化的过程。
这不仅在代码挑战中有用,而且在你作为软件开发人员的日常工作中也很有用。递归是 DOM 树背后的原理,甚至是 React 等最流行框架的算法背后的原理。
第 5 步 - 专业化:React、GraphQL 和“最热门”的技术
在这个阶段,你已经对软件开发的核心原则有了深入的理解。现在是时候迈出更进一步的一步,让你脱颖而出。专业化将使你从数百名自称专业的开发人员中脱颖而出。
如果您擅长后端,那么可以深入研究服务器端开发。如果您擅长前端,并且目前主要使用 React,那么是时候尝试其他框架,并深入了解服务器端渲染和性能等概念了。
这样做的目的不仅仅是了解最新的框架,还要了解社区在该领域的发展方向、开发人员在该平台上面临的具体挑战以及超越普通开发人员所了解的范围。
这样,你不仅仅是一名开发者,你还能为公司乃至整个行业带来创新。而且,相比于那些成熟的库,在三年前发布的库中脱颖而出更容易,因为在成熟的库中,你很难与经验丰富的开发者竞争。
如果您想让我帮助您了解软件技能方面的具体差距,从而从优秀迈向卓越,请点击链接,预约 45 分钟的免费咨询。我们还会为您制定一个循序渐进的行动计划,帮助您保持一致并实现开发目标。
第六步——软件架构:“全局”
现在您已经了解了代码,并且能够理解编码阶段之后应用程序会发生什么情况,您已准备好进行下一步。
专业软件工程师能够与高级开发人员、技术主管和架构师进行交流,因为他们对编程概念有着共同的理解,而这远不止于技术和框架。他们能够进行抽象,并洞察到实现之外的事物。他们理解软件架构的通用原则。
专家开发人员能够与高级开发人员、技术主管和架构师进行讨论,因为他们了解超越库和框架的编程。
现在,别害怕。你不可能一夜之间就成为一名架构师。现在,你应该开始思考系统之间如何交互。你的应用程序如何处理数百万用户?它如何与其他系统集成?它如何与外部世界通信?
您需要对可扩展性、可靠性和性能等主题形成自己的观点。
是时候掌握可扩展性、可靠性和性能等概念了。这样,当讨论应用程序性能时,你就不会感到茫然,反而能真正做出贡献。你甚至可以讨论领域之外的技术解决方案。这将帮助你晋升到高级职位或技术主管。
第七步——专业形象:隐形天赋是没人在乎的天赋
如果他们不了解你,就不会有人雇用你、联系你或邀请你去做技术演讲。现在不是2010年了,机会不会因为你懂编程就自动落到你头上。每个自学成才的程序员、训练营毕业生、大学生或初级开发者都是如此。
现在不是 2010 年了,机会不会因为你懂得如何编码而自动落到你头上。
我知道现在有很多所谓的“网红”会说你需要打造个人品牌,或者说你需要每天发推文,又或者说你的 GitHub 必须极其精致,作品集必须引人注目。
拥有这些都很好。在现实世界中,公司只关心两件事:你的 LinkedIn 个人资料(他们通过它找到你)和一份精心优化的简历。归根结底,他们雇佣的是软件开发人员,而不是网红。
如果您希望我指导您掌握软件开发技能,请与我预约通话以了解我的指导计划。
如果你对 React 感到困惑,那么如何建立技术博客呢?
有影响力的人会告诉你,你需要打造个人品牌,因为他们就是这么做的。但仅仅因为他们觉得这招管用,你却不一定管用。如果你连 React 都学不会,怎么能建个技术博客呢?现在,你最好把时间花在其他地方。想要和其他开发者和技术领袖建立联系,你只需要一个简洁的个人资料,并参与到对话中。
就这样——您不需要任何其他东西就可以成为专家开发人员。
- 忘记您购买但从未完成的 10 门在线课程吧……
- 忘记记忆数据结构和二叉树吧……
- 忘记解决 HackerRank 上的所有问题......
- 忘掉那些需要花很长时间才能读完的厚重编程书籍吧……
- 忘记那些总是让你困惑的半途而废的 YouTube 教程吧……
- 忘记技术博客吧……
- 忘记建立个人品牌吧……
其中许多事情只会分散你的注意力。
一旦您达到中级/高级职位,其他因素(例如您的个人品牌)就会变得重要。
这 7 个步骤将使您能够自信地编码,不再感觉自己像个冒名顶替者,并成为一名专家。
其实这是非常清楚的。
欲了解更多类似内容,请在 LinkedIn 上关注我。
建立此系统后,您将能够处理工作或面试中的任何技术问题。您将自主选择与哪家公司合作,使用哪种技术,以及与谁共事。您将自动成为一名炙手可热的专业软件工程师。
不再希望或猜测并等待技术主管认可您的价值。
到目前为止,我已经与 40 多名编码员、程序员和软件开发人员一起建立了这个系统,他们不断取得优异的成果。
上周,我们的一位学员在与我们合作仅六周后就获得了她的第一份“高薪”工作(薪水比市场高出 30%)。她甚至还没有软件架构、作品集或个人品牌。这些都是项目第六周和第七周的内容 :)
如果您正在阅读本文,那么您很可能也是一位雄心勃勃的编码员、程序员或软件开发人员,想要成为一名专业的软件工程师。
所以,如果真是这样,你肯定会从我上面提到的7个步骤中受益。你会以一种行之有效的方法更接近你的目标。
无论如何 - 我们都知道,阅读一篇关于如何提高技术技能的简单文章并不能让你获得真正想要的结果。
如果您现在就想达到专家级别,我建议您:联系我的团队。您可以申请一次免费的私人咨询电话,我们将详细讲解每个步骤,并制定计划,帮助您达到专家级别。
您只需点击并填写我们网站上的申请表即可。
期待尽快为您提供咨询。
德拉戈斯·内德尔库
文章来源:https://dev.to/dragosnedelcu/7-steps-to-become-an-expert-software-engineer-without-endless-online-courses-or-waiting-for-years-m8j