关键要点
没有人会在做之前真正知道如何完成一项工作。大多数人通过某种奇怪的、与经验、人脉和努力工作相关的组合获得梦寐以求的职位。真正的经验来自于工作本身。那时,你才有机会将你所知道的知识应用到实际问题中,并看到它获得回报。以下四位程序员以不同的方式获得了他们的第一份 Python 工作。有些人有之前的 Python 经验,有些人没有。有些人知道自己在做什么,有些人则后来才发现。了解他们是如何获得第一份 Python 工作的,或许可以帮助你获得你的第一份工作。以下是他们的做法。想要提升你的 Python 技能并在快速发展的市场中脱颖而出?查看 SitePoint Premium!你会发现一些入门书籍(如《Python 学徒》)和一些可以让你掌握就业技能的书籍(如《Python 前端测试》)。通过《Python 大师》提升你的技能,并访问一个不断增长的图书馆,其中包含 400 多本关于网页设计和开发的书籍和课程。——Nathan Grieve
第一份 Python 工作:数据科学家 Nathan 获得工作的途径
在我完成物理学学位的同时,我申请了一家小型科技创业公司的数据科学工作,该公司主要使用 Python(和 SQL)。问题是,当时我没有 Python 经验。面试时,我用伪代码来回答编程问题,以证明我理解这些概念。伪代码使用编码逻辑,而不使用编码语法。因此,通过使用与 Python 相同的逻辑,我可以展示对概念的理解,而无需针对任何特定语言。例如,任何计算机科学家都可以理解下面的简单伪代码,但除非他们以前使用过 Python 函数,否则他们可能无法理解 Python 函数。
Python 代码:
loop_index = 0 while loop_index < 5: print(loop_index) loop_index += 1
伪代码:
loop_index = 0 while loop_index < 5: print(loop_index) loop_index += 1
伪代码对人类来说也更易读。它实际上与代码并没有太大区别,只是避免使用特定于语言的语法。而使用它奏效了!他们给了我这份工作。但当然,在我入职之前,我必须真正学习这门语言。
Nathan 的建议
对于那些想进入这个领域的人,我的建议是尽快解决实际问题。在我共同创立的 Project Hatch 公司,我们分析初创企业并为他们提供分析数据以帮助其业务增长,我们确实会聘用自学成才的人,但只参加 Codecademy 式课程的人与真正运用知识的人之间存在巨大的技能差距。我会说,继续完成 Codewars 的挑战,直到你达到不需要反复查找应该使用哪些参数以及它们的顺序的程度。如果你正在寻找需要解决的实际问题,可以去 Kaggle,那里有大量的数据集可以使用,并练习从中提取有用的信息。例如,如果你正在查看食物食谱的数据集,可以将数据集与当地食品价格对齐,以查找所有制作低于 5 美元的餐点的食谱。当你准备好迎接真正的挑战时,可以尝试 Kaggle 竞赛。你会发现需要解决的问题和愿意付费的公司。这些挑战一开始会非常困难,但你将在论坛上与其他计算机科学家讨论解决方案的过程中学到很多东西。——Bill Price
第一份 Python 工作:网络安全架构师 Bill 获得工作的途径
作为 NASA 网络管理员和安全工程师,多年来我一直为 Python 开发人员提供支持,所以在新的机会出现之前,我就已经了解了这门语言的强大功能和灵活性。2017 年,一家大型金融机构联系我,邀请我加入一个团队,该团队负责开发一个新的评估程序,以识别特定业务流程及其支持应用程序中的监控差距。我相信他们找我,是因为我的:
有趣的是,在我不知情的情况下,这竟然成了我的第一份 Python 工作。我们的团队需要对差距进行分类,确定可能的缓解措施,并将我们的发现报告给领导层。我们首先将应用程序映射到每个业务流程,但很快意识到我们需要审查的不同数据集(应用程序和硬件清单、Qualys 漏洞扫描、每日 BladeLogic 报告、Splunk 日志等)对于导入到 Excel 电子表格中来说太大了。此外,我们无法访问传统的 UNIX 文本处理资源,也无法访问我们的工作站的管理权限,我们可能在那里安装了任何新的数据管理工具。而且我们没有预算购买新工具。但是,我们可以访问 Python、一整套 Python 库,并且可以使用现有的企业支持软件来安装 Python。我一开始并不了解 Python。我必须在工作中学习,幸好我做到了。Python 对我们能够根据业务流程使用的应用程序解析硬件清单、隔离与适当硬件相关的漏洞以及识别在支持一个或多个应用程序的任何设备上运行的未授权服务至关重要。
Bill 的建议
我对有抱负的 Python 开发人员的建议有三点。首先,熟悉 Python 中可用的不同库,这些库可能有助于你未来的工作。我们的团队广泛使用了 mechanize、cookielib、urllib、urllib2 和 csv。如果你正在关注机器学习项目,请注意 TensorFlow、Numpy 和 Keras 等库。接下来,留意需要自动化的流程,或者现有自动化可以改进的地方。很可能有机会应用 Python。最后,准备一本好的 Python 参考书,以补充所有可用的在线资源。我推荐 T.J. O'Connor 的《Violent Python》。——Vinay Naik
第一份 Python 工作:全栈开发人员 Vinay 获得工作的途径
当我开始我的 Python 程序员职业生涯时,我是一个完全的新手,对 Python 和其他编程语言只有非常基本的了解。为了准备面试,我连续几天在互联网上学习 Python 的基础知识。我浏览了几乎所有关于“面试中被问到的十大 Python 问题”之类的文章的变体。但事实证明,我在第一份工作(为基于云的软件工作的全栈开发人员)的面试官知道初学者用来通过面试的所有常用技巧,并且他看过我读过的相同文章。谢天谢地,他只问我一些实际应用问题和一些基本的 Python 语法。他的重点是检查我是否具有正确的分析思维和良好的逻辑。他对我说:“任何开发人员都可以从基本的 Google 搜索中复制语法。只有逻辑才能区分优秀开发人员和糟糕的开发人员。”正是这种逻辑让我得到了这份工作,但这只是我必须通过的第一次测试。作为一名全栈开发人员,我不仅必须学习 Python 作为后端语言,还必须学习 Angular、HTML、CSS、JavaScript 等前端技术。在一周内巩固我对所有这些技术的掌握是一场噩梦。另一个问题是,一旦我找到工作,他们期望我立即掌握所有知识,并直接把我推入一个有严格时间限制的项目中。我花了六个多月的时间才进入状态,并对任务和工作量感到满意。大多数人未能理解的一件非常重要的事情是,我们的教育并没有为开发人员的职业生活中面临的挑战做好准备。完全取决于我们自己投入时间,学习和发展我们的技能。
Vinay 的建议
不要只学习语法和阅读有关这门语言的信息。相反,实现一些简单的应用程序,并尝试学习该语言的一个框架。只有当你开始实现时,你才会提出更多问题并真正学习这门语言。你面临的问题的答案将使你精通这门语言。——Jordan Rowland
第一份 Python 工作:技术支持 Jordan 获得工作的途径
我没有大学学位,大约 22 个月前开始自学 Python。2015 年,我在一家餐馆做点餐员。我技术上比较擅长,但没有做过任何编码。我基本上是一个失败者,酗酒严重,没有真正设定和追求目标的能力。六个月后,我被这家公司解雇了。这是一个巨大的幸运。之后,我得到了我的第一份与电脑相关的工作。我被一家科技创业公司聘为支持人员,但这并不需要太多技术技能,只需要能够以中等水平使用电脑。我在那里工作了 20 个月,然后又被解雇了,这也是一个巨大的幸运。在我停止在那里工作几个月前,我已经戒酒了,很快就找到了另一份工作,为另一家创业公司做支持工作。但我很快了解到,这份工作将会搬迁,这意味着我必须找到另一份我可能会讨厌的工作。在我离开工作之前,我有几个月的时间,所以我开始自学 Python,每天下班后使用《用 Python 自动化无聊的工作》。离开那份工作后,我有两个月的失业时间,我继续自学 Python,以及一些网页开发。我申请了一家使用 Python 作为后端技术的网络应用程序的支持职位,我在面试中提到我熟悉 Python,并且能够与他们讨论他们的程序(它严重依赖于网络抓取)。他们录用了我。在那里工作期间,我自学了 SQL,并利用晚上时间参加了 Udemy 课程。这不是我的工作描述的一部分,但我正在使用 Python 并编写脚本,以提高我的工作效率,例如对应用程序收集的数据进行质量保证。我每天下班后仍在继续学习和编码,熟悉数据科学,并构建更大、更健壮的程序。在那份工作期间,我开始寻找作品集的想法。我的计划是建立我的作品集,然后一年后开始申请开发人员职位。我认为寻找想法的好地方是一个名为 AngelList 的招聘网站,在那里我可以找到使用 Python 作为其技术栈的公司,然后构建与他们的产品类似的东西。当我搜索这些职位时,我发现了一个与我正在做的工作(支持)类似的职位发布,但它非常强调 Python 和 SQL。而且薪水高得多。我一时兴起就申请了;我的本意甚至不是要找新工作。我与产品经理进行了电话预面试,进行了一次小型技术测试,然后与一些开发人员和其他产品经理进行了三个小时的面试。我最终被录用了,所以我离开了我的工作,去做了我的第一份正式在工作描述中要求并需要编写 Python 代码的工作。我现在仍然在那里,最近转为全职后端 Python 开发人员。我开始学习 Python 以来两年整的日期是 2020 年 2 月。我下班后几乎每天都在学习,提高我的技能并理解更高级的概念。
Jordan 的建议
你需要为此努力。你需要为了未来的回报而放弃短期内的快乐和便利。在我看来,如果你投入时间,最终它会得到回报。我沿途确实获得了一些幸运的突破,而且我最终处于一个完美的职位,可以被我现在的公司录用,但这仍然会发生在我身上,因为我为此非常努力。我沉浸在编码文化中,订阅了 subreddits,收听了播客,并阅读了书籍。编码成了一种痴迷。
总结
尽管这些程序员都采取了不同的途径来获得他们的第一份 Python 工作,但他们的故事有很多相似之处。
通过 SitePoint Remote 寻找你的下一份远程 Python 工作,我们为开发人员、设计师和数字专业人员精心挑选最好的远程工作。
关于获得第一份 Python 工作的常见问题 (FAQ)
要获得你的第一份 Python 工作,你需要对 Python 编程语言有扎实的理解。这包括 Python 语法、数据结构、控制流和错误处理方面的知识。此外,你应该熟悉 Python 库和框架,如 Django、Flask 和 Pandas。了解数据库(SQL 和 NoSQL)以及 HTML、CSS 和 JavaScript 等前端技术的知识也是一个加分项。除了技术技能外,解决问题的能力、良好的沟通能力以及对敏捷方法的理解也可能是有益的。
有几种方法可以获得 Python 编程的实践经验。你可以从事个人项目,为开源项目做贡献,或者参加编码挑战和黑客马拉松。这些活动不仅可以帮助你在现实场景中应用你的 Python 知识,还可以为你提供可以向潜在雇主展示的技能的实质性证据。
要让你的 Python 求职申请脱颖而出,你需要有效地展示你的 Python 技能。这可以通过包含你的 Python 项目的作品集、突出你对开源项目的贡献或提供指向你在 GitHub 等平台上的 Python 代码的链接来实现。此外,来自知名平台的认证也可以为你的申请增加价值。
作为初学者,你可以申请初级 Python 开发人员、Python 测试工程师或数据分析师等入门级 Python 工作。这些角色通常涉及编写和测试 Python 代码、调试 Python 应用程序或使用 Python 分析数据。
为了准备 Python 工作面试,你应该复习你的 Python 知识,包括 Python 语法、库和框架。你还应该准备好解决编码问题,因为许多雇主使用编码测试来评估候选人的 Python 技能。此外,复习常见的 Python 面试问题并练习你的回答也可能会有所帮助。
Python 工作的平均工资差异很大,这取决于职位、公司和地点。但是,根据 Indeed 的数据,美国 Python 开发人员的平均年薪约为 110,000 美元。
是的,初学者有远程 Python 工作机会。许多公司都接受远程工作,尤其是在科技行业。Upwork、LinkedIn 和 Indeed 等网站经常列出远程 Python 工作。
要随时了解最新的 Python 开发,你可以关注与 Python 相关的博客,加入 Python 社区,参加 Python 会议和聚会,并参加在线 Python 课程。
是的,即使没有计算机科学学位,你也可以获得 Python 工作。许多雇主重视实践经验和技能,而不是正规教育。但是,拥有计算机科学或相关领域的学位可能是一个加分项。
Python 编程提供了许多职业发展机会。随着经验的积累,你可以晋升到高级 Python 开发人员、Python 架构师或数据科学家等职位。你还可以专门从事网页开发、数据分析、机器学习或人工智能等领域。
以上是四个程序员如何获得他们的第一个Python工作的详细内容。更多信息请关注PHP中文网其他相关文章!