一个“编码十几年”的『老程序员』分享的四点心得

来源:互联网 发布:知乎 英国公爵 编辑:程序博客网 时间:2024/06/09 23:01

wephone事情之后,某人(花仲马)公司要她出一篇关于程序员群体的推送,写一写真实的程序员和大众印象中的程序员之间的差别,比如程序员是不是都不会打扮啊,是不是都人傻钱多啊balabala想要为程序员正名,需要大家帮她做一份简单的问卷~~~

识别二维码或点击阅读原文都可以


——————


转眼间,做了一年多的项目结束了。休了两天的假,等着下一个项目的开始,或许这就是身为乙方的宿命。

倘若是在自己的办公室里完成项目,那么甲方和乙方的区别怕是不大。而作为一个在客户现场工作的乙方工程师,就不是一件容易的事。在客户现场面对的,不仅仅是技术问题,还要注意一系列的沟通,以及额外的政治影响等等。

时间一久吧,总会在思考两种工作模式的不同之处。两者的目标是一致的,只是一方永远都是要配合的。总在想,如果我是另外一方,会怎么去思考问题。也在思考着,如何来提升自己——因为很多时候自己是接触不到数据、最终用户等等的信息。

扯太远了,我就是来总结一下所思所想。

不要让 title 限制了你的职业生涯

大学学的是电子信息工程,刚毕业的时候,想找一些硬件方面的工作。可是因为学校和学历的原因,就找不到合适的机会。可尽管如此,在大学的时候,我仍然做了很多的网站开发的工作。

从前将自己定位成前端工程师,那时便觉得『运气』是一种特别值得玩味的事。它(运气)可以让你当上 CTO,走上人生巅峰,也能让你觉得生活是一种乐趣。

当我想做前端相关开发的时候,项目主要的都是 Java 相关的维护工作。慢慢地由于需要,将注意力放到了后台架构、搜索引擎这一类的事上。

当项目上用上了前沿的前端技术栈时,我在做 DevOps 的工作。关心项目中的一些琐事、杂事,也会羡慕别人可以无忧无虑地去做业务卡。

当其他人觉得我的主要工作前端的时候,在项目上主要做的是移动应用开发工作。从原先的混合应用,到编写一些简单的 Java、Objective-C 来实现混合应用插件,再到使用 React Native 升级 Growth 来练手。

这就是命吧,下一步是怎样的,便是一件有趣的事。

可后来吧,工作的时间漫漫的拉长,便也发现了作为一个工程师,我到底还是合格的——放到一个新的技术栈上,如与擅长的前端不同,学习会儿,也就勉强能跑几步了。这倒是与之前的定位,发生了一些微小的变化。

慢慢地,在我完成了《全栈应用开发:精益实践》一书后,我便将前端工程师视为是工作的需求(也就如今年初写的开源电子书《我的职业是前端工程师》一书所讲述的),而不是我的标签后,便发现可以做的事情有很多,可以拒绝的事情也有很多。

大抵只是因为我将 title、标签 视为工作上的标签。对,就是那种你觉得工作上的你是正经的你,业余的你是不正经的你。你可以去做自己喜欢的事,编写自己想写的代码——前提是,你加班没有那么多。

不过,我的真实 title 是一个咨询师,啊哈哈哈。

关注能力的成长

从后台到前端,再到移动端,要关心的东西很多,要学的东西很多。可说到底吧,有几种能力便还是不变的:

  • 快速学习

  • 索引知识

  • 解决问题

  • 沟通表达

快速学习

记得我在大四实习的时候,没有用过 Spring,亦没有深入了解过 JDBC 这一类的东西。可是,工作上是要用到的。于是吧,无论是谁,都得拼命的学一段日子。这时吧,只能买几本书,熬几个夜,喝几杯咖啡,几天也就得上手。压力这么一大吧,学习也就快了。

可这样一说,快速学习那可是基本的核心能力啊。它所指的,并非是我们能快速使用一个新的框架,而是我们能快速的使用一个新的框架来完成工作。因为当我们谈及快速学习的时候吧,我们多数是在以任务为驱动的学习。

解决问题

慢慢的,当我们习惯了堆砌的代码,就会发现工作中的高潮,就是解决一个个的疑难杂症。解决问题吧,无非就是: 先识别问题,再去解决问题(PS:很是奇怪)。

识别问题。通过复现、Debug 找到出现问题的地方,然后再找寻到出现问题的地方,再去追根溯底。这一步往往是最难的地方,为此,你需要掌握好各式各样的调试工具,前端开发中的 Chrome 调试,后台开发中的实时 Debug、日志记录,移动开发中的抓包工具。还要去了解各个系统的组成,如典型的编码问题,一般都不是应用程序的问题。因此,你要从 Chrome 发出的请求开发,再查看 HTTP 服务器(如 Nginx)接收到的请求,随后便是应用容器(如 Tomcat)转的语法,最后才到应用程序的地方。

解决问题。多数时候,我们所要解决的问题,都是别人遇到的。因此,解决问题的第一原则是使用搜索,多数时候只需要搜索错误提示,就能找到答案。而为了使用好搜索,你还需要找到合适的上网方式。

在解决问题的过程中,最重要的不是解决问题本身,而是诸如问题有没有解、有没有解决问题的必要(即最优解)。如你做了一个混合应用,那么性能问题接近于『无解』。而如果你们的应用不会有性能问题,那么就没有理由去重写应用,以解决性能问题。

索引知识

人呐,不会一直年轻,也总会有个伴侣的(@花仲马),哪怕是基友喝上门。很多时候,总需要处理一系列的琐事,需要花费时间去照料家庭,家人。哪怕能我一样不加班,时间也远远不够用的。有些技术细节,只能看个大概,又有很多技术细节,与其他框架是相似的。

上手一个新的领域,总会找个人资料、找本书了解、找相关资料探索,随后再找一个 Awesome List,在这个列表里,找到这个领域的一些流行趋势。一步步探索的过程中,我们便在不断地构建这个领域的索引,慢慢地便能识别相关的问题。

因而,当你觉得你对这个领域很了解时,实际上是因为你有了这个领域的索引。

沟通表达

对于我而言,这方面仍然有相当大的提升空间,只是当前它可能还不在第一优先级上。虽然只是花费了一两个月的时间,读了一两本相关的书,确也发现有所提升。

作为一个程序员的日常沟通,大概就是业务人员和程序员吧,沟通的要点吧,便是知道对方要表达的东西,再表达清楚自己心里的想法。

可作为一个普通的人,是得多和人打交通。与大多数程序员相比吧,在我司还是不错的,至少你要不断地和人沟通,日常的聊天、与客户的沟通、与开发人员的沟通等等。

做一个自己的产品

大抵,只要是一个有追求的程序员,都会想去做自己的产品。无论你是在腾讯、阿里大公司里,又或者是在哪个小公司里,只要你不是老板,那么做出来的东西可就算不上你的成就了。于是乎,有热忱的程序员都会去创造自己的轮子,有一个自己拿得出手的东西。

造轮子、写博客、做 APP,总能让我看到代码之外的,不一样的东西。用某句高大上的话来说,就是看到世界的运行法则。

博客,算是我的第一比较正式的作品,我学习了大量的 SEO 技巧。

Growth,用户过 10万的作品,尝试了大量的用户,代码维护。如何宣传,获取更多的用户

『玩点什么』,作为职业生涯里的第三个作品,运用了更丰富、尝试着如何去保留用户。

你就好比是一个更大的试验田,可以轻松地尝试自己的想法。工作的时候,往往很少有这样的机会;业务上的任务,是由业务人员与客户沟通过来的,

在学校找一个女朋友

考虑到,你们那么单纯:

  • 工作的,还是去学校找个女程序员~~~,啊哈哈哈。

  • 还在学校的,快找学妹下手~~。

算了,只要不上婚恋网站就行~~。

完结,撒花~


阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 贴面膜脸过敏了怎么办 隐形船袜总是掉怎么办 车钥匙没电了怎么办 水坐垫干了结晶怎么办 冰垫里面有颗粒怎么办 车上的脚垫丢了怎么办 朔钢窗锁不好使怎么办 8个月孕妇咳嗽怎么办 孕妇7个月咳嗽怎么办 孕妇6个月喉咙痒怎么办 怀孕了咳嗽的厉害怎么办 买衣服眼光太差怎么办 我买衣服没主见怎么办 海澜之家皮带长怎么办 针织衫袖口松了怎么办 宝宝裤子腰大了怎么办 两岁了头发稀少怎么办 孩子抵抗力差爱生病怎么办 三岁宝宝总生病怎么办 冬天穿伴娘服冷怎么办 白衬衣粘了黑毛怎么办 黄衣服钻进黑毛怎么办 单位没给上社保怎么办 轮毂中心孔大了怎么办 钻戒大了怎么办小窍门 shift加f4没反应怎么办 多洗联系不上怎么办 弹力靴筒往下掉怎么办 子宫内膜厚月经停不了怎么办 雪纺衣服有静电怎么办 阿胶糕熬的稀了怎么办 感冒吃了阿胶糕怎么办 身上起湿疹很痒怎么办 身上起小疹子痒怎么办 吊带裙带子断了怎么办 裙子洗完缩水了怎么办 衬衫洗后缩水了怎么办 羊毛被洗缩水了怎么办 蕾丝洗后缩水了怎么办 天丝针织衫缩水怎么办? 氨纶面料起球怎么办?