从测试到全栈,这些年我都经历了什么

写在前面

首先,这篇文章的标题绝对是标题党石锤了。前端

写这篇文章的动机,彻底是由于在每日逛 SF 的过程当中,发现了一块儿分享你的故事这个活动,出于标题处小姐姐爆表的颜值让我有了恋爱的感受以及对于奖品中 T-shift 的渴望,我无情地抛下了手头的工做(明天还给作 hotfix 发布),写下了这篇文章。java

话说 SF 简直贴心,文章大纲都给列好了,那我就无情的 copy 过来好了,这样的话,确定不会由于和主题无关而取消获奖资格的(机智脸)。python

能够先介绍下本身

我叫 littlelyon,最先是在一家不知名美国公司作黑盒测试和自动化测试,以后转型作了 java 开发,后来因为和公司部门领导有一些冲突,辞职跳槽到一家创业公司作 python 开发并慢慢转向了前端的工做,以后为了寻找更好的发展空间就又跳槽了。当前是一名全栈工程师,偏前端方向的,主要负责公司各个项目的前端架构以及优化工做,有空的话,再帮帮后端童鞋分担下工做咯。react

比较熟悉的技术栈包括各类前端内涉及的框架、编程思想及工具等等,后端的话,主要是 pythonjava,最近在学习 go,由于新的项目要来了。平常除了养家糊口的工做之外,就是刷刷技术论坛,看看博客,折腾折腾新的技术,回答回答新人小白的问题什么的,比较闲的话,也会作一些我的项目以及看一些开源项目的源码。jquery

我的优势的话,应该是我这我的颇有耐心,作事效率也很高,总之就是比平均水平快,缺点的话,我觉的应该反应比较慢,这个在刷题的时候,提现尤其明显,不少算法看答案都要理解很长时间。我的爱好的话,平日无聊会弹弹吉他,作作饭,刷刷动漫什么的。linux

等等,怎么一种面试自我介绍的既视感,不过我觉的当作自我介绍应该差很少了吧。git

聊一聊那些年你做为程序员遇到的尴尬事儿

仔细想了想,彷佛也没有什么尴尬的事儿,不少事情遇到其实没什么,大不了重来就是了。还记的刚用 linux 的时候,前先后后重装了不下十几回吧,不是由于 sudo rm -rf 给系统文件删光了,就是由于改了不少默认的配置文件致使系统起不来了,总之犯过不少很愚蠢的错误,好在如今再也不犯了。程序员

可能比较尴尬的事情就是和产品经理沟通?这真的是个人真实感觉。angularjs

怎样提升本身的战斗力

程序员提升战斗力的方式?这个按我本身的理解应该每一个人都有本身的一套方法吧,我就简单分享下我印象中,当前职业生涯中几个战斗力提高比较快的时间点以及缘由吧github

养成了学英文的习惯

因为第一家公司是一家美国公司,因此英语确定是必备的,其实我自身的英语水平还算能够了(好歹也是过了4级的水平,滑稽脸)。但到真实的使用场景下会发现很不够用,主要体如今如下几点:

  • 和外国人沟通比较费劲,常常发现没法表达本身的真实意图
  • 看国外文章速度很慢,这个慢主要体如今,一些比较长的句子,读一次没法明白含义,须要读屡次,而后还有一些高频单词不认识
  • 公司组织的一些以英语为语言的讲座只能经过文字来汲取知识,而后还受制于第二点

因此当时为了解决这些问题,我就下定决定要改善下本身的英语水平,以后就随便找了个学习英语的 APP,每日坚持背单词、看英文新闻和练听力,以后大概坚持了 3 个月左右吧,而后就显著地发现上面 3 个问题都不是问题了。

而后因为看英文文章不受约束了,技术水平随着阅读量的提高也提高了很多。这里可能有人会问了,你英文很差能够看中文文章啊,不也能够提高吗?话是没错,但当时吧,其实真正优秀的中文文章并不像如今这么多,不论原创仍是翻译的。同时,我一直觉的,不少东西,仍是看原文比较好,由于若是你看的是别人翻译过来的文章,就比如别人吃下去的东西再(此处省略 1 万字 ...)。除非翻译的人的水平很高,否则大量阅读译文是一件学习效率很低的事情。

不要忽视那些看似微小的时间片断

这一点主要是想说一下平常工做中,尤为是使用电脑,编程时的一点感觉,就是快捷键。这里的快捷键是广义上的快捷键,包含但不限于 alias、宏命令、脚本等等,总之就是能节省时间的若干方式罢了。

我还记的当时作自动化测试的时候,因为写测试用例的脚本语言是公司本身开发的,同时公司内部也没有对这个脚本语言提供各类编辑器的插件,当时的工做的面向文本的,对,你理解的没错,就是彻底靠手打和人工校对,彻底不存在什么自动补全、自动跳转之类的。当时我作了两天我就发现这是个很严重的问题,正巧当时 vscode 也刚发布,就在上面实现了支持这个脚本语言的插件(为了证实我没有吹牛逼,repo 在这里),但当我向公司内部推广这个插件的时候,部门领导给我泼了一盆冷水说,你那些自动跳转和自动补全能节省多少时间啊,也就 3 秒 5 秒的,我粘贴复制一下,不是同样的效果?后续又在不少方面起了不少争执,最终由于意见不合我就离职了。

我这里说这个事儿,是想告诉你们,不要轻视这 3 秒 5 秒的时间片断,若是在工做中,一个高频动做,每次执行时,均可以节省几秒钟,日积月累,真的不容小觑。我这里分享下我认为平时比较高频的操做以及节省时间的方法:

  • 一些软件的使用,主要就是花一些时间整理并编写相应的 alias 或者脚本了,好比 git 能够经过 alias 功能有效提高效率
  • 开发环境的配置,如今各类开发环境都支持热更新、热部署、增量更新等方式提高效率,赶忙用起来咯
  • 使用正确的工具,如今容器化已经成为主流,若是每次部署仍是手动来完成,是时候该了解下相似 docker 这样的工具了

这样,这里节省 1 秒,那里节省 3 秒,那里又节省 5 秒,日积月累你就会明显感受本身的时间变“多”了,而后就能够去作其余事情,好比学英语。

避免重复地作一件事情

上半年招聘的时候,陆陆续续来了不少人,简历上都写的工做经验 7 8 年的,都比我工做年限长,但面试以后,给人的最大感受就是,其实这个候选人的工做经验就也 2 3 年,剩下的时候都在作同质的工做,而后重复了不少年。这实际上是程序员很容易陷入的一个怪圈,就是我明明工做了不少年,可是却感受本身的技术再也不提高?最主要的缘由,是由于一直在作一样的事情,咱们只有尽量的作不一样的事情来挑战本身,才能不断的提高战斗力。

仍是讲我本身印象中比较深入的一件事。当时曾经为开发过一款用来管理部署环境状态的 chrome 插件,最开始,这个插件就是写着玩玩,天然没有使用任何的框架,直接原生 js 撸,虽然得到了团队内部的一致好评,但随着需求的增多,使用原生 js 已经没法知足开发效率,以后就引入了 jquery,而后发现并无改善多少,而后又引入了 angularjs,第一次体验到了使用框架的快感,以后又陆陆续续使用了若干框架来重构了这个项目,每次重写都会有不同的感觉,好比从 angularjs 换到 react 的时候,第一次感觉到了 prop/state 这种单向数据流的清晰感,集成了 rxjs 以后体会到了响应式编程的优雅等等,总之就是来来回回的折腾。

说实话,我感受如今前端工做作的驾轻就熟,很大程度是由于当时在创业公司时,来来回回折腾这个 chrome 插件形成的,这里很是感谢当时的团队领导给予了我自由支配本身时间的机会。

送给即将成为程序员的经验

经验的话,大概就一下几点,一些上文也说起了:

  • 学好英语
  • 大学的基础课程,要好好学习,大有益处,否则往后仍是要还债的,好比数据结构和算法、网络等
  • 戾气不要过重,要 peace,不要学我一言不合就和上级翻脸离职,裸辞的风险仍是很大的,我很快找到一家靠谱的创业公司有很大的运气成分,否则如今估计不会在这里写文章了
  • 先找个女友

若是还有一次选择职业的机会,你还会选程序员吗?为何?

答案固然是不会啊,有重来的机会,固然是干不一样的事情了,否则和咸鱼有什么区别。

写在最后

本文纯属我的观点,不喜轻喷,若有雷同,纯属巧合。

其实还有不少没说的话,可是鉴于要去改 bug 了,因此就写到这里了,有什么想问的、想了解的,能够写到评论中(虽然可能没有)。

本文参与了 SegmentFault思否征文「一块儿分享你的故事」,欢迎正在阅读的你也加入,一块儿分享。
相关文章
相关标签/搜索