跳转至

从程序语言起步的副业实例

这篇贴子会讲些什么:

目前来说,所有的分享可以分为宏图大志型和小确幸型。那么多保研、竞赛、科研、国际交流的大佬向后辈传授了宝贵的经验;我这个完全属于小确幸型,一定程度上是对医学正途的逃避。

这篇帖子呢,首先是大家一起交流分享一些有用的信息,很多时候我们埋头于学习、临床和科研,对外界特别是医学之外的新变化缺少关注,容易把路走窄,甚至于错过机会。其次,希望能缓解一些“要不要学编程”的焦虑,毕竟朋友圈的9块9学python和R语言培训班打卡那可是经常能看到。最后,对于那些想要充实简历的同学,这篇分享也会提到该如何准备一些能入HR法眼的硬通货。


后计算机时代的自动化

世界上最会偷懒的人,莫过于广大程序员了。对于任何需要重复的事情,他们首先会想,能不能由计算机来代劳。

若干年前,还在使用数字中南的日子里,我电脑桌面的边角,放着一个脚本文件,里面明文贮存着学号和密码。而它做的事,很简单,当然就是打开浏览器,等待几秒后自动输入账号密码。刚开始,我还为此沾沾自喜。直到我看到软院同学的作品,是一个有着优美图标和丰富界面的自编软件,流量使用超限还会告警。果然,专业的还是专业呀。每年抢课,服务器那么卡,计算机相关专业的同学,和他们的抢课脚本,应该各负一半责任吧。读计算机也挺惨,抢不到好课,说明业务水平不行呀。

信息时代的很多东西,真的没有那么信息化,甚至感觉还不如前计算机时代。我遇到的几位医生就深受其苦,他们需要上网络培训课程,但是课程网页过于难用。带教老师有难,不能不帮,于是做了一个Chrome插件,可以自动刷新、模拟点击。并且,Chrome能以多个用户身份同时登录听课,一台电脑解决科室所有烦恼,为医院去行政化、临床医生减负做出一定贡献。

元胞自动机与云资源出口

与破解围棋定式类似,寻找元胞自动机的特定结构需要大量计算。刚开始我是用笔记本来做,显然不能满足需要,其次风扇声音也很让人揪心。于是把目光瞄上了云主机的租赁,让人意外的是,云计算听上去很高端,价格竟然比较便宜,算起来也就是家用电脑电费的开销。大概是不需要花哨的显示界面,节约了成本;并且上百个核心共用一个机架,使用同一个电源,增加了效率。

同社区里的国外小伙伴交流时,我发现这样的价格优势是全面的。用于GPU学习的V100显卡,国外靠谱的月租价格,大约400美元左右,阿里云只要220美元,随开随用,按小时付款。阿里腾讯等国内公司的云技术,部分领域是领先于微软谷歌的,使用也方便:用浏览器就能连接,手机也能连接,点击就能发送常用命令,可以同时操纵上百台机器,还能自动按需扩容。

discord群组的bot功能非常丰富,基本上各个社区都有自己写的bot。假设有一个桐梓坡自习群,在系解考试前夜复习时,你突然忘记肩胛骨的英文名。别慌,群里艾特anatomy bot,它不仅告诉了你英文名,还贴心的附带一张前后观图。如果在学期中,你们班学委足够用心,标记了骨骼系统这一章的tag,附上了重要考点和往年考题。那么你只要点击关键词,bot就会回复对应资源,并且提醒你背一背臂丛神经的分支。真正做到别人在水群,而你在学习。

bot大概就是这样工作的,我搭建的bot在社区直接连接了云主机,想做什么计算直接在群里调用就行。对于大规模的计算,比如20cpu小时以上的,bot有预约功能,可以记录需求。上千cpu小时的单子偶尔也有,但是不多。

简单问答

为什么省略技术细节?

1、计算机特别是软件相关的东西,更新换代太快了。比如数字中南登录用的VBS,2010年之后,就几乎没有见人使用过。每时每刻,肯定都有新的框架出来,而且肯定更容易使用。

2、运用的业务工具杂乱且分散,没有形成体系。我都是遇到需求之后,再去寻找相应的工具来实现。这有点像病人已经坐下,主诉上腹痛,接诊医生才开始翻着内科和诊断书问诊。惭愧。

3、想做成一件事,动机(motive)是最重要的。你想学一道菜,肯定不是因为菜谱写的详细,而是你对菜的滋味有兴趣。菜谱搜一搜就出来了。

要不要学习R语言

R语言最大的优势是作图和作图前的数据整理。如果你做科研的子领域有统计相关的作图,那么务必了解一下。现在也不难学,去年新出的esquisse扩展包,可以用鼠标拖选,然后自动绘图。

对于我自己来说,R语言的帮助是再也没有用过别的计算器,各种软件,甚至实体卡西欧都没它好用。搞数字计算真的太方便了。

怎样学编程

对于主业以外的东西,没必要预先投入太多。以实用性为主线,找到需求和应用场景是最重要的。

编程语言,就是同计算机沟通,让计算机做你安排的事情。相信前人不会故意为了为难新手而设限。做起来很困难,肯定是方法不对,记得换条路子。

  1. 勤问搜索引擎。即使是谷歌腾讯技术大牛,他们也需要借助搜索引擎,也需要团队合作,也需要临时复制粘贴。哪个写程序的没有引用过其他人写的库,没有调用过前人造好的轮子呢。

  2. 多元化参考资料。从网上教程、官方文档、教学书籍、B站视频汲取营养。不同程序语言不大一样,任何带s的script脚本语言,适合直接看教程,一般一篇教程刚好解决一个问题,无需了解全局。一些比较老的语言,历时较久,官方文档非常繁杂;核心作者年纪也大了,为了卖书赚钱,简洁的入门方法都藏在书里。近一两年比较火的语言,B站上搜一搜绝对有惊喜。

  3. 跟进业内大牛。人才是第一生产力,技术金字塔顶端的若干个人,直接决定了这个领域的风格与发展。

怎样学习R语言

严格来讲,R属于一种面向统计的特化工具软件,不算编程语言,所以学习模式可能略有差别。

比如它基本上不需要写循环,任何能写入列表向量中的东西,都可以巧用向量,一步完成。又比如,它的操作基本上是交互式的,所以基本上不需要判断语句。 很多人说R语言难,是因为本身的科研思路不清晰,统计知识不扎实。前者怪基础医学院、后者怪麻园岭统计教得不好。

不管你是渐入佳境还是遇到困扰,《R Introduction》这本书一定要读,只有12页,不难看完。R的官方文档是我见过最适合入门初学者阅读的,可能是因为两位创始人Ross、Robert教授都还在世,并且一直主导着核心项目的发展。

附一个R语言兴趣小组群号:164869734

如何充实自己简历

HR都是身经百战的,一眼看穿你简历里的虚实。写程序语言这类技能性的东西,要带上你实践运用时完成的项目,并着重描写你在团队中的贡献。

像“熟练使用python自动化编程”、“熟悉R语言使用”、“精通Linux运维操作”,比不上“运用python搭建学习机器人后台并服务于年级上百位用户”、“使用R语言协助统计作图,以第三作者发表SCI文章一篇”。

实在没有东西写,又想吓唬人。可以挑一个小众领域,使用他们的开源软件,砸一些计算资源,拿成果充门面。比如:“参与元胞自动机分布式计算,协助证明B368/S12578规则图灵完备”、“承担Linux运维工作,进行OCT黄斑变性图像卷积神经网络训练”。这样,HR这边肯定能过,面试非软件岗位是可以的,向用人单位展示了你多元化发展的形象。

如何跨界找大厂实习

中南大学每年会向华为、腾讯、阿里、字节这样的大厂输送数百名人才;同时,来中南大学招聘的互联网相关企业也非常多,为非计算机相关专业提供了很好的机会。 在咱们学校就业指导中心的公众号,有一个“#中南人的求职故事”,分享近期大厂实习成功案例。他们的共同特点是,本身能力强,有实际项目经验,适应岗位职责,能很快投入工作。

写在后面

追寻兴趣爱好,点其它技能树,是可以的;但放弃临床,特别是放弃执业医师证,就有点可惜了。应用临床躺学,一样过的很开心;实在不行还可以考公务员,考军队文职,上班和下班时间都可以搞自己喜欢的副业。

另:同济大学医学院是原铁道医学院,考研报考需谨慎。