软件行业竞争越来越激烈的当下,你应该成为
他已经在公司的核心项目上工作了几个月。无数个小时仔细研究代码行,分析每个细节。该产品的推出也许将彻底改变该行业。他感到真正的使命驱动、真正的兴奋感和成就感。他早就知道了这个问题的答案:“我应该成为一名软件工程师”。
可能性1:随着发布日期的临近,一个bug出现了,这个bug没有被注意到,并且上线之后可能会破坏整个项目。他决心满足截止日期和标准,不知疲倦地进行测试和重新测试,他和团队全程忙碌。然后找到了并修复了bug。
可能性2:产品发布当日,运行的还算不错,当天半夜1点系统开始宕机,整个团队被拉起来加班,查找问题,经过一夜的忙碌,修改代码,重新部署,问题还没有得到彻底解决,第二天拖着沉重的脑袋开会讨论如何彻底解决,以及要向领导保证多久能解决。
上面描述的场景是典型的互联网企业发布产品时候的状态,想要成为软件工程师,首要的第一点要能承受压力。
旅程的开始软件工程师的生活可能并不总是那么戏剧化,但成为一名优秀开发人员的特征可以让你走上充满活力的职业道路。当问自己我应该成为一名工程师时,您可能会提出一些与行业相关的问题:
我喜欢解决问题吗?
我是否重视不断学习并紧跟最新技术趋势?
我是否愿意与团队一起开展长期项目?
我喜欢协作和独立工作吗?
我在高压、紧迫的工作环境中感到舒服吗?
我对编程、构建和创建软件应用程序有热情吗?
最后一个可能看起来很合乎逻辑,因为这就是软件工程的全部内容,但学习编码并不一定意味着您必须成为一名工程师。(训练营不仅仅适合那些具有技术背景的人,我们的许多校友来自不同的背景:教学、非营利组织、营销、设计等等。)
1.问问自己你喜欢做什么?软件工程适合您吗?人们很容易将某些特征归因于特定的职业角色:销售人员善于交际,设计师富有创造力,工程师擅长数学。然而,就像生活中的所有事情一样,事情并没有那么简单。作为一名软件工程师,有很多因素有助于您取得成功。将此视为一个简短的“我应该成为一名软件工程师”测验:
你喜欢解决问题吗?
你喜欢思考新的做事方式吗?
您喜欢拼图和其他智力挑战游戏吗?
你喜欢用电脑工作吗?
你喜欢挑战吗?
您想知道事情是如何运作的吗?
现在这是棘手的部分。如果您对上述大多数问题的回答是肯定的,那么是的,您可能确实拥有在软件工程领域表现出色的正确心态。这也意味着你善于分析、深思熟虑并且喜欢挑战。这些品质适用于许多其他职业,包括软件工程。
2.问问自己你想做什么?你想改变世界吗?
您对我们的世界面临的挑战感兴趣吗?
您想帮助人们并改善他们的生活吗?
除了“我应该成为一名软件工程师”之外(以及在我如何成为一名软件工程师之前),您还可以问“我会成为一名优秀的工程师吗?”
顺便说一句,确实有无数软件工程师改变世界的例子来帮助你回答“为什么选择软件工程?”这个问题。想想社交媒体和即时消息等现代通信软件。考虑医疗保健行业中的电子健康记录和远程医疗,或使教育更容易获得和个性化的电子学习平台和工具。这样的例子不胜枚举,涉及交通、能源、娱乐以及几乎所有行业。
.您喜欢当前工作的哪些方面?您不喜欢当前职位的哪些方面?对于很多专业的学生来讲,软件工程是他们期望的第一职业。
假设您喜欢客户服务中的客户交互部分。考虑一下这种经验将如何帮助您构建更多对客户友好的程序和工具。如果您不喜欢事件管理的手动方面,那么如何将其转化为技术角色?
考虑一下您当前角色的利弊,并考虑它们如何在工程领域的新机会中发挥作用。没有工作是完美的,但如果您喜欢亲自解决问题并喜欢使用技术,那么工程可能是您想要追求的道路。
4.你为什么想成为一名工程师?你知道你想成为什么样的工程师吗?如果您的答案仅与您父母对您的期望或您想赚多少钱有关,那么在做出转变之前,可能值得更多地了解您将作为一名工程师做什么。虽然没有什么工作是完美的,但如果您不喜欢大部分工程工作,那么薪水或父母的批准可能不值得成为一名工程师。也就是说,如果您对该领域充满热情,请尝试研究特定的工程领域。
花一些时间了解前端和后端开发的差异以及全栈角色的含义。您可能会倾向于后端角色的基础架构,或者前端开发和设计可能适合您。在学习过程中,您将能够磨练自己想成为什么样的工程师,但了解可用选项的基本知识总是有帮助的。
5.与软件工程师进行信息访谈成为一名工软件程师需要什么?工作内容包括什么?什么技能最有价值?如果您正在寻找这些问题的答案,那么为什么不去找专家呢?
这看起来似乎是理所当然的事情,但在您决定成为一名工程师或学习编码之前,最好与该行业的其他人交谈,了解他们是如何做到这一点的,以及他们的日常工作日常工作和职责,以及当您希望进入科技行业时他们可能为您提供的任何建议。(要快速入门并提出一些问题,请阅读“关于成为软件工程师的真相”。)
首先联系您的个人和专业网络。您认识任何工程师,或者有朋友、家人或同事可以向您介绍工程师吗?练习您的网络技能并开始建立行业内的联系人列表。如果您仍然在问“我应该成为什么类型的工程师”,请考虑与多个工程学科建立联系。
6.解决非编码难题我怎么知道工程学是否适合我?从本质上讲,编码是基于逻辑的问题解决。要准备进入工程师的思维模式,请尝试完成一些算法或其他谜题、填字游戏或数独。
在这些练习中进行的练习越多越好。随着你的前进,解决这些难题有助于建立解决问题的信心。如果您遇到无法解决的问题,请记住:
了解你不知道的事情
设定分析流程
帮助以系统或迭代的方式建立思维。
记住您遇到的这些障碍或问题,以及您如何找到解决方案。当您继续走上工程学之路时,这些示例可以让您对自己的进步充满信心,甚至有助于应对冒名顶替综合症。
7.了解您使用的软件您是否经常使用或访问哪些应用程序或网站?在他们的网站上搜索开发人员博客或查找讨论其API的其他工程博客。这些论坛中可能有一些见解,您可以了解他们是否以团队为中心还是更喜欢个人贡献者、他们使用什么语言(Python?)以及他们是否使用开源或专有托管。如果他们在GitHub上,请查看他们的代码。
8.了解你已经使用的算法就像了解软件一样,了解常用算法也有助于理解编程。
想一想Amazon或Netflix使用的推荐算法,根据您之前的购买和观看历史向您推荐产品或电影。Spotify同样会根据您的收听历史记录以及有关您的消费的一系列其他行为和特征来推荐歌曲或播客。或者考虑公司使用情绪分析算法来分析在社交媒体、评论网站或其自己的网站上收集的反馈,以更好地了解客户如何与其产品和通信进行交互和响应。或者考虑一下像Twitter这样的主要社交媒体平台是如何围绕其首席执行官、股东和用户复杂且有时相互矛盾的期望来塑造和重塑其算法的。
您可能每天都会遇到这些面向消费者的算法,而其他算法可以检测欺诈或预测制造中的材料和工艺需求。
转载请注明:http://www.abuoumao.com/hyfz/6449.html