博客阅读和思考

问题一 关于当初

 

博客I[1]的作者提出了一种概念“爆栈”——“我搜索了很久,没有找到一个符合我要求的“较为全面”地表述各种技术大系的图表。所以我创建了爆栈,覆盖了以下技术栈”,然后写了自己的相关“爆栈人生”。让和计算机有深远缘分的我对此有所思考:我要做程序员,到底包含哪些技术呢,要学哪些呢?先来说说我和计算机的缘分。

结缘

应该还是未上学的时候,我就早早接触了电脑。在六年级有老师的指导就接触了编程,学习 Pascal 语言,参加 NOIP 竞赛。但是,以前的我是那种粗枝大叶,忽视细节的人。虽然对数学的敏感让我很快就学会了不少算法和思想,但是仍然存在隐患——程序不允许细节出错,细节错误也会全部错误。事实证明是这样的,初中我两次参加 NOIP 普及组,那两年复赛题目难度突降,但我的粗心让我丢掉了许多分。还记得一次是 4 道题,每题 100 分。我在很短时间内写完了前三道,集中想最后一道。写最后一道,我也是焦躁的,并没有仔细分析,最后并没有想出合适的算法。但我觉得前三题我都写对了,觉得没问题。但是...结果并不如愿,仅仅拿了一百多分。是的,我没有仔细测试。我的第二题数据全没过,第三题只过了一半。最后只得了一个省三等奖,老师也替我感到不值——他觉得我是他最优秀的学生之一。而初三参加因为要考虑中考,所以其实没有花很多精力,尝试了一下只得了三等奖。比赛完,我是很伤心的。几乎是唾手可得的奖项,却因为我的过失与我擦肩而过。这非常影响了我,我发誓要成为一个细心的人,精益求精。

分别

上高中后,高中有实验班,实验班每个人必须选择一门竞赛去学习。但是政策的修改使得我的两个三等奖无法保送实验班,而中考的失利也让我与实验班擦肩而过。我很灰心,但我想从新拾起竞赛,我想拿奖,曾应当属于我。我还是跟老师报名了,加入了学习竞赛的行列。但是发现,学习竞赛的人很多,而老师也重点培养之前拿过一二等奖和实验班的学生。但是学生们却不认真学习,老师在讲课他们却在玩游戏。学习也讲究氛围,我不能像我哥那样可以几乎不受别人干扰。最后,我还是选择了离开。我甚至发誓,以后不再做编程相关的工作。

再会

高中我对物理化学非常感兴趣,最终在极短时间内学物理竞赛拿到了省三等。填报志愿的时候,我对专业材料、化学都非常感兴趣。而我省内名次有点尴尬,别人建议我报考华中科技大学。家里人跟我沟通过很多次,让我不要学化学,不要学材料。出于想报华科王牌专业的考虑,最后填了第一专业志愿电气,第二专业志愿计算机。然后填了我最想学的两个材料有关的专业,最后都是随便填的软件工程和给排水(听说这两个容易转计算机和电气还是啥)。投档线出来,一看比去年高了不少。当时也是有点紧张,感觉可能会是学材料或者给排水去了。录取通知书寄来,是出乎我意料的(可能并没有出乎我家人意料233),软件工程。

是的,又再会了

 

再来说说过去是如何学习的。真正算起,我是从 Pascal 入门,那时候有老师教。学习了一些计算机和编程语言的概念,基础的语法和算法。然后课外我自学了 Delphi (Object Pascal),写过书上的 Demo,自己写过一个修改和锁定主页的小应用。在大学课堂上学习了 C语言 ,Java。印象比较深的是 Java 课设的 Web 项目。第一次接触 Web ,发现它是如此有魅力,可以极大满足大多数应用需求。学 Python Flask 框架,但是发现我即使搭建了一个很棒的后台,页面也是很难做好。之后参加了一个公司的夏令营,学了 JavaScript 和 Node.js 。这又让我受到很大感触,发现 JS 是非常全能的语言,也是让我对解释型语言有了更多认识。团队协作做过一些很 exciting 的项目,大家都是来夏令营才认识,一开始觉得很不适应,后来发现这种氛围太棒了。

 

在说说写了多少代码,印象最深的项目。代码写过很多,应用种类也都不同。甚至我都觉得,说不定我以后就能成为文章I作者那样的爆栈工程师(有问题,搜爆栈)。印象最深的项目肯定是一次比一次深,越是从很久之前接触电脑的人,应该对于新兴的很多失误感到惊讶。我觉得比较好的就是暑假参加的夏令营吧,我们用敏捷开发方法、测试驱动开发等等现代协作方法一起快速开发了应用。另外应用中需要用到很多第三方库/软件帮助开发,这是很奇妙的感觉。以前写程序都是几乎从 0 开始一步步写,但是现在,我可以调用别人分享的库就OK了。这个项目是一个 Web 应用,支持使用富文本编辑发布新闻。说起来好像功能很少,但是光是富文本就让我们头疼了很久,还好最后使用插件成功解决。比较复杂的就是使用各种库,一些库还有 Bug 需要自己修改源码以解决。

 

回答开始的问题:我要做程序员,到底包含哪些技术呢,要学哪些呢?

能学的越多越好。不甘平凡,如果是只会某个技术,肯定是不行的。

 

问题二 关于未来

博客D[2]的作者认为“企业要的应届毕业生就是一张白纸,这些白纸吸墨能力的高低决定你能否找到好的工作,而吸墨能力高则主要是基本功扎实、自学能力强的体现,并非我一直以为的丰富的‘实习经验’。”,我对此有一个问题:实习经验对本科生是否重要?

我的答案是:看情况,如果你想要去创业公司,实习经验应该是非常重要的。因为实习经验代表了你的实践水平,如果你的实践水平不怎么样,不能在短时间内学习和开发,会很耽误公司的项目自己也学不到东西。如果你想要去大公司,实习经验没有那么重要。公司发展稳定而公司内也有牛人可以带你,不一定需要丰富的实习经验。

所以,对比他的经历还有之前文字I博主的经历,我觉得,我会选择一种不平凡的路。我会尽可能提高自己的实践能力,对各类开发都了解,掌握精通两门及以上种类的开发。

 

这种选择下,相对于注重基础知识的他人,我对于一些基础的知识可能会没有深刻的了解,甚至可能面试官的问题很多都回答不出来。但是我得到的是一种实践的能力,我可以一人担起团队的大多数开发任务,在创业公司成为顶梁柱。

 

一年半的时间内,我会参加很多真实项目中。当前我在学校的 Dian团队 具有非常好的项目资源,我会好好使用。另外一方面会学习有关机器学习/深度学习和人工智能的知识,尽量学得深、扎实。以后可能会来到人工智能的时代,这方面的知识是必不可少的。而且在工程方面现在人才非常稀缺,我可能会选择机器学习算法岗之类的岗位。

 

问题三 关于当下

如果要说对当前专业的喜欢程度,讲道理,在上个暑假前都是比较没有兴趣的。因为感觉课堂接触的一些项目并没有吸引力,而且开发的时候沟通和协作都很混乱。我肯定是希望有一个良好的氛围的。但是暑假过后,我发现只是在实践的道路上我站的地方太低。接触到某些公司里一些先进的开发方法和技术,对于我这个处女座来说,简直是一针强心剂,恢复了我对计算机和软件的信心。目前来看,我会喜欢上这个专业。

 

就专业来言,我属于...不知道。这几个选项不太清楚是啥...我大概是一个喜欢折腾,不妥协的人吧,对某些地方有执着追求(有点偏执)。

 

专业技能:都学过但我不太敢说熟悉和精通。比较熟悉的是 Javascript 语言相对应的前端和后端 node 的开发。一些基本算法,尚在初学的机器学习,有所领悟的深度学习。C语言也比较熟悉。可以说底层语言 C 标签式语言 HTML 解释型语言 Javascript Python 都是我常用的。

 

和合格本科生的差距...大概没有学好课程特别是数学...但我现在学机器学习又在恶补了。

 

问题四 关于课程

博客H[3]的作者认为,一个正常的程序员,是不应该去参加培训的”。我对此提出一些不同观点,我觉得这句话有言过之嫌。

 

先说说我最深刻的课程。我感觉所有大学的课程对我来说都不深刻,特别是我们软件学院。据了解,我们软件学院通常要学很多专业的专业课程,而且我们还有自己的专业课程。因此很多课程的学时被极大压缩,说是上了课但总觉得是过过而已。再加上90人100人的课堂,一个老师,我觉得学习效果并不是很理想。因此给我影响比较深刻的是上个暑假的夏令营和在网上看的几个 MOOC 或个人出的教程。影响比较深授课的教师是来自公司的,思维活跃很有 geeker 的风范。打开了我的思路开阔了我的眼界,这半年里我的快速发展也是拜他所赐。他也送我一句话,希望他日相见,能成为一个有影响力的人,我还记得。

 

培训并不一定要否定所有,有些培训、夏令营也是非常好的。当你陷入某个坑,这可能会带来不错的用处。

 

问题五 关于师生

邹欣老师在博客N[4]中说到,他心目中理想的师生关系是健身教练 / 健身学员的关系。“每一个来学习的学生,  都是想学好才来的。  各人条件不同, 学好的目标也未必相同。我也如此认为,因材施教是非常重要的,而且也可以提供很多好的建议。从我自身来说,我深刻体会到导师很重要,没有导师生活过的很艰难很纠结。我觉得我这方面也需要改进,之前可能觉得老师只是教授知识,但是并不是这样。但我也想提出一些该改进的地方——如果有上百人,老师就会很难帮助到所有的学生。是不是应该有一些好的解决方案。

 

[1]. https://www.cnblogs.com/unruledboy/p/DevCareer.html

[2]. https://www.cnblogs.com/xiaozhi_5638/p/4485805.html

[3]. https://www.cnblogs.com/freeflying/p/4796369.html

[4]. http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html

posted @ 2018-03-09 00:25  Lovegood  阅读(145)  评论(3编辑  收藏  举报