放心吧,我不卖课-我的编程自学之路

背景

之前写Nas的docker都用来干啥了,有人评论说干啥不好,假装当程序员,唔,我想了想,其实像我这样假装当程序员收益还是挺大的,所以今天来跟大家分享一下。

学习过程

起源

我,地质狗。在我们这个行业,普通地质狗其实是不碰代码的,碰代码的那叫地理信息系统。

网上找的不知道哪里的同行的苦逼照

我接触编程是因为我进股市时机很好。2015年,进股市一周后大盘崩了。接下来半年的行情…惨不忍睹。在寻找新思路的过程中,我发现了量化交易,接触了python。为了股市赚钱,我自学python。到现在为止,还有一个实盘中的量化策略在跑。收益其实不高,现在用一创跑的实盘,从2019年9月算起到现在(2022年12月),三年多下来年化收益10%左右(算上打新收益)。唯一的优势就是我自己心里能自我安慰下,我还有优化的空间,以及,不用去操作(毕竟刚工作那会天天上山,根本没机会操作)。

在量化交易中,主要使用的是pandas库和平台自己的接口,偶尔用到Ta-lib。但是都在网站上,连Python环境都不用自己搭建。

接入工作

2017年我单位新项目要用arcgis。整个部门没人会用。我看了看发现arcgis里支持python的,我一下子膨胀了,心想我连里面高级玩法python都会一点,整这个还不是轻而易举,所以这活我接了。然后坑了,里面arcpy好几年没更新了,相关人员好像跳槽了,极难用。而离开了量化平台,我连个PyCharm和VSCode弄Python都得重新百度学习。不过总算慢慢摸索过来了。

后来项目中遇到了问题,每天有几百张甚至上千张采样照片要根据坐标、时间进行重命名。这肯定不能手动啊,我写了个python程序完成了,通过读取EXIF信息,与GPS掌机上存储点进行对比计算,根据时间差、距离进行重命名。也就是从这个时候开始,我开始真正接触Python的内容。

2018年,土壤环境的标准更新,市面上的软件没来得及跟上。单位前面的项目即将结束,项目成果得更新成新国标的,用python写了个用上。这时候还想将程序发给同事用,所以学了PyQt,pysimplegui等库。但是加了pandas的库太难转成exe了,同时部署python也不会,最终我变成了数据处理中心。大家把数据发给我,我跑一遍把结果发回去。

后来,项目里又遇到了种种问题,有的牵扯到了矢量数据,我又接触了geopandas库。有的需要大批量处理生成word文档,又接触了python-docx库,等等等等。随着解决问题,自己的水平也在逐渐提升。每次我都会想办法折腾点新东西。项目结束的时候我弄了个专题,机器学习的数据预测与传统距离反比差值的对比。

走出python,接触别的语言

新项目来了,我有感于上一轮项目野外记录后人工转电子记录的繁琐,想直接电子记录。又去学了flutter。用python的fastapi写后台,放在自己家的nas上,然后用flutter写了个app。导航、记录全搞定。flutter初学,基本靠抄。印象很深刻,基本抄的是github上一个日记app。

新项目出了一次野外,感觉app有点问题,回来又用GetX库把整个app重写了一次,还加入了照片和样品管理,用户系统也加上了。抄的内容基本改完了。

献丑了!

然后项目开始吹牛逼,说要搞数字化。我又去学了Vue,打算写一个网页管理端。目前还没写完……项目这边不重视,写了又是只有我自己一个人用,我也就懒了。估计最后可能直接鸽掉。

自学编程我收获了什么?

那么通过这一系列的自学,我收获了什么呢?

首先是升职加薪。2017年接了arcgis的相关工作后,部门新项目因为都是用arcgis的,当时就我会,我一个人承担了3个项目的相关工作,第二年就让我当了其中一个项目的项目负责。对我个人来说,带来了工资收入上的大提升。

其次是额外收入。在2018年开始,由于我将工作内的很多问题都通过编程来解决了,那么也就顺势接了点私活。几年下来陆陆续续也赚了不少零花钱。

最后是节省时间。同样是由于工作中很多问题通过编程解决,最终完成同样的工作,所需要的时间,我比同事更短,我可以将节省下来的时间的一部分拿出来自己分配,比如看书。

从我个人学习经历的一点建议

说实话,我的编程学习经历,并不具有太强的参考意义。基本就是兴趣+赶鸭子上架。但是作为一个真的吃到了甜头的人,我还是腆着脸给大家几个建议吧:

1.编程并不是程序员专属,实际上我自己感觉,很多工作里,一些小程序都可以极大的提升自己的工作效率,带来提升。甚至由于你自己才是这些工作的实际操作者,你更知道整个过程中,哪些事情是最需要程序的,哪些地方可以变通一下,你对需求才是最了解的。

2.不要把编程想的太难,Python这种,抄抄写写,错错错错错错错错错对错错错错错错对,磨一阵子,其实都能有点收获;

3.要多实践,看视频上课学的东西,也许比较系统,但是永远没有你自己找一个实际问题,自己写了来的效果好;

4.编程的书也可以适量看一点,特别是对于自学编程的人来说,一方面是可以扩宽思路,比如《让工作化繁为简:用Python实现办公自动化》,能让你了解一下,程序能干什么,你可以对照着想想,自己的工作中哪些任务是可以通过程序来解决的。一方面是可以完善一些细节,比如说《Effective Python:编写高质量Python代码的90个有效方法》让我知道了一些自学不太接触的到的小技巧,让我写出来的代码,至少在我看来,更好看一点。

补充说一下,《让工作化繁为简:用Python实现办公自动化》这本书你要说质量有多高也没有,就是能提供一点思路啊…

以上就是我自学编程的过程和收获啦,希望也能帮助到你。

1.不要把编程想的太难,Python这种,抄抄写写,错错错错错错错错错对,磨一阵子,其实都能有点收获;

2.要多实践,看视频上课学的东西,也许比较系统,但是永远没有你自己找一个实际问题,自己写了来的效果好;

3.编程的书也可以适量看一点,特别是对于自学编程的人来说,一方面是可以扩宽思路,比如《让工作化繁为简:用Python实现办公自动化》,能让你了解一下,程序能干什么,你可以对照着想想,自己的工作中哪些任务是可以通过程序来解决的。一方面是可以完善一些细节,比如说《Effective Python:编写高质量Python代码的90个有效方法》让我知道了一些自学不太接触的到的小技巧,让我写出来的代码,至少在我看来,更好看一点。

以上就是我自学编程的过程和收获啦,希望也能帮助到你。

展开阅读全文

更新时间:2024-09-08

标签:办公自动化   程序员   新项目   收益   股市   代码   时间   程序   项目   工作

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top