Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

我转行程序员的经历 #186

Open
yihong0618 opened this issue Sep 13, 2020 · 28 comments
Open

我转行程序员的经历 #186

yihong0618 opened this issue Sep 13, 2020 · 28 comments
Labels
Top Top label of gitblog 一些记录 一些记录

Comments

@yihong0618
Copy link
Owner

yihong0618 commented Sep 13, 2020

今天发的一条推特。开个坑,把这几年转行的经历。和这两年做程序员的经历写一下。算作留念。
image

继续写这个,关于怎么实践。说起来我挺有意思,整个实践过程其实跟机核有非常大的关系。或者说开始的时候,在机核发文章贯穿了我整个转行和实践过程。希望对也想转行的人有些帮助。按时间顺序倒过来正好是 -> 竞品 -> 数据分析 -> Python -> 全栈

  1. 开始做游戏竞品分析(运营策划),正好玩了一款特别有趣的游戏叫《Human Resource Machine》,那时候还不咋懂程序是什么,硬着头皮不看攻略的最后打通了,至今记得最后一关是用“汇编”写一个冒泡排序,足足花了我一个周末,至今如果有朋友问我怎么写程序,我都第一时间推荐这游戏
  2. 之后是数据分析师,在公司开始接手一些数据分析的工作,师傅教我如何写数据报告,但是每日重复的报告,和相对无趣的分析内容觉得有些无聊。就学了一点爬虫,爬了当时整个的机核网站,然后给机核写了一篇数据报告。好像还是那年最热的文章之一。
  3. 再之后非常平稳的过度,看了一些书,也帮我们数据部门写一些自动化的脚本。然后就是转行了。当时其实拿到了阿里的数据分析的 offer, 还有一些其他的,但还是因为家庭和一些其他原因选择留在大连,面试倒是没怎么碰壁,但薪水确实有些下降。
  4. 转行程序员之后其实频繁的换了一些工作。因为各种原因吧,当时看了一个命令行的网易云非常有趣。于是就参考了一些设计写了《命令行听机核》的程序,那也是我自己第一个完整的设计,技术选型,遇到各种困难解决困难,开始理解数据结构的重要,可以说是打通了一些东西。知道了如何解决困难。
  5. 再往下是开始认真的玩 GitHub 给 @floppgc 的 GpxTrackPoster 提交了人生第一个 pr 是翻译成中文, 但是 ci 没过,真的特别感谢后来他发现,鼓励我修改,我第一次知道了有 black 这种东西。
  6. 认识到数据结构和算法的重要性之后,看书之余我开始刷 leetcode, 刚巧用了 vscode-leetcode, 那个时候 leetcode 更改了登陆机制,我也遇到了这个问题。竟然尝试解决了,目前网上其他 leetcode 模拟登陆还是都用的我的方案,我自己也一直在首页的感谢名单里。
  7. 后来又给 vscode-leetcode 提了好多 pr 这也是我成长最快的时候,作者真的非常耐心给我 review,有的 pr 前前后后走了将近一个月。我也慢慢理解了一些 clean code 的重要性。也学会了 vscode 开发,写了《VSCode 玩转机核》
  8. 再之后就是给好多跑步相关的程序贡献代码。然后 runtastic 在大陆下架,我一怒之下决定自己做。搞定了好多跑步数据,学了 react 做了 running_page, 做的过程中认真玩了下推特,到今天。

关于看书--之后再补充


2022.04.17 补充
之前的邮件一条回复:

很高兴你看我写的东西,真是特别开心。以下是我的一些回答,但都是我的个人经历或建议,非常非常大的概率不适合你,方向的话其实更需要自己找,如果我能帮上一点点忙就更好了~

其实我不想用转码这个词,有些功利。因为我大多数时候是兴趣和运气推着自己走,当时也没怎么想着自己有一天能从事这份职业(我的薪水目前还没我转行前高)。
游戏到数据分析师这个转变,其实是机缘巧合吧,进入了数据部门,而我之前在米其林 Excel 用的还算可以,从编程门外汉走进去这个过程就是突然知道了编程是用来解决问题的,而问题是能分成一部分一部分的(其实大多数事情都是如此吧),因为一直喜欢看书也就找了一些书看,读了一本很受益的书《像计算机科学家一样思考Python》(现在有第二版)豆瓣地址是:https://book.douban.com/subject/26870407/ 之后就是写脚本写爬虫,自动化之类的了。
其实你学的数电模电,嵌入式对都是编程的一部分,且是非常非常重要的一部分,如果你之后有机会喜欢编程的话,慢慢你会发现,编程不一定是 CRUD,也不一定是高并发,微服务,云原生,甚至不一定要从事这份工作。而是找到自己的乐趣,把他当成魔法,because I can. 就像我 twitter 上关注了一个非常厉害的推友,他的职业是产品经理,但是写了非常多网络相关的东西,对很多人来说编程就是像开车,游泳,下棋一样是人生的一部分而已。 推荐一篇他的博客:https://blog.lishun.me/openwrt-mega-post
因此我的建议是,也不用局限于 Python, 找个日常的工作,把他自动化,或者找个好玩的项目,尝试把他跑起来,增加些小功能,慢慢书本和实践就结合起来了。慢慢你就知道为什么需要 dict list 这些数据结构了
可以先玩玩我推荐的游戏
其实我研究生时候也不知道自己想干什么,未来在哪里。但,编程对机械也很有帮助的,比如你一直在用的 CAD. ProE 这些都是程序做出来的,你可以上 GitHub 找一些开源的这些软件,看看他们是怎么运行的,是否可以把一些工作自动化,这样编程也就和你的工作结合起来啦
最后,祝好。


2 年后的一些新的补充

  1. 又给很多开源项目贡献了代码
  2. 在这篇文章之后的两年我写了不少新的项目,认识了很多开源上的朋友,真的很开心。
  3. 对程序也越来越敬畏,知道自己和真正厉害的人那种难以逾越的鸿沟,不过好在,还是在不断的进步的。日拱一卒
  4. 看到越来越多的人在自学编程,2 年后回头看,我最大的建议是,尽量别功利的去学,当成生活的一部分,即使没转行,也不亏是吧?
  5. 如果不是功利的学习,年龄从来都不是问题。

2022.07.01 补充给一个网友的邮件回复,希望我能帮一点点

邮件内容(姓名隐去):

首先,请容许我简单介绍一下自身的基本情况。我是男生,今年31岁,目前在体制内工作。由于个人性格原因,我认为自己十分不适合目前的体制内工作,没有在体制内长期发展的打算,目前正在找机会尽快离开。离开之后,就需要面对很现实的生存问题。因此,在这段时间,我一直想着要为离开体制后的个人就业发展做一些规划和准备。我有研究生学历,但是是一所国内并不知名的一般本科学校,专业背景属于理工科。虽然我还比较喜欢自己的专业,但由于领域比较窄、圈子小,想找一个比较满意的对口工作也比较难,所以考虑是否需要转行。更重要的是,如果有机会,我有意向今后去海外试一试。思来想去,目前好像只有转码可以尝试一下。之前在学校读研期间的工作内容比较偏向于数据处理和建模分析,有点像现在比较热门的Data Scientist方面的工作,但接触的可能更偏向于专业方面的数据,不如现在互联网公司中一般意义上Data Scientist所面对的数据种类那么广。虽然平时接触编程也比较多,如Python, C/C++, Fortran等,但可能更注重计算编程或科研编程,感觉与专业程序员所谓的编程还是有很大的不同。所以,觉得如果真到要转到程序员这个行业,可能还是需要有一些系统的学习。
下面是我考虑的几点问题,如您方便,恳请不吝赐教:1. 是无止境的,如果能在一段时间的密集学习后,能够获得一份类似于实习之类的工作,以工促学,或许会好一些。2. 如果请您推荐,不知您是否在合理可行的转换路径方面有一些建议?3. 由于我不是CS方面的专业背景,转码过程中,为达到一些工作面试的门槛,是否有哪些证书是需要考取的?
由于对于计算机相关行业的情况缺乏了解,有些想法肯定很不成熟甚至很幼稚,对此感到抱歉!如您能在方便的时候,提供些许建议,我将不甚感激~
谢谢您提供联系方式,祝您心情愉快!

我的回复:

Hi xxxx

很高兴收到你的邮件,我也没有太多的经验和能力,尽可能的按照我的经验回复你,如果有不妥的地方还请见谅:

  1. 我之前完整写过一篇博客介绍我转行程序的经历,我转行程序员的经历 #186 其中一些,和我一个我给网友的回复,你可以参考
  2. 短时间内完成转码是有一些可能的,不过这个因人而异,程序是有门槛的,每个人夸过这个门槛付出的时间和精力都不同,但这个门槛无论如何都需要跨过,这个有些像当兵新兵训练那三个月,都要经历的
  3. 我不知道你在研究生期间是否跨过了这个坎,如果过去了,你现在需要做的无非是补基础,刷题,学习需要的语言和一些框架,对你来说不难的,我敬仰的云风写过一篇《程序的门槛》 十几年了仍然适用。https://blog.codingnow.com/2006/08/aiaea.html 推荐下
  4. 关于路径,我觉得与其说是转码,不如说是让自己会编程,如果发现不喜欢不合适就继续自己的工作,否则很可能从一个坑跳到另一个坑吧?
  5. 我不知道你现在的工作是否涉及编程,我理解的工科专业都需要一定的编程基础,比如建筑机械 CAD 之类的,你可以从你身边的工具看起,很可能 GitHub 上就有替代品,从中学习可能会快一些。当然现在 B 站很多培训班的课程,找一个看看,真正的工程比他们复杂些,但是能管中窥豹的。
  6. 你不去日本或者国企的话不需要考任何证,出国的话可能需要考雅思或托福,这些跟程序看似没关但其实关系非常大的证件

最后,祝好。一个挺俗的话我觉得放在编程这里挺合适的

如果想做,不如从今天开始写第一行代码。

print("Good Luck")

伊洪 best wish
2022.07.01

@yihong0618 yihong0618 added the 一些记录 一些记录 label Sep 13, 2020
@zxh
Copy link

zxh commented Sep 28, 2020

👍加油

@yihong0618
Copy link
Owner Author

👍加油

谢谢~

@yihong0618
Copy link
Owner Author

可我做的远远不够,变得更好玩一点儿。
用两年时间刷完下面这个list(已经完成一部分了)
自学计算机科学

@yihong0618
Copy link
Owner Author

有了第一个stars过100的项目(也过了200)followers 也过了100,总stars过了400。mark 一下。
image
image
image

@yihong0618 yihong0618 added the Top Top label of gitblog label Oct 12, 2020
@LeoWang1991
Copy link

优秀 学习了

@sixdog06
Copy link

sixdog06 commented Dec 3, 2020

受到了鼓舞~ 加油

@Aries-0331
Copy link

加油⛽️

@yihong0618 yihong0618 pinned this issue Aug 16, 2021
@nuanhuo17
Copy link

在彭宏豪的公众号看到你开源的 github 博客搭建指南,然后借用你的代码也搭了一个,真棒!谢谢你!

另外浏览你的历史文章,看到这篇转行经历,我本硕也是机械类专业出身,工作是相关的传统行业,现在工作了 3 年多,人也 30 了,发现我这个行业很封闭,这几年没学到多少东西,再待下去除了那点还说得过去的薪水,看不到未来的成长空间。

最近因为兴趣在学习数据分析,包括 python、SQL 这些,想问下你,结合你当时的转行经历,我这个背景还有戏吗?主要是年龄和经验这块。吃苦倒是不怕,另外也不一定非得做到行业内多牛逼,毕竟起步晚了,但是和代码相关的行业总是能学到很多新东西,还是很喜欢这种学习方式。

@yihong0618
Copy link
Owner Author

在彭宏豪的公众号看到你开源的 github 博客搭建指南,然后借用你的代码也搭了一个,真棒!谢谢你!

另外浏览你的历史文章,看到这篇转行经历,我本硕也是机械类专业出身,工作是相关的传统行业,现在工作了 3 年多,人也 30 了,发现我这个行业很封闭,这几年没学到多少东西,再待下去除了那点还说得过去的薪水,看不到未来的成长空间。

最近因为兴趣在学习数据分析,包括 python、SQL 这些,想问下你,结合你当时的转行经历,我这个背景还有戏吗?主要是年龄和经验这块。吃苦倒是不怕,另外也不一定非得做到行业内多牛逼,毕竟起步晚了,但是和代码相关的行业总是能学到很多新东西,还是很喜欢这种学习方式。

不负责任的说,有戏和没戏是因人而异的,如果是兴趣,不妨放开了开始学,开源世界的好东西太多了,好的视频,B 站 YouTube 到处都是,如果能找到自己的兴趣,即使不转行,也能找到乐趣的。哈哈。

不过从换行业为了找工作来说,需要付出的努力多一些,现在比起我 3 年前难度要多不少,至少面试来说难度要多不少,如果想进入一家互联网大企业,不光要付出些努力,还要有些运气。

我的答案是,如果喜欢程序,不妨开始学,从第一个能跑起来的程序做起,剩下的交给,努力,天赋,时间和运气。

@nuanhuo17
Copy link

谢谢你 yihong ,昨天写完之后自己也在想这件事,我们这个二线城市里这方面的机会也不多,倒不如趁现在压力不大,在现有的条件下多学习开源世界的好东西,从做一些好玩的小程序开始,有机会再跳,没机会继续学习也不赖,就像运动、看书一样当成业余的爱好,看到你这个回复也帮我加强了这个念头,这样想突然开心多了,哈哈,谢谢你,真的很高兴遇见你!

@phh95
Copy link

phh95 commented Aug 20, 2021

因为我打开了 yihong 老师的 gitblog 仓库的通知权限,看到有一位人提到我了,真开心哈哈哈哈哈哈

@yihong0618
Copy link
Owner Author

一个邮件回复。

image
image

@yihong0618
Copy link
Owner Author

yihong0618 commented Sep 18, 2021

原邮件

yihong 你好。
你可以称呼我为 XXXXX。我是在某一次上网冲浪时偶然发现了你的 gitblog,里面有一篇《我转行程序员的经历》一下子就吸引了我。因为我也是一名机械专业的研究生,今年刚刚入学,但和你不一样的是我对游戏并不感兴趣,对计算机也是一窍不通,可研究生进入的实验室里充斥了一些转码的氛围,看起来我们的老师似乎也并不反对这样做。
但是我一直都对转码这件事抱有疑问,像我这种完全没有接触过计算机的菜鸟,真的可以做到转行程序员吗?看到你的博客后我感到有了一点“感觉”,有人在把自己的经历写出来,或许这是可以真实做到的。
我看到你的经历是从游戏到数据分析师,再到自动化的脚本和数据结构与算法,再之后是 GitHub 和 vscode 开发等等。对于你的经历,我最好奇的是第一个转变:游戏到数据分析师。我很好奇你是如何完成从在编程门外到走进去的这个过程,特别是对于非科班出身的我们来说,我觉得这可能是最难的一步,也是最重要的一步。
开学之前的假期我的老师给我布置了一些有关嵌入式开发的任务,同时我也学习了一点 Python 语言,对于嵌入式开发不知道你了不了解,但我觉得那不算是真正的编程,很多像是“体力活”一般,还需要很多电路知识,因此我的兴趣不大;学习 Python 则是同学的建议,同学也不是计算机出身,只是听说 Python 比较容易上手因而推荐给我,我觉得多学一点也未尝不可。
在学习 Python 的过程中,我感到一点编程的魅力,比如面向对象这个概念对我而言就造成了一定冲击,在此之前我从未想到过相关的内容,是一种全新的体验。
很可惜在这之后就没有类似的体验了,当我尝试写一些程序的时候,我不知道自己到底要写什么,仿佛是为了写代码而写代码,这让我感到茫然;我也尝试过在 GitHub 上下载别人的代码,但发现只学了基础的 Python,我也看不懂那些项目到底在干什么。因此陷入了困境。
另外我的老师更加偏向硬件方面,对想要转码的同学,不那么反对但也不支持,认为“走不远”,很难提供有效的帮助。
一时间竟说了这么多,可能是到了一个新环境,又没有可以倾诉的人却还有迫切表达的欲望吧,总之非常感谢你,就当是一个读者对你这个博客作者的另类读后感吧,谢谢。

我的回复:

hi xxxx

很高兴你看我写的东西,真是特别开心。以下是我的一些回答,但都是我的个人经历或建议,非常非常大的概率不适合你,方向的话其实更需要自己找,如果我能帮上一点点忙就更好了~

  1. 其实我不想用转码这个词,有些功利。因为我大多数时候是兴趣和运气推着自己走,当时也没怎么想着自己有一天能从事这份职业(我的薪水目前还没我转行前高)。
  2. 游戏到数据分析师这个转变,其实是机缘巧合吧,进入了数据部门,而我之前在米其林 Excel 用的还算可以,从编程门外汉走进去这个过程就是突然知道了编程是用来解决问题的,而问题是能分成一部分一部分的(其实大多数事情都是如此吧),因为一直喜欢看书也就找了一些书看,读了一本很受益的书《像计算机科学家一样思考Python》(现在有第二版)豆瓣地址是:https://book.douban.com/subject/26870407/ 之后就是写脚本写爬虫,自动化之类的了。
  3. 其实你学的数电模电,嵌入式对都是编程的一部分,且是非常非常重要的一部分,如果你之后有机会喜欢编程的话,慢慢你会发现,编程不一定是 CRUD,也不一定是高并发,微服务,云原生,甚至不一定要从事这份工作。而是找到自己的乐趣,把他当成魔法,because I can. 就像我 twitter 上关注了一个非常厉害的推友,他的职业是产品经理,但是写了非常多网络相关的东西,对很多人来说编程就是像开车,游泳,下棋一样是人生的一部分而已。 推荐一篇他的博客:https://blog.lishun.me/openwrt-mega-post
  4. 因此我的建议是,也不用局限于 Python, 找个日常的工作,把他自动化,或者找个好玩的项目,尝试把他跑起来,增加些小功能,慢慢书本和实践就结合起来了。慢慢你就知道为什么需要 dict list 这些数据结构了
  5. 可以先玩玩我推荐的游戏
  6. 其实我研究生时候也不知道自己想干什么,未来在哪里。但,编程对机械也很有帮助的,比如你一直在用的 CAD. ProE 这些都是程序做出来的,你可以上 GitHub 找一些开源的这些软件,看看他们是怎么运行的,是否可以把一些工作自动化,这样编程也就和你的工作结合起来啦
    最后,祝好。

@SpokieKid
Copy link

有点好奇作者完成这些转变的各个阶段所花费的时间都是多少

@yihong0618
Copy link
Owner Author

有点好奇作者完成这些转变的各个阶段所花费的时间都是多少

运营策划大概 6 个月
数据分析 3 年
程序到现在

@GymRat102
Copy link

谢谢yihong的分享。有时候会翻一翻你的时间线或者GitHub找到一种踏实做事的力量。

@honwhy
Copy link

honwhy commented Apr 17, 2022

我也是一个转行程序员,做得太花太杂导致没有了方向,虚无中。

@michealzh
Copy link

👍

@paranoiddemon
Copy link

有点好奇作者完成这些转变的各个阶段所花费的时间都是多少

运营策划大概 6 个月 数据分析 3 年 程序到现在

请问一下作者写代码几年了,看您参与了很多开源项目,感觉真的很厉害。我也是转行然后现在干了一年多了,去年一年看了很多CS的课程和书籍,最近在刷leetcode中。感觉自己的coding能力还是很差,也不知道怎么去参与这些开源项目,请问您有什么建议吗?

@yihong0618
Copy link
Owner Author

有点好奇作者完成这些转变的各个阶段所花费的时间都是多少

运营策划大概 6 个月 数据分析 3 年 程序到现在

请问一下作者写代码几年了,看您参与了很多开源项目,感觉真的很厉害。我也是转行然后现在干了一年多了,去年一年看了很多CS的课程和书籍,最近在刷leetcode中。感觉自己的coding能力还是很差,也不知道怎么去参与这些开源项目,请问您有什么建议吗?

4 年左右。建议都在文中呀。

@fanfan50
Copy link

有点好奇作者完成这些转变的各个阶段所花费的时间都是多少

运营策划大概 6 个月 数据分析 3 年 程序到现在

请问一下作者写代码几年了,看您参与了很多开源项目,感觉真的很厉害。我也是转行然后现在干了一年多了,去年一年看了很多CS的课程和书籍,最近在刷leetcode中。感觉自己的coding能力还是很差,也不知道怎么去参与这些开源项目,请问您有什么建议吗?

4 年左右。建议都在文中呀。

四年左右,已经这么厉害了。请问您一下,是花了很多私下的时间吗?我是从农学相关专业转到Java开发的,目前是转行后的第五年。感觉自己对开发只是不讨厌,兴趣并不大的,但还是想将开发作为自己的职业方向(因为没有其他很感兴趣的地方)。我只想小小的努力,能持续在编程行业工作,工作到40岁,并不想花很多的时间学习,是不是没救了。

@yihong0618
Copy link
Owner Author

有点好奇作者完成这些转变的各个阶段所花费的时间都是多少

运营策划大概 6 个月 数据分析 3 年 程序到现在

请问一下作者写代码几年了,看您参与了很多开源项目,感觉真的很厉害。我也是转行然后现在干了一年多了,去年一年看了很多CS的课程和书籍,最近在刷leetcode中。感觉自己的coding能力还是很差,也不知道怎么去参与这些开源项目,请问您有什么建议吗?

4 年左右。建议都在文中呀。

四年左右,已经这么厉害了。请问您一下,是花了很多私下的时间吗?我是从农学相关专业转到Java开发的,目前是转行后的第五年。感觉自己对开发只是不讨厌,兴趣并不大的,但还是想将开发作为自己的职业方向(因为没有其他很感兴趣的地方)。我只想小小的努力,能持续在编程行业工作,工作到40岁,并不想花很多的时间学习,是不是没救了。

  1. 并不算厉害哈哈
  2. 是的,花了不少自己的时间,不过还好挺有意思的,没觉得辛苦
  3. 不是没救了,编程和其他任何事情没有区别,因人而异,不想花时间学习就享受现在呀,都是生活的一部分哈哈。

@yihong0618
Copy link
Owner Author

有了第一个stars过100的项目(也过了200)followers 也过了100,总stars过了400。mark 一下。 image image image

过 4000 了,时间过的真快。

@superleeyom
Copy link

有了第一个stars过100的项目(也过了200)followers 也过了100,总stars过了400。mark 一下。 image image image

过 4000 了,时间过的真快。

恭喜🎉

@kiri10ten
Copy link

kiri10ten commented Aug 1, 2023

Thank you @yihong0618 ...I don't know what words to tie together to express, How inspiring I am feeling after reading it ,But I am immensely grateful 💗

somebody27 added a commit to somebody27/2024 that referenced this issue Apr 17, 2024
@coolp4n
Copy link

coolp4n commented May 31, 2024

我也“转码”来的
但是渐渐失去了当初敲代码的乐趣,
今年全马破三了 ,比赛后的这2个月发现跑步也没了动力

可能我不是真喜欢写代码和跑步 Ahhhhhhhhhhhh

@yihong0618
Copy link
Owner Author

我也“转码”来的

但是渐渐失去了当初敲代码的乐趣,

今年全马破三了 ,比赛后的这2个月发现跑步也没了动力

可能我不是真喜欢写代码和跑步 Ahhhhhhhhhhhh

蓝调了

@NoZTurn
Copy link

NoZTurn commented Nov 26, 2024

果然兴趣是最好的老师,非专业达到的成绩比很多科班专业初审的都强

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Top Top label of gitblog 一些记录 一些记录
Projects
None yet
Development

No branches or pull requests