最近因为在学习一些新的东西,所以Android的东西没有怎么更新。趁着有些闲工夫,简单说说技术上的学习,也算是自己对这几年工作来的一个小结和经验吧。

希望这篇东西可以给那些在校的,亦或是才踏入工作没多久的程序员同伴们一些帮助。毕竟我自己也曾经止步不前,不知所措迷茫过。

英语

老实说,没有比英语性价比更高的,需要学习的东西了。靠着别人的翻译,或者机翻,终究不是办法的。笔者自己日语英语姑且算是熟练掌握的地步,但在初期直接看那些全英文的书籍,仍然会觉得头痛(谢谢HKUST虐我),但坚持下来就会发现其实计算机的英语还是有一个范围的,多看看熟悉起来,就会觉得并没有什么难,甚至比起很多翻译来说更容易看懂。

混迹GitHub就会发现国内的很多开发者英语上欠缺还是很大的,尤其是一些description和readme直接就上中文的。即便你英语渣,机翻也行啊。毕竟是计算机社区,英语才是通用语言。用中文去一些国外开发者的仓库里提issue或者回复也是一种很粗鲁的行为。

如果让我说一种对技术帮助做大的语言,那必然就是英语。有了英语,才能真正地独立学习。

Google

问小白问题之前,你Google过吗?如果让我看到一个开发动不动去搜百度,那我估计会武断地认定他很菜。其实Google是我们最好的老师,只要能正确把握问题的关键字,几乎没有找不到的答案,大部分会在StackOverflow上,其他散落在GitHub、博客等等地方。

如果你要找的知识实在冷门,比如react native的一些深入用法,android上的视频so阉割这种,那恐怕只能找找做这块的朋友或者自己研究了,国内有一些好心的开发者或许会分享在自己的博客。

至于科学上网,这个话题相关的技术太多了,请自行找方法,VPN也好,SS也好,都很简单,相对的投入和产出对程序员来说性价比是很高的。实在不想花钱的去用AWS的免费云服务器搭SS也行。

实践

看是没有用的。比如看一篇关于Hybrid App原理的文章,或许它写得很好,但其实就算看完了,让我自己去写一个,或者讲讲怎么去做一个我们应用的版本,Android/iOS端通用的方案,最后也是支支吾吾说的不知所以。最后还是要去实践做一些Hybrid页面才能真正掌握,能说清楚这里面的原理和应用场景。

纸上谈兵终觉浅。

警惕体力劳动

当你的工作成为一种体力劳动,而自己无法从中获得新的体验和知识的时候,需要警惕究竟发生了什么。

想得太少

对做的内容停留在完成的阶段,而不对更好的方案,实现细节去思考更多,比如用了某个API,会不会去仔细看看其究竟是怎么做的。或许你知道Handler,Looper,那你知不知道主线程的一切,四大组件的生命周期,各种View的触摸事件都是消息驱动,在mainLooper里面进行处理的呢?

工作内容重复

当Focus在一块上太久之后,难免会碰到这种瓶颈,这时候可以看看是不是能换一块做,比如做做缓存、Hybrid、启动优化、视频等等。可以做的领域很多,实在发现兴趣不在此,换着做后台或者前端也行。倘若因为个人原因,比如公司不让换或者可能工资会低很多,挤一挤时间在side project里面搞搞也可以,只是有没有心的问题罢了。

我面试过一些做Android 5-6年的程序员,但大部分真的连一些优秀的2-3年经验的开发者都远远不如,问设计不懂设计,问流行的开源项目回答就是“好像听说过”。我不希望我认识的开发者以后变成这样的人。但你若是总是重复劳动,难免像这样1年的工作经验重复了5年。

在额外学习的时候,更多关注的应该是不同的地方,而不是说这个学Python,下个月去学Go,想想语言的差异性在哪里,自己试试看做一些项目,培养全栈工程师的底子(你应该有自己的专长,但也要能从全局的角度思考问题,一个不懂前端的后端老大会导致前端过重不灵活,反正只要自己这儿的模块清晰就好,一个不懂前端的前端老大也会让下面的人不要抱怨,做出来就好)。

公司问题

发生在一些项目经理逼得特别紧,老大又比较无能的地方。项目经理为了向上面交待,对工程师说“这个进度能不能再压一下呀”,或者干脆直接不听工程师的意见强行缩短工期,导致没有时间去深入学习。老大明知这种情况,却睁一只眼闭一只眼。这种公司,还是离开为妙。

一个合格的leader,或者说mentor应该做些什么?至少从我的角度来看,尽管对公司他需要对项目负责,但对团队内的开发者,他更应该做的是观察和指导,看清楚那些团队毒瘤,营造团队氛围,而不是一味Push催进度和表现自己。

记录和总结

写博客是为了什么?

至少对我来说,写下的东西更多是对自己的一个总结和交待。如果我能写下来,至少能证明我有信心自己确实是这么去理解的,没有去坑人。另外,姑且也算是一种成长的足迹吧,偶尔自己还会去看看笔记。

分享也是目的之一,希望大家能互相进步,这样才能促进发展。

写博客也好,写一些笔记也好,点点滴滴也是对自己的一种整理。

问自己

想清楚自己要的究竟是什么。

做全还是钻?想做一个超强并发量的后台?想黑别人的系统?想做出精准有效的推荐算法?还是想做别人能实际用到的产品?

笔者正是因为想要的是后者,所以成为了Android开发(为什么没有选iOS,大约是Android的开放性吸引了我)。而现在,因为发现自己欠缺的(对前端驾轻就熟,大部分的事情对我来说只是体力活,而自己想承担一个完整的项目却又不行),所以又重新拾起了Node.js,看起了ES6,思考设计和产品的问题。


希望大家都能想清楚自己想做的,要成为的样子。能自主地去学习。毕竟师傅带进门,修行靠个人。我不想鸡汤,大家各自走好,望来日可并肩一起,彼此说一句“很高兴遇见你”。

原文发布于:http://blog.zhaiyifan.cn/2016/04/28/about-learning/

计算机从业者的技术成长学习之路相关推荐

  1. java计算机毕业设计软件技术课程学习系统设计与实现源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计软件技术课程学习系统设计与实现源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计软件技术课程学习系统设计与实现源码+系统+数据库+lw文档+mybat ...

  2. 技术学习之路漫漫其修远兮,奋力勤学吾辈将上下而求索

    引言:计算机的生活应用场景 生活在高科技快速发展年代的我们发现被各种"APP"(微信.微博.抖音...)所包围,而这些"app"都有一个共同的"后台& ...

  3. 从程序员到架构师的最佳技术成长之路

    我把程序员到架构师的技术成长之路分为几个典型的阶段:工程师 - 高级工程师 - 技术专家 - 初级架构师 - 中级架构师 - 高级架构师,总的成长原则是每个阶段都需要"积累经验.拓宽视野.深 ...

  4. 软件测试的学习之路-----计算机基础 (详情展示)

    文章目录 一:计算机基本介绍 二:硬件系统 三:软件系统 四:二进制的基本介绍 五:常见的数字进制 六:进制之间的转换 七:编码 八:数据的计量单位 九:编程语言 十:基本的DOS命令 十一:欢迎查看 ...

  5. 猿创征文|独特且教训的技术成长之路

    为什么说独特的技术成长之路呢,因为从上了大学到现在读研,见识了很多的语言,也曾经迷茫过.在大学中学过C,C++,Java,Python,Js,GO等等很多的语言知识,有一些比较熟悉有一些只能说是了解. ...

  6. Java学习之路吐血整理技术书从入门到进阶最全50+本(珍藏版)

    本博文系转载:原博地址:https://blog.csdn.net/qq_43336600/article/details/83537307 重要:注:原博整理的资源是加密资源,所以我在进行转载时已经 ...

  7. 猿创征文|我的C/C++技术成长之路

    作者简介:一名双非本科大二网络工程专业在读,热衷编程,喜欢写作 忘记背后,努力面前,向着标杆奋力追求 技术上的成长路线 一.初识C语言 二.ACMer的养成记 三.接触数据结构 四.开始探索C++ 五 ...

  8. 致敬科技工作者:资深Java工程师的技术成长之路

    在全国科技者工作日这个特殊的日子里,我们向所有为科技进步付出辛勤努力的工作者们致敬.本文将分享一位资深Java工程师的技术成长之路(本人自己),以及他在技术领域取得的成就. 1. 热爱编程的起点 在计 ...

  9. 学计算机之路写一篇作文,学习之路作文

    学习之路作文 在日常生活或是工作学习中,大家对作文都再熟悉不过了吧,作文是由文字组成,经过人的思想考虑,通过语言组织来表达一个主题意义的文体.你知道作文怎样写才规范吗?下面是小编整理的学习之路作文,供 ...

最新文章

  1. 批命令 set /a与set /p有哪些区别
  2. 表中的数据导出为insert语句的简单方法
  3. 1129 Recommendation System (25 分)【难度: 一般 / 知识点: 滑动窗口】
  4. 面对不可避免的故障,我们造了一个“上帝视角”的控制台
  5. 三层聚合实验的注意事项
  6. python中if和elif的区别_浅谈对python中if、elif、else的误解
  7. PHP SQL查询结果在页面上是乱码
  8. 基于大数据架构实现景点游客数据分析平台,全国景点游客数据管理系统
  9. 模糊数学与matlab
  10. 强化狼群等级制度的灰狼优化算法-附代码
  11. Visual Studio Code的下载与安装
  12. Java实现堆栈(Stack)
  13. mxh缩写英语_mxht的含义,mxht是什么的缩写,mxht的词语,mxht代表的意思
  14. 官网下载centos系统
  15. 400 : perceived to be a client error 错误
  16. VUE常用问题hack修改
  17. pc端的微信dat文件解码转换成普通图片
  18. Spring/Boot/Cloud系列知识(2)——代理模式
  19. 那些年,美团里的年轻人
  20. 启动报错:Caused by: org.apache.ibatis.binding.BindingException汇总解决

热门文章

  1. 百分点大数据技术团队:乘风破浪 海外数据中台项目实践
  2. MapReduce示例——WordCount(统计单词)
  3. 支持向量机:Outliers
  4. php 表单提交及验证 tp,ThinkPHP表单自动提交验证实例教程
  5. jvm性能调优 - 08什么情况下对象会被GC
  6. Oracle-Oracle SQL Report (awrsqrpt.sql/awrsqrpi.sql)生成指定SQL的统计报表
  7. Spring Cache-缓存概述及使用
  8. h5实现网页内容跟随窗口大小移动_HTML5使用四种方法实现移动页面自适应手机屏幕的方法总结...
  9. 微服务配置中心是干啥的_微服务入门到精通-分布式配置中心(续)
  10. 分布式服务追踪与调用链系统