说说程序员的核心能力:第一个三年:后台、前端、移动应用,第二个三年呢?
转眼间,做了一年多的项目结束了。修了两天的假,等着下一个项目的开始,或许这就是身为乙方的宿命。
倘若是在自己的办公室里完成项目,那么甲方和乙方的区别怕是不大。而作为一个在客户现场工作的乙方工程师,就不是一件容易的事。在客户现场面对的,不仅仅是技术问题,还要注意一系列的沟通,以及额外的政治影响等等。
时间一久吧,总会在思考两种工作模式的不同之处。两者的目标是一致的,只是一方永远都是要配合的。总在想,如果我是另外一方,会怎么去思考问题。也在思考着,如何来提升自己——因为很多时候自己是接触不到数据、最终用户等等的信息。
扯太远了,我就是来总结一下所思所想。
不要让 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万的作品,尝试了大量的用户,代码维护。如何宣传,获取更多的用户
『玩点什么』,作为职业生涯里的第三个作品,运用了更丰富、尝试着如何去保留用户。
你就好比是一个更大的试验田,可以轻松地尝试自己的想法。工作的时候,往往很少有这样的机会;业务上的任务,是由业务人员与客户沟通过来的,
在学校找一个女朋友
考虑到,你们那么单纯:
- 工作的,还是去学校找个女程序员~~~,啊哈哈哈。
- 还在学校的,快找学妹下手~~。
算了,只要不上婚恋网站就行~~。
完结,撒花~
说说程序员的核心能力:第一个三年:后台、前端、移动应用,第二个三年呢?相关推荐
- 程序员编程艺术第一~三十八章集锦与总结,及Github地址、PDF下载
程序员编程艺术第1~38章集锦与总结,及Github.PDF下载 前言 熟悉本blog的朋友大都知道,在2010年刚开始写本博客之际,我整理过一个微软面试100题,后来我为这100题开始发帖讨论,写答 ...
- 程序员编程艺术第一 三十八章集锦与总结,及Github地址 PDF下载
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 程序员编 ...
- 聊聊程序员的核心能力
随着互联网和移动互联网的快速发展,各类应用软件(app)如雨后春笋般涌现,许多应用程序甚至成为超级app,一些活跃用户过亿的应用程序成为国民app,这些app的兴起与程序员这个群体密不可分.快速发展的 ...
- 程序员编程艺术第一 十章集锦与总结 教你如何编程 持续更新中
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 程序员编 ...
- 程序员编程艺术第一~十章集锦与总结(教你如何编程)--持续更新中
程序员编程艺术第一~十章集锦与总结--面试.算法.编程 作者:July.编程艺术室. 出处:http://blog.csdn.net/v_JULY_v . 围绕"面试"." ...
- 功不唐捐—— 程序员职场第一课 后记
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! < ...
- 功不唐捐——《程序员职场第一课》后记
<程序员职场第一课>主要讨论刚刚步入社会的职场新人需要具备的几项技能,从沟通直到正确处理职场上的各种关系.虽然我对出版社有相关承诺,但是写作也曾因不同原因几次中断.参观2010年全国图书订 ...
- 35 岁程序员,年后第一天被辞退
@TOC35 岁程序员,年后第一天被辞退 2019年02月13日 11:42:17 CSDN程序人生 阅读数:7905 640?wx_fmt=gif 640?wx_fmt=jpeg 今天是大年初九,这 ...
- 程序员职场第一课 配套课程大纲 免费视频 免费PPT下载地址 包括全部21讲
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 以下是& ...
- 《程序员职场第一课》配套课程大纲、免费视频、免费PPT下载地址(包括全部21讲)
以下是<程序员职场第一课>21讲的详细信息,希望对大家有所帮助!谢谢! 单元名称 课程名称 相关地址 结构与内容 故事 导论 导论: 走入社会的准备 免费视频:http://t.cn/hB ...
最新文章
- EventBus的粘性事件原理
- 现金流量表的内容和结构
- HALCON基于形状匹配详解
- 转:基于TLS1.3的微信安全通信协议mmtls介绍
- CENTOS 7 踢用户_CentOS服务器及MySQL数据库性能测试-乐搏软件测试
- 6-7 使用函数输出水仙花数_自学C++基础教程(输入输出2)
- 【图像融合】简单加权融合
- Java多线程系列--“JUC锁”07之 LockSupport
- linux tcp 缓冲区 参数,Linux TCP 缓冲区参数调优
- Manjaro - KDE - i3wm - PloyBar 使用配置全指南
- mysql 获得年月函数_mysql之日期函数
- 职场新人如何高效办公?这10款软件帮到你!
- CMake基础教程(32)文件搜索指令FILE
- Linux基础知识(5)-压缩与关机命令
- 基于Ocean Connect云平台的照明控制系统设计
- Axure教程:用中继器制作调查问卷/考试试卷
- Andrew Ng机器学习课程笔记--week9(下)(推荐系统协同过滤)
- 色彩理论之彩虹CMYK值
- 2020年精彩文章回顾
- 增删改查--基本思路
热门文章
- CocosEditor-java加载图片出错cocos2d: fullPathForFilename: No file found at main.plist. Possible missing fi
- Windows Server 2012打开端口
- textarea不显示边框_飞利浦256P1FR显示器评测:QHD分辨率微窄边设计
- 英伟达,老版本显卡查询接口
- IDEA在terminal使用mvn命令
- JDBC的七个步骤:
- 让input框只输入英文
- matlab语音合成技术,matlab语音合成
- Elasticsearch API查询
- C++类static成员函数的调用