从文科生到前端专家 - 在转行时我想过的问题,抖音四面被拒再战头条终获offer

我是转行成为程序员的,可以分享一下我的编程学习经历。

  在学习编程之前

在高中时,因为学不会物理和化学,我选择了文科,这也意味着计算机专业类对我关上了大门,不过在当时我也没有想到自己在未来会喜欢上写代码并以此为生。

现在回想起来,与编程有关的只有两件事情。

一是在繁忙的高中生活中,我一直订阅着《电脑报》,并通过它了解互联网的时事。二是当时的文科数学需要解一种流程图题,也是我最喜欢的题型,现在看来与代码流程其实是无异的。

3f7baef76049cc397eab84940edec81a.png

流程图题

  从 C 语言开始

升学后,我就读的是人力资源管理专业。2015 年初,大一上学期的期末考试刚结束,距离回家尚有一段时间,因为闲着无聊便上网络学起了翁恺老师的《C 语言基础》课程,随后就被带入到了计算机编程的坑中,至今尚未脱坑并越陷越深。

09a4068612be51c0f22a5447fc8a4e41.png

记得当时的我,在 2015 年寒假一个月的时间内。开始了每天听课,思考。然后把代码输进手机慢慢运行的过程(那时候还没有笔记本电脑)。当时最开心的就是图片的这一段代码,一次性编译运行通过。

47884c90a845d0e98c2d9a9fac7af07b.png

  从“年轻工程师”到阿里前端技术专家

往后的半年中,编程的学习也并没有像想象中的那样顺利。学习进度停滞不前。我还清楚的记得当时的自己:“会用20门语言输出Hello World!”,“别人一周就能上手的 BootStrap 我学了四个月” 等诸如此类的事情。

偶然的一个契机,我找到了愿意带我写代码的同学,并磕磕绊绊的完成了第一次 Ajax 操作。那之后的我仿佛开窍了一般,编程世界的大门,终于向我敞开,任我探索和遨游。

直到有一天,我遇到了瓶颈。

2016 年的前端,技术日新月异,当时的我颇有一些手足无措,总觉得时间不够用。于是在参加当年的 JSConf 时,遇见了当时前端圈的名人贺师俊(Hax),于是便壮着胆上去交流了一番。

对话的内容我只记得个大概,在交流结束时我向贺老致谢,他回复我说:“学东西不要有那么强的功利心,而且对于我来说,能帮你们这些年轻的工程师就非常好了。”

在那时候我发现,对编程的兴趣已经托着我从学生过渡到大家眼里“年轻的工程师”了。时间一晃眼已经过去了 5 年,当年的学生,也从“年轻的工程师”蜕变成了阿里的前端技术专家,身份在变、环境在变、技术在变,只有对代码的兴趣没有改变。

  从 Node.js 使用者到 Node.js Collaborator

由兴趣驱动的源动力,往往是纯粹且不掺杂利益的,而在软件世界中,兴趣驱动与开源精神是高度契合的。

在 2020 年冬季到来的时候,我遇到了新的瓶颈,想学习更多 Node.js 的知识却不知从何下手。

这一次我的选择是参与 Node.js 开源社区的协作。我开始阅读 Node.js 的源码,解决 Github 上的 Issue 等。在事后提名 Node.js Core Collaborator 时,我统计了一下,两个月的时间内我一共提出了 50+ 的 Pull Request。

现在回头来看,这些与实际工作“无关的兴趣”,最终支撑着我走的更远,现在的我在 Node.js 架构团队,全职负责着 Node.js 的工作,个人的眼界也开拓了许多。

转行的那些问题

转行并非是一帆风顺的。在这个过程中,最常见的问题莫过于如下:

  1. 非科班的同学,能学会计算机吗?

  2. 计算机专业学了 4 年,你自学的能跟得上吗?

  3. 出来后能找到工作吗?

  4. 转行的过程中需要做什么呢

  5. ……

这些问题从我学习编程时,就一直萦绕在耳旁,时至今日依然会有同学找我聊天,然后再问出上述的问题。也是借着此机会,我写一下我的想法。

  非科班能学的会计算机 / 自学能跟得上吗?

答案是肯定的:“可以的,没问题的”。

说起来,我从未纠结过自己非科班的出身。在学习编程的伊始,我就想清楚了,如果想要成为一名优秀的程序员,科班 / 非科班的身份根本就无关紧要,真正的关键在于个人的学习效率与投入的时间。

而在大学中,我投入了大量的时间,平均每天编程 6h,这样的生活一直持续到毕业。而在毕业时,我已经完成了大约十几个项目,写过十几万行代码,也有一个十几万字的博客。

ff603f1462c07df42fbf83c73e314d22.png

博客统计

69ff0bf8792d6fca226e9b78bbe31fd9.png

大学时写的一个项目

8f9f428f4954437dffaf3f4355132bd3.png

Commit 记录

换言之,我也认为,如果一名非科班的同学,学过计算机的课程,写过很多行代码,也可以顺利的完成项目,那么他就是程序员。

  出来后能找到工作吗

答案也是肯定的:“可以的,没问题的”。

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

后话

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

对于面试,说几句个人观点。

面试,说到底是一种考试。正如我们一直批判应试教育脱离教育的本质,为了面试学习技术也脱离了技术的初心。但考试对于人才选拔的有效性是毋庸置疑的,几千年来一直如此。除非你有实力向公司证明你足够优秀,否则,还是得乖乖准备面试。这也并不妨碍你在通过面试之后按自己的方式学习。
其实在面试准备阶段,个人的收获是很大的,我也认为这是一种不错的学习方式。首先,面试问题大部分基础而且深入,这些是平时工作的基础。就好像我们之前一直不明白学习语文的意义,但它的意义就在每天的谈话间。

教育脱离教育的本质,为了面试学习技术也脱离了技术的初心。但考试对于人才选拔的有效性是毋庸置疑的,几千年来一直如此。除非你有实力向公司证明你足够优秀,否则,还是得乖乖准备面试。这也并不妨碍你在通过面试之后按自己的方式学习。
其实在面试准备阶段,个人的收获是很大的,我也认为这是一种不错的学习方式。首先,面试问题大部分基础而且深入,这些是平时工作的基础。就好像我们之前一直不明白学习语文的意义,但它的意义就在每天的谈话间。

所谓面试造火箭,工作拧螺丝。面试往往有更高的要求,也迫使我们更专心更深入地去学习一些知识,也何尝不是一种好事。

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值