生涯回顾

掘金的码友们好,我叫shinn_lancelot(名字不大好,但是用习惯了就不想改了),是一名喜欢ACG的低学历的码农。大学期间虽然学的软件专业,但是除了大一之外都没有认真学习(算是三分钟热度吧),开始觉得枯燥。甚至到13年毕业之后,开始考虑转行。

直到14年的3月份(从毕业到这一直在练车),在我n线城的一家小公司老板打电话让我去面试。最终,在这家公司继续了我的码农生涯。那时流行做微信公众号开发,起初我做的是简单的静态页面,由于在校没好好学,做得页面都不咋地。大概过了半年,由于项目需求,开始学习后端开发,用的是ThinkPHP。哈哈,我连PHP都不会,居然要直接学TP,当初心理还是挺没底的,以为挺难的。在看了几集视频教程之后发现,这玩意确实很适合新手用。如果只是实现简单增删改查,门槛很低。说实话,这个框架让我有了信心,换成别的说不定就受挫放弃了。渐渐地,在学习TP的同时,顺便学习一些PHP的知识。同时,学习了mysql基础以及apache。

大概过了两年吧,那两年学得用得基本都是前端基础和PHP相关技术。虽然有接触到很多新技术(前端工程化开发,其它后端技术),但是并没有投入项目使用。

到了16年,这个时候对软件开发已经很感兴趣了(在校时的失去兴趣完全没有了)。为了多多学习、提高技术水平,我做了以下几个操作。

  • 买云主机和域名

    因此,我也学习到了一些linux、部署、域名相关知识。

  • 科学上网

    这下子,终于可以用谷歌家的好东东了。想看的资料也能找到,码农必备操作。

  • 买书

    一开始买了工作相关技术栈的书籍。但是出于对技术的热爱,看见想买的书就跟想买PS4游戏盘一样难以抑制。到目前大概买了70+本技术书了,全部看完的不超过10本,很多是看了一部分。个人觉得买书喜欢就好,当然买来也不能不看。

就这样,16年至今,个人技术栈的学习以前端和后端为主,包含了各种语言、工具、规范、框架、数据库、web服务器、服务器等等。只可惜公司还是采用传统的开发模式,很多学得没有用上。但是我爱学习,学习使我快乐!

2018总结

刚刚过去的这一年,发生了很多事情,不管是社会上也好,还是个人也好。这一年,开始在github(早就注册了,一直没用呢)等代码托管平台托管代码(好想要Octocat手办啊啊啊啊啊)。不管是私有项目、写的工具、写的库、学习笔记、学习代码,统统放上去。

另外,工作上依旧忙碌。需要做微信开发(公众号和小程序后端),H5开发(H5滑动页,H5单页应用),iOS开发(半吊子),其它独立外包项目,感觉有时候真的时间不够用。

简单总结下来就是忙碌又疲惫,但是踏实又充实。

学习姿势经验分享

下面分享一些个人觉得不错的程序员的学习姿势。

  • 从取名开始

    首先给自己取一个独一无二的英文名吧,最好是各大网站都没被注册的,以后需要用到名字的地方有不少。

  • 技术岗位方向

    学计算机的就好比学医的,也分岗位科室。推荐选择前端或后端作为主要的学习方向。至于人工智能和区块链,入门不推荐。后端技术语言推荐Java、PHP、Python、Golang。Java和PHP就业岗位相对多(PHP快死我是不信的哈哈哈),但是Java门槛高一些,PHP入门容易。至于Python和Golang,相比前两门语言就业岗位数量要少一些。另外,其实不管是前端还是后端程序员,前后端或多或少都是需要学习的(C语言也是必学的)。

  • 系统和开发工具

    系统推荐mac。windows也可以,入门影响不大,但是使用命令行会比较受限。开发工具,这里我指的是IDE。推荐vscode和jetbrains系列的。

  • 入门教程

    刚开始入门推荐看视频教程,推荐慕课网,免费视频入门足矣。学习前端基础三件套及选择的后端语言基础。看视频助于理解,并编码实践。文字教程推荐菜鸟教程。此阶段先打一些基础啦,写点简单的站点和demo,学习代码和demo代码记得留着。

  • 面向谷歌编程

    从这里开始建议使用科学上网了,搭梯子对于编码还是很需要的。推荐注册谷歌账号(后续需要邮箱的地方可以使用谷歌邮箱,我由于用了qq邮箱就懒得换了)。

    谷歌搜索,百度搜不到时可以用谷歌搜索试试。

    浏览器使用Chrome,平时浏览的文章、文档等等都可以分类收藏好。Chrome的插件也是非常多,功能强大,也是必备的。请记得一定在Chome登录谷歌账号,这样即使换电脑了,只要登录账号即可同步收藏和插件等配置。还有,学习谷歌浏览器开发者工具,这个也很重要。

    谷歌网盘,只有15g,同步功能很方便。就是使用有点麻烦,需要代理软件。我用来放资料、电子书、照片等文件。

    油管,哈哈,英文好的可以看看这上面的视频教程,关注一些技术频道也是很不错的方式。推荐Google Developers频道,最近有一些flutter视频。

  • 面向git和github编程

    从搭梯子及使用github,这时候学好英文就很重要啦,这个我现在发现也很重要(我四级都没过,阅读还好,写英文README和看英文视频就吃力了)。比如阅读英文文档、编写英文文档和README、看英文视频、看Stack Overflow等等,所以应该重视这一点。

    开始在终端使用命令行配合开发工作,在使用命令行之前,建议先学习linux基础,发行版推荐centos或ubuntu。然后,平时开发工作其实用的比较多的都是cli工具自带的命令。比如git命令、npm命令,这些都不难,没什么,打多了就熟悉了。

    git版本控制工具也是必学的啦,网上教程也非常多,不多说了,先入个门用起来就好。github就是代码托管+开发协作+同性交友平台啦,代码全部托管到这上面就好。目前github私有仓库免费啦,不想公开的代码也可以放上去了(真香!)。另外,顺便学习下开源协议以及markdown语法。

    至此技术框架也可以学起来了,前端推荐Vue、React。PHP推荐ThinkPHP和Laravel。两个框架都用过,一个易上手,一个优雅。Python推荐Flask、Django、Scrapy。Python学习建议从基础语法到爬虫到web网站开发这样的路线进行,当然Python应用也很广,按需学习就好啦。Java忘了(都换给老师了,主要是这门语言虽然牛逼,但是我兴趣不是很大,有空看看吧),听说SpringBoot很好用,省去了麻烦的配置。Golang我还在学习中,还是很感兴趣的。

    除了框架以外,前端工程化还有很多东西要学习(大坑啊),比如:nodejs,es6,模块化规范(AMD、CMD、CommonJS、UMD等,一开始被这些搞得云里雾里),包管理器(推荐npm、yarn),代码打包工具(推荐webpack和rollup,parcel也不错啦),任务流工具(grunt、gulp),代码检查工具(eslint、jslint),es6转es5工具(babel)等等。后端的话,学习包管理工具、第三方开发、接口规范、数据库、缓存、负载均衡、web服务器等等。还有HTTP等网络协议也非常重要。

    其它围绕git和github还有一些衍生的内容也推荐学习。

    1. travis CI 持续集成工具。可以帮你自动构建及部署项目。比如用这个部署静态站点到仓库的gh-pages分支上,在这个分支,github会自动开启git pages服务。

    2. gitbook 写书、写文档的工具。推荐使用命令行方式使用gitbook,用来写项目文档比较合适。当然你也可以选择其它文档工具(sphinx、docusaurus等)。

  • 算法练习

    算法非常重要!算法可以看《算法》、《算法导论》书籍,我还推荐上LeetCode做题。

  • 面向博客编程

    在学习过程中,遇到的坑与经验都应该做笔记记下来,推荐写博客的方式。关于博客,可以使用开源的静态站点工具(hexo,hugo,jekyll等等)来搭建个人站点。当然也可以选择自己开发。静态站点推荐部署到github pages或者netlify这些免费静态站点服务上,需要动态环境就必须自己买主机啦。主机和域名我还是建议买的,最低配置就好(贵啊~~~~~),方便学习和做实验。

    除了在博客写文章以外,建议同时在国内各大技术社区发布文章。个人喜欢掘金和segmentfault,知乎和简书也是不错的平台,国外的就算了(除非写英文文章哈哈哈)。

  • 参与开源及造轮子

    至此,应该有能力参与开源和造一些轮子了。很惭愧我还没参与过他人的开源项目,平时时间都花在写自己项目上了。关于造轮子,可以从平时的开发工作中发现。因为平时工作总会遇到各种问题,可以围绕解决这些问题来考虑造轮子,可以从编写简单的库和工具开始。比如开发一款js库,并发布到npm上。比如写一个composer包来服务自己的工作。比如写一个小框架。比如实现一个个人的脚手架工具。造轮子是一个对提升技术水平非常有帮助的方式,墙裂建议。

    做开源项目还有一些必要的知识需要学习,比如git提交规范,可以使用angular的规范。还有README最好认真编写(虽然可能项目没人用)。对于项目内容比较多的可能需要编写文档,比如写了一个库。

  • 简历

    在有个人站点之后,可以将简历放到个人站点上,方便浏览和更新。(惭愧,我这块还没做)

  • 关于qq群和书

    技术群可以加,不过很多都是吹牛斗图,当然也有认真学习的群。很多问题用搜索引擎基本可以解决。技术书籍的话,喜欢可以买,推荐买经典书。收藏的话,推荐买英文原版的。平时学习推荐看电子书,实体书闲暇时可以翻翻。推荐京东618和双11期间买。

  • 其它

    非科班出身的同学还需学习数据结构、计算机原理、计算机网络等知识。

总结:个人觉得不错的姿势就是这样了,比较啰嗦,其实不管哪个方向,要学得都非常多,摆正心态,别急于求成,总能学好的。学习技术的同时顺便打造个人品牌,到最后,github和项目都是面试的加分项。有好的姿势和工具欢迎推荐~

展望

2019希望自己技术可以更上一层楼。以下是一些目标:

  • 计划深入学习前端
  • 深入了解下PHP,尝试开发扩展
  • 熟悉Python,个别工具用Python开发更方便
  • 使用Golang开发一个小项目
  • 继续开发完善个人项目
  • 上线个人站点
  • 尽量多填一些自己挖的坑(我会把想做的项目都写下来,做某某工具、某某站等,发现做得没有写得快哈哈)
  • 学习docker,尝试用docker部署项目
  • 能够在掘金多写点文章
  • 用gitbook写一本围绕git和github的小书
  • 希望工作和感情顺利,最好能够交一些共同喜欢技术的朋友!

水平有限,渣渣文案,有错误请指教。我爱学习,学习使我快乐!

欢迎关注我的 github

掘金年度征文 | 2018 与我的技术之路 征文活动正在进行中......

转载于:https://juejin.im/post/5c36bb926fb9a049ab0dcfd0

分享五年码农生涯历程经验及2018总结 | 掘金年度征文相关推荐

  1. 『电子书』分享一波码农必备编程开发类书籍[转]

    分享一些书籍 看到书籍很多,感觉很不错,就收藏下来了,是百度盘的连接,失效的可以评论一下以此更新一下连接. 书籍清单 Python编程快速上手 细说PHP(第2版) Python核心编程(第3版) L ...

  2. 【译】码农生涯十六条不要

    原文地址: http://www.yegor256.com/2017/... 经常有人问我:如何成为资深的软件工程师或架构师?一个刚学会敲代码的码农,是怎么成长为年薪 15 万刀以上.开着宝马的开发团 ...

  3. 第四十九期:化繁为简的五种码农必备工具

    如今,开发工具已成为了软件开发过程中必不可少的组成部分.本文将向您介绍当前软件开发市场上颇具影响力的五种化繁为简的码农必备工具. 不知您是否已经发现:那些以任务为中心的软件开发工作,会比独立的研究式开 ...

  4. 在瑞典当码农 :在家上班?不加班?能干到60岁?

    作者:斯京小羊 来源:公众号"爱上瑞典" 写在前面 前段时间,国内IT公司996(朝九晚九一周六天)的上班制度成了人们热议的话题.很多朋友给我留言让我写写瑞典的IT公司工作情况. ...

  5. 中国码农在硅谷:告诉你如何斩获Google、微软、FB、Airbnb 四家 Offer

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 每一个优秀的工程师可能都有一个硅谷梦,在全球顶级的互联网公司,和最优秀的工程师一起,做最酷的 ...

  6. 阅读源码的三种境界 (转自 码农翻身 微信公众号)

    刘欣 码农翻身 "没有经验的技术差底子薄的初级程序员,如何阅读项目源码? " "有人阅读过 mybatis 的源码吗 ?就看一个初始化过程就看的已经头晕眼花了,小伙伴们支 ...

  7. 一个中国码农在硅谷求职的经历

    本文来自作者 Mario 在 GitChat 上分享 「中国码农在硅谷:求职流程与经验分享」,「阅读原文」查看交流实录. 「文末高能」 编辑 | 哈比 每一个优秀的工程师可能都有一个硅谷梦,在全球顶级 ...

  8. 从穿孔纸带到当代智能手机软件的设计编程,述说码农前行路

    当我开始面对占据半层楼的庞然大物,通过穿孔纸带输入代码的时候,绝对想不到,计算机有一天可以小到可以放入掌心,可以人手一部:当我的第一个手机APP软件开发完成的时候,我感觉自己已经成为一个名副其实的铁码 ...

  9. 一个码农到CIO的20年IT从业者的自白:IT管理与技术未必不可兼得

    文/康德胜 我是一个喜欢写代码但几乎不太有机会写代码的CTO,也是一个看得懂财务报表.通过所有CFA(金融特许分析师)考试并获得FRM(金融风险经理)认证的拿到金融MBA的CTO,如果我有幸被称作码农 ...

最新文章

  1. JAX_WS 2.2 规范的webservices客户端实现(Axis2,Cxf)
  2. mybatis传递多个参数_Mybatis传递多个参数的4种方式(干货)
  3. DISCUZ7.2在通达OA2009桌面显示技巧
  4. 贪心算法+回溯算法+动态规划
  5. oracle 截取小数点_oracle函数(关于处理小数点位数和时间) | 学步园
  6. pytorch autograd.grad
  7. AliExpress国际速卖通唰信誉用什么虚拟卡用信可以成功扣款?
  8. 计算机搜索功能怎么搜内容,怎么让Windows7系统搜索文件内容
  9. css 1倍图 2倍图 3倍图
  10. 细化-从百度识图效果对智能识图的一些思考2
  11. 松弛型内存模型(Relaxed memory models)的一个有趣的例子
  12. Centos6 密钥登陆,解决所选的用户密钥未在远程主机上注册
  13. 3D渲染技术分享:用实时反射Shader增强画面颜值
  14. widget中文技术文档
  15. Linux下修改虚拟机的root密码
  16. java 生成纯色图片_java实现切图并且判断图片是不是纯色/彩色图片
  17. 算法小解--剑指offer(一)
  18. 特斯拉为什么刹不住车
  19. linux 标准背光设备,linux背光子系统(backlight)
  20. QQ右下角图标不见了

热门文章

  1. Linux内核相关论坛问题回复(1)
  2. 64只马,8个赛道,选出最快4只马
  3. window index.dat分析
  4. 网页转换成markdown
  5. 无线网卡AP模式和station模式
  6. Android手机应用商城项目,Android手机助手项目实战:从0开发一款自己的应用商店...
  7. 第一次PLC接线——PLC、电磁阀
  8. 平头哥 TG7100C 试玩。
  9. python如何逐行读取文件_Python逐行读取文件中内容的简单方法
  10. 一款超级给力的弱网测试神器—Qnet(上)