大专学历,转行自学两年的 Python 开发者故事

news/2024/7/19 10:50:15 标签: python, 开发语言, 服务器, 爬虫, 学习

我毕业六年了,但与技术和 Python 相关的工作经验也就两年。今天我想跟大家分享自己转行的故事,希望能够鼓励那些跟我一样的朋友共同前行。

我们将会聊到我个人的经历和入行故事,个人的技术成就,我 2019 年上半年和下半年的工作重点,讨论快速学习的方法,最后推荐一些学习资源。

个人简介和经历

我叫韦世东,是一名 Python 开发者,同时也正在学习 Rust 语言。

学习 Rust 语言一周就编写了一个开源库,名叫 [asciis],对应的crates 仓库为 [asciis]。

我并没有大厂履历,也没有太多的 it 工作经历。在网络世界里,我常用的昵称有两个:

  • 德玛西亚之翼-奎因
  • Asyncins

这是我前面几个月在华为总部直播的截图,右侧那个乖巧的胖子就是我:

我喜欢用文章的方式向周边的人分享知识,也热衷于开源项目。

在 2018 年以前,我并不是一个专业的研发,工作内容甚至与技术没有太多关联。

我所学的专业是“软件开发”,但大专念书的时候没有好好学习,导致毕业后四处碰壁。

毕业后的第一年辗转进入了一个互联网金融企业,在技术部里面担任最小的小弟。随着公司的发展和人数增加,我从小弟变成了小哥,后来成为了连接技术部和公司高层的纽带。

从这个时候起,我离技术越来越远,后来慢慢转到了运营岗,并通过努力从运营小弟变成了运营小哥。2013 年毕业,到 2018 年转技术,中间 5 年时间里我也只有第一年呆在技术岗位,其他几年都与技术无关。这几年我待过的岗位有:信息安全员、技术组长、运营专员、运营指导、副总经理、运营总监。

互联网金融倒闭和跑路潮爆发,我感到行业岌岌可危,而且我觉得就我这点运营水平也蹦哒不起来(说一事无成也不为过)。恰好那段时间我了解到 Python 语言,了解到爬虫对于企业运营和发展的重要性,还有 Python 易学的特点。

于是我下班后看 Python 的入门教程,并根据网上文章尝试运行自己编写的代码。念书的时候,学校教的是 C 语言、C# 和 PHP,但我都没有学会。唯独这一次,我感觉我能够学会 Python。

在家看慕课网的 Python 入门文章、廖雪峰的 Python3 入门教程文章和慕课网 Bobby 的爬虫入门视频。跟着教程学习了大概 3 个月,我就尝试自己接一些小需求来做,例如爬取一些公开数据、编写 Python 程序等。那时候一两天才能完成任务,得到的报酬通常是 30~300,有时候甚至靠回答群友的问题领几块钱小红包。

自学阶段过去之后,我的 Python 水平已经达到了初级,还学会了很多爬虫相关的技术,例如网页解析、数据存储、定时调度、去重和增量爬取等,对于常见的一些反爬虫措施也略有了解。

从零基础到这个阶段,我大概花了 7 个月。这时候,我觉得我能够胜任一个初级爬虫工程师的工作了,于是便在省会城市的人才网找了一些招爬虫或 Python 研发的公司,投了简历。三天内,接到了 5 个面试,然后也顺利的找到了一份爬虫组长的工作。

工作期间,我们爬虫组的任务就是完成技术负责人分配的数据爬取任务,目标分为网站和 APP两大类。我们公司是体育行业,所以数据的变动是常有的事,这就要求爬虫组能够高频的爬取数据。

为了省事,我参考 Scrapyd 和 Celery,用 Django 编写了一套支持 Crontab 规则的调度平台,这样我们编写的爬虫就可以集中在这个调度平台上进行管理。

在反爬虫方面,对于那些用 JavaScript 保护数据的网站,我们最开始采取的是 Selenium 或者 Splash 这种自动渲染工具来应对。但后来考虑到高频、时效性和资源占用等问题,便硬着头皮去解目标网站中的 JS 算法,再用 Python 模拟实现同样的算法。这样,

爬虫的爬取速度和资源占用都调整到了最优的状态。

我认为我进入了技术领域,就应该踏踏实实的呆在这个领域里,想办法扎根。所以我一直在寻找除了工作和外包以外的副业。

快速学习的方法

对于转行的朋友,或者刚接触 IT 技术的朋友来说,最重要的是两件事:

  • 如何保持专注,能够坚持
  • 找到快速学习的方法

第一件事其实并不难,保持专注并能够坚持的原因通常有二:有经济收入或者极大的兴趣爱好。纵观我的成长经历,其实这也是我坚持下来的原因。学习之初,完全是出于兴趣和转行的压力。

在 3 个月的阶段,有一些小小的收入也是支撑我继续前行的主要原因。第二件事,找到快速学习的方法。我可以说,我的进步速度非常快,而且很稳固。

我深深的知道**“浮沙之上难驻高台”**的道理,所以我在学习的过程中,通过写文章来巩固所学,并且我只专注于一个领域(爬虫)。Python 可以发展的方向非常多,例如 WEB、爬虫、数据分析和深度学习,我自知想要扎根就必须专注一个领域。

我从最初的网络请求、网页解析到数据存储,爬虫部署调度,再到异步、多线程多进程、去重和增量,甚至是反爬虫的研究,都属于爬虫这个领域。

为了保持专注,我改变了我的作息时间,从原来的“早上八九点起床,凌晨一两点睡”改成了“早上六七点起,晚上十一点睡”。周末亦是如此,早睡早起使我有充沛的精力保持工作和学习

选好某个领域,并保持足够的时间后,能够让人快速进步的因素还有:读源码,造轮子。

读源码可以让我们从更高的的角度理解程序的设计,并学到很多平时难以见到的骚操作。而造轮子,则是考验我们将知识转换成代码的能力。

我读/研究过源码的项目有:

  • Scrapyd
  • Scrapy
  • Celery
  • Gerapy
  • SpiderKeeper
  • SpiderWeb
  • WebSockets
  • WebsocketClient
  • Parsel
  • apscheduler
  • Job_Spider,Rust 语言编写的定时任务库

自己造过的轮子有:

  • aiowebsocket,Python 编写的异步 WebSocekt 客户端
  • Gerapy 2.0 后端(未发布),使用 Tornado 框架编写的爬虫项目部署调度平台
  • django_cron_scheduler,工作期间编写的爬虫项目部署调度平台

这里有个建议,读源码、查资料的时候我们必定会用到搜索引擎,搜索引擎列出的文章并不一定是准确的。有些文章甚至是缺头缺尾,所以最好是直接翻文档或者找一些知名作者写的文章来学习

上半年与下半年

2019 年上半年,我主要的精力就是放在书籍撰写上。

这是我与图灵教育签约的一本爬虫专题的书,书本从网络协议和网页结构等基础开始,通过实际的案例和现象说明其中用到的原理和技术,并将市面上常见的反爬虫手段纳入其中,作为示例。

书中对 JavaScript 代码混淆、加密和验证码破解都有深入的介绍,我希望这本书能够帮助爬虫工程师和爱好者了解反爬虫的手段和原理,同时也能够帮助到前端、后端开发者了解爬虫工程师常用的技巧和原理。

这本反爬虫专题的书还没有印刷出版,但相信很快就会跟大家见面了

上半年我发布了很多内容质量很高的文章,例如:

  • 开发者必知必会的 WebSocket 协议

  • 7 分钟全面了解位运算

  • MongoDB 实战教程:数据库与集合的 CRUD 操作篇

  • Python如何爬取实时变化的WebSocket数据

  • 一看就懂,Python 日志模块详解及应用

  • 【动图详解】通过 User-Agent 识别爬虫的原理、实践与对应的绕过方法

  • [动图演示]Redis 持久化 RDB/AOF 详解与实践

学习资源推荐

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习
在这里插入图片描述

六、Python练习题

检查学习结果。
在这里插入图片描述

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪


http://www.niftyadmin.cn/n/1323489.html

相关文章

了解一下,我是如何用Python在业余时间赚5千外快的

首先是找渠道,虽说猪八戒网这一类的的接单网站被大家口口相传,但我通过python还真的没有找到一个合适的兼职接单平台,难道是我太菜了吗。 算了一下全国交易量前十的用户总交易量一共才368次,然后将前十名交易量用画图展示出来&…

如何用 Python 做自动化测试

一、Selenium 环境部署 1. window 环境部署 1.1 当前环境 Win10 64 位系统;Python3.6.2(官方已经更新到了 3.6.4) 官方下载地址: https://www.python.org/downloads Selenium 3.4.3;谷歌 59。 1.2 Python3 安装部署…

基于 python 的接口自动化测试,最简单实用的教学

一、简介 本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势; 然后简单讨论了一下接口测试框架的要点; 最后介绍了一下我们目前正在使用的接口测试框架 pithy。 期望读者可以通过本文对接口自动化测试有一个大致的了解。 二、引…

40+岁老测试员的生涯回顾,Python自动化从业十年是种什么体验?

1、测试工程师“黄金”职业? 看到许多媒体都在争相炒作测试工程师—这一"黄金"职业,我有些不同的看法。以下的内容是从网站上摘录的一段信息: 随着国内IT企业对软件测试的重要性的日益了解,软件测试人才岗位的薪资待遇…

Python学习干货,如何用Python进行数据分析?

1.为什么选择Python进行数据分析? Python是一门动态的、面向对象的脚本语言,同时也是一门简约,通俗易懂的编程语言。Python入门简单,代码可读性强,一段好的Python代码,阅读起来像是在读一篇外语文章。Pyth…

三十岁跨行跳槽数据分析工作,我是如何做到的?

30岁跨行求职的困境 在求职过程中,我面临的有两个问题,一个是年龄上偏大,我现在30多岁。还有一点是我是跨行跨专业求职,打算入职数据分析行业。下面就针对我的个人情况,跟大家分享一下我的应对方法。 首先我在CDA学习…

从23岁到28岁都在做功能测试,都这个年纪还能学习自动化测试吗?

序言: 也许到现在大家对所谓的“自动化测试框架”仍然觉得是一种神秘的东西,仍然觉得其与各位很远;其实不然,“自动化测试框架”从理念来说,并不复杂,但其之所以神秘,是因为其运用起来很是复杂…

28岁程序员期权过亿从字节退休,当事人:同级的张天一比我财富自由多了

近日,知乎一篇“如何看待年仅28岁的郭宇宣布从字节跳动退休?”引发网友热议。6月16日,当事人前字节跳动程序员郭宇对此回应称,“我其实不太希望有人谈论我,人生的路还很长,希望我们每个人能尽量往前看。” …