人工智能替代的高级职业
Over the past five years, I\’ve given dozens of guest lectures at many of the coding bootcamps in Chicago.
在过去的五年中,我在芝加哥的许多编码训练营进行了数十次客座演讲。
A few questions never fail to come up: \”Which language should I learn next?\”, \”How can I prepare for technical interviews?\”, \”Are you hiring?\”
几个问题永远不会出现:“ 接下来我应该学习哪种语言? ”,“ 我如何为技术面试做准备? ”,“您正在招聘吗?”
But one question that threw me off was, \”What if I don\’t want to be a software developer?\”
但是让我烦恼的一个问题是:“如果我不想成为软件开发人员怎么办?”
I\’ve been thinking about this a lot lately. After almost a decade leading product and engineering teams, I realized I was ready for a new challenge, so this summer, I started freelance technical writing. I didn\’t know it when I got my first client, but I quickly realized that technical writing is one of many valid career paths for former software engineers.
我最近一直在想这个。 经过将近十年的领导产品和工程团队,我意识到自己已经准备好应对新的挑战,因此今年夏天,我开始从事自由技术写作 。 当我有了第一个客户时我并不知道,但是我很快意识到技术写作是前软件工程师的许多有效职业道路之一 。
软件开发人员还能做什么? (What Else Can Software Developers Do?)
This realization got me thinking: \”What other jobs can software engineers do besides write software?\”
这种认识让我开始思考:“软件工程师除了编写软件外还能做什么工作?”
The list is surprisingly long.
该列表非常长。
This post will go through many of the career paths available to software developers, especially recent bootcamp graduates. I\’ll explain what each job does, how you can get your foot in the door, and the long-term prospects.
这篇文章将介绍软件开发人员(尤其是新手训练营毕业生)可用的许多职业道路。 我将解释每项工作的用途,如何使自己步入正轨以及长期前景。
Whether you\’re looking for an alternate career path because you haven\’t found a job as an engineer or because you realized software development wasn\’t for you, this guide will help you find a career fit for your skillset.
无论您是因为没有找到工程师的工作而正在寻找替代职业,还是因为意识到软件开发都不适合您,本指南将帮助您找到适合自己技能的职业。
面向客户的角色 (Customer-Facing Roles)
While software engineers benefit from having people skills, some bootcamp graduates I\’ve talked to aren\’t looking forward to sitting quietly and writing code all day. If you want a career path that provides more opportunities to interact with people, these jobs may suit you.
尽管软件工程师会从提高人员技能中受益,但与我交谈过的一些训练营毕业生并不希望整日安静地坐下来编写代码。 如果您希望找到一条提供更多与人互动的机会的职业道路,这些工作可能会适合您。
1.开发人员关系,倡导或布道 (1. Developer Relations, Advocacy, or Evangelism)
As more companies strive to build relationships with developers who are their customers, users, or advocates, the field of developer relations is growing quickly.
随着越来越多的公司努力与作为其客户,用户或拥护者的开发人员建立关系,开发人员关系领域正在Swift发展。
Developer relations professionals (some companies call them developer advocates, developer evangelists, community managers, or \”DevRels\”) help establish and build a community around their company\’s software.
开发人员关系专业人员(有些公司称他们为开发人员拥护者,开发人员福音派,社区经理或“ DevRels”),帮助围绕公司软件建立和建立社区。
They are often involved in creating demo applications, writing blog posts, speaking at conferences, and managing social media accounts for tech-focused companies. Many of the big-name tech companies (Facebook, Google, Amazon, etc.) hire teams of developer relations professionals.
他们经常参与创建演示应用程序,撰写博客文章,在会议上发表演讲以及为专注于技术的公司管理社交媒体帐户。 许多知名科技公司(Facebook,Google,Amazon等)都雇用了开发人员关系专业人员团队。
If you\’re interested in this field, read up on what Mary Thengvall and PJ Hagerty are doing. They\’re two of my favorite influencers in the space, and they put out the Community Pulse podcast together.
如果您对此领域感兴趣,请阅读Mary Thengvall和PJ Hagerty的工作。 他们是我在太空中最喜欢的两个影响者,他们一起发布了Community Pulse播客 。
2.开发人员行销 (2. Developer Marketing)
While there\’s some overlap with developer relations, developer marketing is more outwardly focused.
虽然与开发人员的关系有些重叠,但是开发人员的营销更侧重于外部。
Marketing to developers is especially tricky because we don\’t like to be sold, so many of the more aggressive marketing tactics that work for other markets are taboo here. As a person with a technical background, you\’ll naturally understand the way developers think, and you\’ll have more clout than a traditional marketer might.
向开发人员进行营销特别棘手,因为我们不喜欢被出售,因此在其他市场上适用的许多更具侵略性的营销策略都是禁忌。 作为具有技术背景的人,您自然会了解开发人员的想法,并且比传统的营销人员可能会更有影响力。
SlashData puts out a lot of great content about Developer Marketing, including a book on the topic in 2018. If you\’d like to get started in this field, learn online marketing: SEO, social media, content marketing, influencer marketing, etc. You can practice many of these skills on your blog to demonstrate your knowledge before applying to jobs.
SlashData推出了许多有关Developer Marketing的精彩内容,包括有关2018年主题的书 。 如果您想开始该领域,请学习在线营销:SEO,社交媒体,内容营销,有影响力的营销等等。您可以在博客上练习许多这些技能,以在申请工作之前证明自己的知识。
3.销售工程师 (3. Sales Engineer)
Many engineers are turned off by any job with \”sales\” in the title, but that\’s just because we\’ve all encountered bad salespeople.
许多工程师被标题为“销售”的任何工作关闭,但这仅仅是因为我们都遇到了糟糕的销售人员。
The truth is that everyone is in sales. Whether you\’re \”selling\” yourself as a job candidate during the interview process or advocating for a new framework on your engineering team, sales means matching a customer\’s needs with the right solution.
事实是, 每个人都在销售 。 无论您是在面试过程中“推销”自己作为求职者,还是在工程团队中倡导新框架,销售都意味着将客户的需求与正确的解决方案相匹配。
Sales engineers are unique in that they have some level of technical expertise. This can be an excellent match for developers who don\’t want to write code all day but understand software engineering.
销售工程师的独特之处在于他们具有一定水平的技术专长。 对于那些不想整天编写代码但了解软件工程的开发人员来说,这可能是一个绝佳的选择。
The other nice part about sales is that you don\’t need any specialized certifications to do it. Hubspot offers a great introduction to some skills and resources you can start with. As more companies build software tools and services for engineers, sales engineers will likely become even more in-demand in the coming decade.
关于销售的另一个好处是您不需要任何专业认证。 Hubspot很好地介绍了您可以开始使用的一些技能和资源。 随着越来越多的公司为工程师构建软件工具和服务,在未来十年中,销售工程师的需求可能会更大。
4.技术人员 (4. Technical Recruiter)
Another profession that gets a bad rap among software engineers is technical recruiting.
在软件工程师中,另一个不好的说唱专业是技术招聘。
I\’ve met some honest, genuine tech recruiters (Taylor Dorsett and Matt Hoffman from my home city of Chicago, for example), but I\’ve also met some awful, clueless recruiters who are purely focused on churning through candidates to hit their quota.
我见过一些诚实,真诚的技术招聘人员(例如,我的家乡芝加哥的泰勒·多西特 ( Taylor Dorsett)和马特·霍夫曼 ( Matt Hoffman ),但是我也遇到过一些糟糕透顶的招聘人员,他们纯粹专注于通过候选人来达到配额。
The good news is that with a background in software development, you\’ll have more empathy and credibility than many other technical recruiters out there. Like sales, this field requires a more outgoing, relationship-focused personality, but it doesn\’t require specialized certifications or courses.
好消息是,拥有软件开发背景的人员将比那里的许多其他技术招聘人员更具同理心和信誉。 像销售一样,该领域要求更外向,注重关系的个性,但不需要专门的证书或课程。
Unfortunately, many of the entry-level jobs in tech recruiting are at low-quality firms, so be sure to check their reputations on Glassdoor before you apply.
不幸的是,技术招聘中的许多入门级工作都是在低质量的公司中进行的,因此在申请之前,请务必在Glassdoor上检查其声誉 。
产品角色 (Product Roles)
If you want to remain on the product team, but you\’re not sure you want to be a software developer, there are many fields you can transition into. These roles work closely with engineers, so your coding knowledge will help you, but they also require other specialized knowledge.
如果您想留在产品团队中,但不确定要成为软件开发人员,则可以转换成许多领域。 这些角色与工程师紧密合作,因此您的编码知识将为您提供帮助,但它们还需要其他专业知识。
5.质量保证或测试工程师 (5. Quality Assurance or Test Engineer)
While there are subtle differences between quality assurance and test engineers, both deal with testing software before it goes live.
尽管质量保证和测试工程师之间存在细微的差异 ,但是两者都必须在测试软件上线之前对其进行处理。
If you have an eye for detail and you like coming up with creative ways to automate repetitive tasks, this could be a great career path. It will likely require some coding as well as some manual testing work.
如果您注重细节,并且喜欢提出创造性的方法来自动化重复性任务,那么这可能是一条不错的职业道路。 这可能需要一些编码以及一些手动测试工作。
Smaller companies have their software engineers test each other\’s code, so dedicated test and QA roles are most common in large organizations. There is a lot of variance between how companies do testing, so be sure to ask about the tools they use, how automated their tests are, and how much your role will entail manual vs. automated tests.
较小的公司让他们的软件工程师测试彼此的代码,因此专用的测试和QA角色在大型组织中最常见。 公司进行测试的方式之间存在很大差异,因此请务必询问他们使用的工具,测试的自动化程度以及您所承担的角色需要手动还是自动进行多少测试。
6.业务分析师 (6. Business Analyst)
On the other end of the product development lifecycle are business analysts. They typically work as a bridge between the business and technical teams to ensure that requirements, limitations, and timelines are understood. They may also hop in and help with testing and quality assurance, depending on the team\’s structure, so they need to have a wide range of product knowledge.
产品开发生命周期的另一端是业务分析师。 它们通常充当业务和技术团队之间的桥梁,以确保了解要求,限制和时间表。 根据团队的结构,他们可能还会加入并帮助进行测试和质量保证,因此他们需要具备广泛的产品知识。
If you have a background in business, product development, or design and some coding skills, you may qualify for an entry-level business analyst role. If not, I\’d recommend looking into some online courses to help you develop a basic understanding of the role and what it entails.
如果您具有业务,产品开发或设计的背景,并且具有一定的编码技能,那么您可能有资格担任入门级业务分析师的角色。 如果没有,我建议您研究一些在线课程,以帮助您对角色及其作用有一个基本的了解。
7.项目经理 (7. Project Manager)
Like business analysts, project managers must understand their product\’s business requirements and technical constraints.
像业务分析师一样,项目经理必须了解其产品的业务需求和技术约束。
The key difference is that project managers typically go deep into a single project. They often define tasks and resources for the teams working on the project and track the project\’s progress as it nears release.
关键区别在于,项目经理通常会深入单个项目。 他们通常为项目团队定义任务和资源,并在项目即将发布时跟踪项目的进度。
Smaller companies may combine the business analyst, project management, scrum master, and product manager roles in various ways, but larger companies may define separate responsibilities.
较小的公司可以通过各种方式组合业务分析师,项目管理,Scrum管理员和产品经理的角色,但是较大的公司可以定义单独的职责。
Excellent organization skills, understanding of the business, and people skills are critical to succeed as a project manager. This role hinges on your ability to manage expectations and motivate people who might be more senior or experienced than you, so you have to build trust quickly. This role\’s multifaceted nature makes it a good fit for analytical, technical people who don\’t want to write code anymore.
出色的组织技能,对业务的理解以及人员技能对于项目经理的成功至关重要。 该角色取决于您管理期望的能力和激励可能比您更资深或更有经验的人,因此您必须快速建立信任。 这个角色的多面性使其非常适合那些不想再编写代码的分析技术人员。
8. Scrum Master (8. Scrum Master)
In Agile teams, the Scrum Master helps make sure everyone knows and buys into Scrum theory, best practices, and rules.
在敏捷团队中, Scrum Master帮助确保每个人都了解并购买Scrum理论,最佳实践和规则。
This ends up looking a lot like project management, but with a particular emphasis on serving the other teams involved in building the product. Again, this is not always its own job, but in larger organizations, it may be.
最终看起来很像项目管理,但特别着重于为参与产品开发的其他团队提供服务。 再次,这并不总是它自己的工作,但是在较大的组织中,可能是这样。
The ability to manage expectations and limitations is critical to your success as a Scrum Master. You\’ll also need to know Agile best practices, so I\’d recommend finding a suitable course or book on the topic. Agile has seen widespread adoption at organizations of all sizes, so this career path is likely to continue growing in the coming decade.
管理期望和限制的能力对于您作为Scrum Master的成功至关重要。 您还需要了解敏捷最佳实践,因此,我建议您找到适合该主题的合适课程或书。 敏捷已经在各种规模的组织中得到广泛采用,因此这种职业道路在未来十年中可能会继续增长。
9.产品经理 (9. Product Manager)
I spent a lot of time in 2019 learning about product management to improve our product delivery process at The Graide Network.
我在2019年花了很多时间在The Graide Network上学习产品管理以改善我们的产品交付流程 。
Product managers look holistically at the company\’s products to ensure they are desirable (customers want it), viable (makes business sense), and feasible (we can build it). The ability to think at a high level like this is rare, so if you have it and some technical background, you might do well as a product manager.
产品经理从整体上看公司的产品,以确保它们是理想的(客户想要的),可行的(具有商业意义)和可行的(我们可以制造)。 像这样的高水平思考的能力是很少见的,因此,如果您具备这种能力和一定的技术背景,那么作为产品经理,您可能会做得很好。
Entry-level product managers may start with smaller parts of the product or as project managers in some organizations. This can give you a taste of product development and help you build relationships with all the necessary stakeholders before you\’re assigned your own product to manage.
入门级产品经理可能从产品的较小部分开始,或者在某些组织中以项目经理的身份开始。 这可以让您尝尝产品开发的乐趣,并帮助您在分配自己的产品进行管理之前与所有必要的利益相关者建立关系。
10.设计师 (10. Designer)
If you come from a design or artistic background, becoming a UI or UX designer with some coding chops is a great way to stand out in your field. This combination of skills will allow you to speak more effectively with engineers and create interactive mockups in HTML/CSS rather than just static image files.
如果您来自设计或艺术背景,成为具有一些编码技巧的UI或UX设计师是在您的领域脱颖而出的好方法。 这些技能的组合将使您可以更有效地与工程师交流,并在HTML / CSS中创建交互式模型,而不仅仅是静态图像文件。
If you don\’t have much experience in design, take a course, and start building a portfolio. Many companies will hire people without a degree if they can showcase their knowledge and skills. Dribbble is the most common portfolio platform I\’ve seen, but you can also use your own website.
如果您没有太多的设计经验,请参加课程并开始建立投资组合。 如果能展示他们的知识和技能,许多公司会雇用没有学位的人员。 Dribbble是我见过的最常见的投资组合平台,但是您也可以使用自己的网站。
11.没有或低码开发人员 (11. No or Low-Code Developer)
The explosion of no-code and low-code development tools in the past few years has opened up opportunities for companies that want to quickly build software without hiring a development team. These tools allow you to create a mobile or web app in hours instead of weeks, and because they are getting better every year, more companies are embracing no-code apps.
过去几年中, 无代码和低代码开发工具的爆炸式增长为希望快速构建软件而无需雇用开发团队的公司提供了机会。 这些工具使您可以在数小时内(而不是数周)内创建移动或Web应用程序,并且由于它们每年都在变得越来越好,因此越来越多的公司开始使用无代码应用程序。
Makerpad and No Code Jobs are good places to start looking for these kinds of jobs. Because this is a new field, you\’ll find a wide range of required skills and payscales, but your background writing code will undoubtedly prove to be an asset.
Makerpad和No Code Jobs是开始寻找这类工作的好地方。 因为这是一个新领域,所以您会找到各种必需的技能和薪水表,但是毫无疑问,您的背景写作代码将成为资产。
支持角色 (Support Roles)
A lot of new software engineers aren\’t aware of the many employees behind the scenes who help keep servers, websites, and operations running smoothly. Some of these roles require you to write automation scripts or have in-depth knowledge of server administration, but if you are looking for something outside of the traditional product development cycle, but with a technical bent, these could be a great fit.
许多新软件工程师并不了解幕后的许多员工,这些员工可以帮助保持服务器,网站和操作的平稳运行。 其中一些角色需要您编写自动化脚本或对服务器管理有深入的了解,但是如果您正在寻找传统产品开发周期之外的内容,但又出于技术方面的考虑,那么这些角色可能非常适合。
12. Sysadmin或DevOps工程师 (12. Sysadmin or DevOps Engineer)
Large software companies have hundreds or thousands of servers that need to be patched, upgraded, and rotated throughout the year. While the widespread adoption of cloud computing has changed this job from physically plugging in servers to working with software like Terraform and Kubernetes, there\’s no shortage of jobs in this field.
大型软件公司全年有成百上千的服务器需要修补,升级和轮换。 尽管云计算的广泛采用已使这项工作从物理上插入服务器转变为使用Terraform和Kubernetes之类的软件,但在该领域并不缺少工作。
Traditionally, System Administrators have been responsible for maintaining and administering servers as needed by the engineering teams. As organizations have grown and moved to cloud hosting, many have adopted the title DevOps engineer to reflect the increased automation being used in this process. In practice, there\’s a lot of overlap between these roles.
传统上,系统管理员负责根据工程团队的需要维护和管理服务器 。 随着组织的成长和迁移到云托管,许多组织都采用了DevOps工程师的头衔来反映此过程中使用的越来越多的自动化。 实际上,这些角色之间有很多重叠之处。
Either way, you\’ll need a basic understanding of operating systems, hosting platforms, automation tools, bash scripting, and system architecture. It can be hard to find entry-level jobs in this field because it requires such a wide array of technical knowledge, but it\’s a great role to transition into if you like the problem-solving aspects of engineering without the UI/UX requirements that most customer-facing products require.
无论哪种方式,您都需要对操作系统,托管平台,自动化工具,bash脚本和系统体系结构有基本的了解。 在该领域可能很难找到入门级的工作,因为它需要大量的技术知识,但是如果您不喜欢大多数UI / UX要求的工程问题解决方案,那么这是一个非常重要的角色面向客户的产品要求。
13.数据库管理员 (13. Database Administrator)
Some companies lump database administrators in with system administrators, but this can be a distinct role.
一些公司将数据库管理员和系统管理员放在一起,但是这可能是一个不同的角色。
Database administrators deal with security, provisioning, scaling, and optimization of low-level data storage systems. You\’ll need a knowledge of SQL and NoSQL databases, security best practices, and some basic scripting skills, but you won\’t likely be writing code all day. You\’ll also get to worry about really minute optimization problems like fixing indexes and caches.
数据库管理员负责处理低级数据存储系统的安全性,供应,扩展和优化。 您将需要有关SQL和NoSQL数据库的知识,安全性最佳实践以及一些基本的脚本编写技能,但是您可能不会整天都在编写代码。 您还将担心真正微小的优化问题,例如修复索引和缓存。
If you\’re new to software development, start by learning everything you can about databases. You\’ll need to know which database is right for which application and how to optimize each of them at scale, so it can be hard to practice this on your own. If you want to find some large datasets to work with, check out Kaggle.
如果您不熟悉软件开发,请首先学习有关数据库的所有知识。 您需要知道哪个数据库适合于哪个应用程序,以及如何大规模优化每个数据库,因此很难独自实践。 如果要查找一些大型数据集以使用,请查看Kaggle 。
14.站点可靠性工程师 (14. Site Reliability Engineer)
Site Reliability Engineers are responsible for responding to and fixing critical issues that come up in production. Often this means they rotate through an \”on-call\” list, so you might work some strange hours. The upside is that you\’ll get really good at solving a wide range of unusual problems, building automated alerts, and reading server logs.
站点可靠性工程师负责响应和解决生产中出现的关键问题。 通常,这意味着他们轮流浏览“通话中”列表,因此您可能要花一些奇怪的时间。 好处是,您将非常擅长解决各种异常问题,构建自动警报并读取服务器日志。
Because of the highly reactive nature of this job, it can be hard to keep experienced software engineers in site reliability roles for a long time. That said, it could be a great place to get your foot in the door if you\’re having trouble finding your first software development role. I\’ve known two bootcamp graduates who started in SRE roles before transitioning into software development. You might even find that you like the challenge and excitement of fast-paced problem-solving.
由于这项工作具有高度React性,因此很难长时间保持经验丰富的软件工程师担任站点可靠性角色。 就是说,如果您在找到自己的第一个软件开发角色时遇到困难,那么这可能是个不错的选择。 我认识过两个训练营的毕业生,他们从SRE职位开始,然后过渡到软件开发。 您甚至可能会发现自己喜欢快速解决问题的挑战和兴奋。
15.技术或客户支持 (15. Technical or Customer Support)
While some engineers fear interactions with customers, others find it energizing to help people solve problems all day. Your experience coding will make you an ideal candidate for customer support roles at software companies who need someone with a technical background to answer questions and suggest fixes.
尽管有些工程师担心与客户的互动,但另一些工程师却发现,它可以帮助人们整日解决问题。 您的经验编码将使您成为软件公司客户支持职位的理想人选,这些公司需要具有技术背景的人员来回答问题和提出建议。
The downside to working in support is that you might have to interact with people at their worst. Unsatisfied or frustrated users probably aren\’t happy to be talking to the tech support team, so you\’ll need a lot of patience and thick skin to stay in this role for long.
支持工作的不利之处在于,您可能必须在人们最糟糕的情况下与他们互动。 不满意或沮丧的用户可能不愿意与技术支持团队交谈,因此您需要大量的耐心和浓密的皮肤才能长期担任此角色。
教学和写作角色 (Teaching and Writing Roles)
I\’ve always loved teaching, so I found myself gravitating towards engineering roles that allowed me to do this. If you enjoy breaking complex topics down and presenting them to other engineers, there are a few career paths you can pursue.
我一直很喜欢教学,所以我发现自己偏向于允许我这么做的工程职位。 如果您喜欢分解复杂的主题并将其介绍给其他工程师,则可以选择几种职业途径。
16.技术作家 (16. Technical Writer)
My third internship in college was as a technical writer at a huge corporation. It was pretty dry writing, but I enjoyed learning new things every day.
我在大学的第三次实习是在一家大公司担任技术作家。 写作很枯燥,但是我每天都喜欢学习新事物。
I\’ve since discovered that technical writing doesn\’t only mean documentation. You can pursue technical blogging or copywriting; you can create internal or external documentation; you can create demo apps and tutorials. It\’s one of the best-paid fields for writers, so it\’s worth considering.
从那以后,我发现技术写作不仅意味着文档。 您可以从事技术博客或文案写作; 您可以创建内部或外部文档; 您可以创建演示应用程序和教程。 对于作家来说,这是报酬最高的领域之一,因此值得考虑。
If you go this route, you will need to be good at writing (obviously), organizing complex ideas, and learning new things. The more you\’re able to self-edit, the more valuable your work will be, so invest in tools that help make you better and more efficient.
如果走这条路,您将需要擅长写作(显然),组织复杂的思想和学习新事物。 您进行自我编辑的能力越强,您的工作就会越有价值,因此,投资购买有助于提高您的工作效率和效率的工具。
You can start off writing for some of the paid community writing programs, and parlay that experience into a full-time job as you build up a network and portfolio.
您可以开始为某些付费社区写作计划写作 ,并在建立网络和投资组合时将其经验转化为全职工作。
17.老师 (17. Teacher)
There are several ways you can pivot from a career in software development into one as a teacher. You could get a job teaching at a coding bootcamp, you could teach at a college or high school, you could join a platform like egghead.io, or you could create your own course website with Teachable or Educative. The path you take depends on your background and risk tolerance.
您可以通过多种方式将软件开发职业转变为教师。 您可以在编码训练营中找到工作,可以在大学或高中中任教,可以加入egghead.io之类的平台,也可以使用Teachable或Educative创建自己的课程网站。 您采取的方法取决于您的背景和风险承受能力。
In any case, teachers have to learn new information quickly and present it in a digestible format to their students. You have to meet your audience at their level and build trust with them to succeed. Teaching may pay less than software development, but it can also be a very fulfilling career path.
无论如何,教师必须快速学习新信息,并以易于消化的格式向学生展示。 您必须在他们的水平上与观众见面,并与他们建立信任才能成功。 教学的费用可能低于软件开发的费用,但它也可能是一条非常令人满意的职业道路。
18.培训师 (18. Trainer)
Corporate training is another form of teaching, but also worth considering. Trainers may work as independent consultants or employees at large companies where they typically travel to their customers\’ offices to deliver hands-on training for specialized software.
企业培训是另一种教学形式,但也值得考虑。 培训人员可以在大型公司中担任独立顾问或员工的职务,他们通常会前往客户办公室为特殊软件提供动手培训。
Trainers may have deep technical knowledge, but some are just tech-savvy communicators. Corporate training usually pays better than teaching, but it might also be more sales-driven. Trainers often speak at conferences, deliver community workshops, or travel to meetup groups between training sessions.
培训师可能具有深厚的技术知识,但有些仅仅是精通技术的交流者。 企业培训通常比教学更好,但也可能更多是由销售驱动的。 培训人员经常在会议上讲话,举办社区研讨会或在培训课程之间参加聚会小组。
If you like being on stage and presenting technical concepts, this could be an ideal career path.
如果您喜欢在舞台上展示技术概念,那可能是一条理想的职业道路。
分析角色 (Analytical Roles)
Lots of roles within technology companies require analytical skills. While many of these fields require specialized education, it\’s worth considering them if you\’re making a career pivot away from software engineering. You\’ll get to work at a different pace than most product-focused engineers, and like some of the support roles above, you may get to interact with other parts of the business.
科技公司中的许多角色都需要分析技能。 尽管这些领域中的许多领域都需要专门的教育,但是如果您要离开软件工程事业,则值得考虑一下。 您将以与大多数专注于产品的工程师不同的速度工作,并且像上面的某些支持角色一样,您可能会与业务的其他部门进行交互。
19.数据科学家或工程师 (19. Data Scientist or Engineer)
These two roles (some companies combine them) involve using large data sets to help the business or their customers make better decisions.
这两个角色(有些公司将它们结合在一起)涉及使用大数据集来帮助企业或其客户做出更好的决策。
Data engineers usually work on the data ingestion and organization pipeline, while data scientists design the experiments and algorithms that crunch this data into useful results. Data science (AI, Machine Learning, etc.) is a huge field with roots in math, software engineering, and statistics.
数据工程师通常负责数据提取和组织流程,而数据科学家则设计实验和算法,将这些数据转化为有用的结果。 数据科学(人工智能,机器学习等)是一个巨大的领域 ,其根源是数学,软件工程和统计学。
There are courses, bootcamps, and college degrees for data science and engineering, but you might be able to learn some of the basics on your own if you have a strong math background. If not, consider brushing up on numerical analysis, matrix algebra, and statistics first.
有数据科学和工程学的课程,训练营和大学学位,但是如果您有很强的数学背景,您也许可以自己学习一些基础知识。 如果没有,请考虑先进行数值分析,矩阵代数和统计。
Because these skills take a long time to learn and data scientists are in high demand, this role pays well and isn\’t likely to go away anytime soon.
由于学习这些技能需要花费很长时间,并且对数据科学家的需求很高,因此该职位的薪酬很高,而且不太可能很快消失。
20.安全分析师 (20. Security Analyst)
Information security roles usually fly under the radar until something goes wrong. While every developer should be aware of security vulnerabilities and risks, security analysts are hired explicitly to find, catalog, and suggest fixes for security issues.
信息安全角色通常会躲在雷达下,直到出现问题为止。 尽管每个开发人员都应意识到安全漏洞和风险,但还是明确雇用了安全分析人员来查找,分类和建议解决安全问题的方法。
Some work as independent consultants, but at larger companies, there may be teams in-house. This role is interesting because it requires a mix of technical, compliance, business, and risk assessment skills.
有些人担任独立顾问,但在大公司中,可能会有内部团队。 这个角色很有趣,因为它需要技术,合规性,业务和风险评估技能的综合。
Security jobs are also among the hardest for technology leaders to fill, so you\’ll have job security here. Information security is a broad field, so check out some of the many paths you can take if you\’re interested in pursuing it.
安全性工作也是技术领导者最难填补的工作之一 ,因此您将在这里获得工作安全性。 信息安全是一个广阔的领域,因此,如果您有兴趣追求它, 请查看许多可采取的途径 。
21.研发 (21. R&D)
Working in research and development can be a unique experience for someone with software engineering skills. Large companies like Google and Amazon devote a portion of their profits to high-risk, potentially high-reward experiments carried out by research and development teams. These cross-disciplinary teams may include software developers, data scientists, business analysts, and project managers.
对于具有软件工程技能的人来说,从事研发工作可能是一次独特的经历。 像Google和Amazon这样的大公司,将其利润的一部分用于研发团队进行的高风险,潜在的高回报实验。 这些跨学科团队可能包括软件开发人员,数据科学家,业务分析师和项目经理。
Getting into a good R&D team is hard. These roles tend to be competitive and require highly specialized knowledge about topics that you likely won\’t learn in a coding bootcamp. That said, some companies hire ethical hackers, founders, or polyglots to help round out the team and throw some creative thinking into the mix.
进入一支优秀的研发团队非常困难。 这些角色往往具有竞争性,并且需要有关您可能在编码训练营中不会学到的主题的高度专业化的知识。 就是说,一些公司雇用道德的黑客 ,创始人或多才多艺的人来帮助完善团队,并在其中融入一些创造性思维。
独立性和灵活性 (Independence and Flexibility)
While ours is a profession that often allows remote work and sometimes even sabbaticals, you may want even more flexibility in your life. If you have the drive to start your own business, you might be able to work 4 hours per week, spend six months of the year traveling, or spend half your time working on open source projects. It\’s not easy, but as a software developer, you have a huge leg up on most people.
虽然我们的职业通常允许进行远程工作,有时甚至允许休假 ,但您可能希望生活更加灵活。 如果您有开办自己的事业的动力,则您可能可以每周工作4个小时,一年中花六个月的时间,或者花一半时间从事开源项目。 这并不容易,但是作为软件开发人员,您对大多数人都有很大的帮助。
22.自由职业者或顾问 (22. Freelancer or Consultant)
One way to capture more freedom is to leave your 9-5 job and become a freelancer. As a freelancer, you will hire yourself out to one or more clients who will pay you by the hour to write code for them. Companies often hire freelancers to work on specific short-term projects, clean up technical debt, or fill in gaps when an employee takes a break.
争取更多自由的一种方法是离开9-5岁的工作,成为自由职业者。 作为自由职业者,您将聘请一个或多个客户,这些客户将按小时向您付款,为他们编写代码。 公司经常雇用自由职业者从事特定的短期项目,清理技术债务,或者在员工休息时填补空白。
Consultants are higher-end freelancers who solve specific problems for their clients. While they may write code, they\’re often brought in because of their expertise or unique background. The line between freelancers and consultants is pretty blurry, so don\’t get caught up too much in the semantics.
顾问是高端的自由职业者,可以为客户解决特定的问题。 尽管他们可能会编写代码,但由于他们的专业知识或独特的背景而经常被带进来。 自由职业者和顾问之间的界线非常模糊,因此不要在语义上陷入太多。
Getting started as a freelancer or consultant is the hardest part. If you don\’t have a huge network, you\’ll probably rely on platforms like Upwork or Toptal to find clients. These platforms take a significant cut of your revenue and force you to compete directly with lots of other freelancers around the world.
作为自由职业者或顾问入门是最困难的部分。 如果您没有庞大的网络,则可能需要依靠Upwork或Toptal等平台来寻找客户。 这些平台极大地减少了您的收入,并迫使您直接与全球许多其他自由职业者竞争。
As you build up a reputation and client list, you will be able to get more work from referrals. Referrals are great because the client comes to you based on a trusted relationship rather than the anonymity of the internet. If you get really good at freelancing or consulting, you can push your rate high enough that you can take some time off between each engagement.
建立信誉和客户列表时,您将能够从引荐中获得更多工作。 推荐是很棒的,因为客户是基于可信任的关系而不是互联网的匿名性来找您的。 如果您真的很擅长自由职业或咨询,则可以将您的费率提高到足够高的水平,以便在每次参与之间可以花一些时间。
23.创业创始人 (23. Startup Founder)
The internet is full of stories of software engineers who start businesses (1, 2, 3), so you might get the impression that it\’s easy or even a good idea.
互联网是完整的软件工程师的故事,谁创业( 1 , 2 , 3 ),所以你可能会得到的印象是,它很容易,甚至是一个好主意。
The truth is, it depends.
事实是,这取决于。
Startups usually take a long time to generate revenue, so you\’ll need to live without a paycheck for several months or years to make this work. That said, if you want to build your own software business, the upside is nearly limitless.
初创公司通常需要很长时间才能产生收入,因此您需要几个月或几年没有薪水的生活才能完成这项工作。 就是说,如果您想建立自己的软件业务,那么其发展潜力几乎是无限的。
You may also be able to start a company outside of your regular working hours. While this is hard to do (and may have legal ramifications), it\’s not uncommon. If you can find one or two other founders to share the load with, that may increase your chance of success.
您也许还可以在正常工作时间之外创办公司。 尽管这很难做到(并且可能会产生法律后果) ,但这并不少见。 如果您可以找到其他一两个创始人共同分担工作负担,则可能会增加成功的机会。
最后的想法 (Final Thoughts)
Software engineering is an exciting field, but it\’s not for everyone. Even if you leave, the skills you gained won\’t go to waste if you decide to do something else.
软件工程是一个令人兴奋的领域,但并不是每个人都适合。 即使您离开,如果决定做其他事情,获得的技能也不会浪费。
Many bootcamp graduates are afraid to seek jobs outside the field of software development, but I\’d encourage you to follow your own path. Balance practicality (making enough money to live) with your interests, and hopefully, you can find a career path where work doesn\’t feel like \”work.\”
许多训练营的毕业生都害怕在软件开发领域以外寻找工作,但我鼓励您走自己的路。 在实用性(赚到足够的钱来维持生活)和您的兴趣之间取得平衡,并希望您可以找到一条职业感觉,使工作不再像“工作”。
I\’d love to hear your thoughts. If you\’ve taken an unconventional path or made a career switch, let me know what you think on Twitter.
我很想听听您的想法。 如果您采取了非常规的方法或转行了职业,请告诉我您在Twitter上的想法 。
翻译自: https://www.freecodecamp.org/news/alternative-career-paths/
人工智能替代的高级职业