2020年面向高级开发人员的5大职业选择
disclosure: This post includes affiliate links; I may receive compensation if you purchase products or services from the different links provided in this article.
Photo by Brendan Church on Unsplash
如果您是经验丰富的开发人员或高级Java程序员,例如具有5至8年经验的人,并且想知道如何进入下一个级别,那么您来对地方了。 在本文中,我将分享五种职业选择像您这样经验丰富的Java开发人员可以选择将您的职业提升到一个新的水平。
Apart from becoming a project manager, which is the path many senior programmers chose, there are other technical and better career opportunities available now. It's especially great for programmers with lacking people management skills and love coding, development and remaining hands-on.
对您而言,根据个人技能选择正确的职业选择很重要,因为没有这些技能而成为项目经理或进行人事管理有时会令人沮丧,主要是因为您不想在此期间感到沮丧 当您可以轻松完成开发人员的工作时。
人员管理也是一种非常不同的技能,您需要与上下级人员紧密合作,例如需要定期与企业,高管和其他高级管理人员进行交流,以实现交付。 但是,您还需要与开发人员,质量检查和其他资源一起完成这项工作。 这并不容易,特别是如果您必须管理一个大团队。
On the other hand, a more technical career path, like becoming a DevØps specialist, a Scrum Master, or a Software Architect is better for programmers who always want to remain hands-on and close to technology.
对经验丰富和熟练的程序员有很多需求,并且如果您继续进行多年的编码工作,您永远不要以为自己会过时且过时。
许多组织,例如投资银行,也都在推动这种技术职业道路,在这里您可以通过保持技术水平和擅长工作而升任高级职位,副总裁和执行董事。
Top 5 Career Options for Experienced Programmers
无论如何,在不浪费您更多时间的情况下,这是我列出的一些经验丰富的Java开发人员可以将自己的职业提升到更高水平的最佳职业选择。
1. Scrum Master
If you have worked in an Agile environment, then you definitely have heard about Scrum meetings and Scrum master. The job of a Scrum Master is to run a Scrum meeting daily and solve any blocker that is coming your way. It requires a little bit of project management and coordination skills.
This is a relatively new career option when compared to the business analyst or project manager, but it is becoming increasingly popular among companies that follow Agile methodologies for development.
If you have a good experience with your project and business area, then you can become a Scrum Master, too! but if you are not familiar with Agile, I suggest you take the Agile Crash Course: Agile Project Management; Agile Delivery to get yourself familiar with Sprint, Scrum, Kanban, and other Agile methodologies and tools.
You can learn some essential Scrum skills or acquire a Scrum certification to further improve your chances.
2. DevOps Engineer
This is another new opportunity for experienced developers. There's no formal career track for becoming a DevOps engineer.
他们要么是对部署和网络操作感兴趣的开发人员,要么是对脚本和编码充满热情的sysadmin,然后进入开发部门,他们可以在其中改进测试和部署的计划。
这意味着,如果您是一位经验丰富的Java程序员,并且热衷于管理环境,自动化和改善总体结构,那么您可以成为DevOps工程师。
If you are looking for some awesome resources, then Learn DevOps: CI/CD with Jenkins using Pipelines and Docker is a great course to start with, particularly for Java developers.
I have also shared, The 2020 DevOps Developer RoadMap, one of the comprehensive resources for becoming a DevOps Engineer in 2020.
3. Solution Architect
解决方案架构师负责组织内一个或多个应用程序或服务的设计,通常是解决方案开发团队的一部分。
他们必须具有平衡的技术和业务技能组合,并且经常与企业架构师一起制定战略方向。
解决方案架构师的工作是将功能分析人员创建的需求转换为该解决方案的体系结构,并通过体系结构和设计工件对其进行描述。
为了成为有效的解决方案架构师,您应该对基础知识有很好的了解,例如数据结构和算法以及系统设计和设计模式。
If you are looking to refresh your knowledge, then I suggest you start with Data Structures and Algorithms: Deep Dive Using Java to get a review of all the essential data structures and algorithms.
If you need courses, I have also jotted down some of the best courses to become a solution architect for senior programmers and developers.
If you like books, then you can also read my list of 5 must-read books for Solution architects or software architects.
4. Project Manager
项目经理负责项目的日常管理,并且必须有能力管理项目的六个方面,即范围,进度,财务,风险,质量和资源。
作为项目经理,您的工作是计划,预算,监督和记录正在处理的特定项目的所有方面。 项目经理可以与高层管理人员紧密合作
If you are new to project management and struggling to get control over your project, I suggest you start withBeginning Project Management: Project Management Level One, one of the better courses to understand project management basics.
I highly recommend this course to all developers who aspire to become a project manager. If you like, you can also go for PMP certification to become a certified Project Manager, very useful for your career progression in a quick time.
5. Business Analyst
分析人员参与业务系统或IT系统的设计或修改。 分析师与业务利益相关者和主题专家进行互动,以了解他们的问题和需求。
An analyst also gathers documents and analyzes business needs and requirements. If you are new to business analysis and wondering about your role, I suggest you take a look at the Business Analysis Fundamentals --- 2020, one of the better courses on the topic.
我向有抱负的业务分析师和开发人员都推荐此课程,他们将业务分析作为其工作的一部分。
这就是一些有经验的Java程序员的职业选择,就像拥有8至15年经验的人一样。 我知道,你们中的许多人不想进入人事管理的道路,并希望亲自动手编写代码以及当前所做的一切。
If so, then you should choose between a solution architect and DevOps engineer. Both are a very hands-on role, and you will remain working with technology.
另一方面,如果您现在正在考虑摆脱编码,并希望探索领导力,人员和产品方面的更多选择,那么Scrum主管,业务分析师和项目经理角色将非常适合您。
另一种选择是进入“开发人员关系”。 越来越多的组织向外部开发人员开放其API,这意味着他们需要开发人员倡导者。
Other Articles You May Like to Explore
The 2020 Java Developer RoadMap
10 Things Java and Web Developer Should Learn in 2020
10 Testing Tools Java Developers Should Know
5 Frameworks Java Developers Should Learn in 2020
5 Courses to Learn Big Data and Apache Spark in Java
10 Courses to learn DevØps for Java Developers
10 Books Every Java Programmer Should Read
10 Tools Java Developers uses in their day-to-day work
10 Tips to become a better Java Developer
感谢您阅读这篇文章! 如果您喜欢这篇文章,请与您的朋友和同事分享。 另外,如果您有任何疑问或反馈,请在下面的评论中注明!
from: https://dev.to//javinpaul/top-5-career-options-for-senior-developers-in-2020-3l60