终于等来了这个神圣的日子:10.24,相信只要是了解过一丢丢编码的读者都知道 1024 的含义,自然而然就明白今天对于程序员来说是多么的重要。来来来,大声喊出那句话:程序员节日快乐

看着身边很多同学、朋友过着教师节、医师节、护士节、记者节、建军节,不免心理会有点波动是吧?程序员最在行的就是 new 了,所以 new 一个程序员节也是妥妥的。大家都硬气点,咱也是有节日的职业!!!

在极客时间的《设计模式之美》课程里,作者小争哥说过一句话:对人一生有很大影响的四样东西:机遇、方向、能力、努力,我觉得它们一起决定了你是否能“成事”。我把我的经历总结起来,很应景,就是我遇上了机遇,继而有了能力上的提升,方向上的把控,以及持续努力的行动。

回忆目前为止我主要经历了三个项目,仔细归类的话,这三个竟然还都有所不同。

我参与的第一个项目

第一个项目,是我刚毕业半年之后进到项目组的一个Android App 项目。之前 App 项目的主要业务逻辑是通过 JavaScript 编写的,Android 端调用 WebView 展现即可,所以很多流程都是依赖于 JavaScript 的同学去完成。

第一个技术就来了,当时的领导们觉得有必要全部原生化,就让我赶上了重构的时代,说是重构,其实就是对之前在 JavaScript 上的业务迁移到 Android 原生上。

庆幸的是,原有项目一开始做的就比较好,文档之类的相对来说也齐全,做主流业务的同事一直在项目组里,哪怕文档里没有的业务,自己把问题总结起来抽时间麻烦他,也能得到想要的答案,基于业务文档的编码还是相对轻松。

也许老天是注定需要给我一次锻炼的机会,在重构伊始,我的师傅当时的 Android 端负责人因为身体原因休息了一个多月,就让我这个徒弟去接手了当时复杂的,核心的业务,得到了一次快速成长的机会。

抓住第一波机会的我,就这样坑次坑次完成了人生中第一个商业化项目的重构。因为项目很庞大,经历了几个月的加班加点,上架的时候狂松了一口气。几个月的努力终于看到了回报,因为前期准备的材料都很充分,对于业务上的阻碍轻松扫除,这次重构对初入职场的我是很大的能力提升。

试想一下,一个只在学校里自学 Android 的科班生,第一次接手项目,不是反复的修改Bug,而是参与重大的版本改革,是多么的幸运;锻炼的成长不言而喻,你能相信一开始入行的时候,我连面向对象都一知半解吗?项目的洗礼,可比学校里参考书籍写Demo挑战大多了。

随之而来的第二个项目

第二个项目,是我去新公司之后的项目,做一个即时通信的项目。

我来公司之前,有一个即时通信的在用,是基于 Flash 编写的,从响应速度和稳定性来说都没有让领导和用户满意,当时项目组里没有 Java 的同事(新招一个毕业生之前也没怎么接触过 Java),领导想内部发掘 Java 的员工。我做了一个方向上的选择,所以,我的第二次机遇就在这个时候蹦出来。

我到公司的时候是 Android 开发,因为当时项目组有3个 Android,没有 Java,领导在征求大家的建议,问有没有想转的,我分析了自己的情况之后,主动要求转 Java,和老大一起去做这个即时通信框架。

我们选择 Netty 框架来进行,用 WebSocket 通信,又一次加班加点的拼命时刻。(加班并不可怕,有意义的加班都不会考虑下班这件事,只会考虑能给自己带来多少收益,多少收获。)这次没有文档,只有代码,也还是有幸运的部分,之前框架的负责人一直在项目组里。

难点就是,我需要看懂 Flash 的代码,然后一步步迁移过去。此次从零开始,也有一点遗憾,整个框架是老大搭建好的,我的核心任务是在计划时间之内,完全迁移即时通信的功能,尽快把项目跑通,调试上线完成。

完美的人生总是不存在的,所以尽管那么点遗憾,搭建框架的时候我没参与,但不妨碍我对 Netty 的理解,为此我还在掘金上付费购买了 Netty 学习的一个专栏,加深我对 Netty 的理解。

从客户端转到后端,给我最大的感触就是我看项目看的范围更大了,之前客户端只是很片面的看到自己所负责的功能,后端能把整个项目都看透,尤其是业务方面的知识点。

当然,因为初次参与后端,第一次上线,给我当头一棒,现实着实把我教育了一番。后端编码和客户端还是存在不同,因为我的不熟练,在项目上线的第一个晚上,因为扛不住峰值的压力,把网站给瘫痪了,业务宕机了一个小时,幸亏老大帮我解决。

这么严重的线上事故,给我当头一棒,后端完成代码只是第一步,线上安全运行才刚刚开始挑战。这也是让我坚定,在做业务的同时,需要持续的精进自己的技术,比如数据库的频繁读写,缓存的使用,缓存雪崩、击穿的处理等等。

正在进行中的项目

第三个项目,正在紧锣密鼓的进行中,从别的团队手里接收过来,没有文档,纯靠自己熟悉。这次的挑战更大,没有任何资料,只有App接口,参考接口一个个去熟悉项目,重构项目。

对于后端来说,除了代码是现成的,人都是从零开始的,又是一次重大的机遇摆在我面前,不抓住那是傻子。很多群里的同学,想参与项目还没机会呢,我总是时不时地能碰到好的机会,来提升我的能力,我也是醉了,我这是啥运气。

结语

正如我开头说的,总结我简短的几个项目经历(其实还有几个琐碎的项目,这里就省略了),就是我遇上了机遇。当每次机会来临的时候,放到你的面前,就看你怎么抓住了。一开始我是霸王硬上弓,但是到了后面就是不断地通过自己的学习,自己的努力,把能力提升上来;然后等待下一波机会的到来,或者是根据你的选择,去创造另一个机会。

这三次的经历,从我抓住机遇开始,后面又做了一次选择,当然加上自己平时的努力(平时多看书、多学习、多实践还是必要的)。不过跃哥的性格上目前有点刚,甚至有时候觉得自己做得很好,同事都没我强,我有天下无敌的感觉,导致我蒙蔽了双眼,还在努力尝试改进中。

6年主导3个项目,我终于成了别人眼中的大神相关推荐

  1. 终于成为了别人眼中的人生赢家

    大家好,我是一哥,新的一年就要来了,自己总结了今年我的关键字是「收获」 01 公众号 公众号已经更了20个月,目前关注粉丝将近2万,自己对这个结果还算是比较满意的(当然比很多号主的增粉速度那就差的多了 ...

  2. 9个项目助你在2020年成为前端大神!

    DEV的年度热文,读完觉得不错,所以翻译出来供大家参考,个人水平有限,文中可能会有一些翻译错误,可以在评论区指正. 本篇文章一共涉及了9个流行的框架/库,没有具体的介绍使用方法,而是给了一些非常棒的实 ...

  3. 导入项目后R.id.lv 报错!求大神解答

    不知道怎么了  我截了图  但是 图片无法上传,我导入了项目后  R文件中有lv1这个变量  可是 在引用的时候却报错 package com.example.listadapter; import  ...

  4. 为什么php-fpm会使用内存一直增加_终于讲明白了!国外大神超详细解读:苹果M1为什么比英特尔x86快了那么多?...

    12 月 1 日消息 苹果的 M1 芯片是苹果在 Mac 上搭载的单核 CPU 基准测试成绩最快的芯片,在多核性能方面,也击败了许多高端英特尔竞品.开发者Erik Engheim 近日分享了对 M1 ...

  5. IntelliJ IDEA 部署 Web 项目,终于搞懂了!

    IntelliJ IDEA 部署 Web 项目,终于搞懂了! 这篇牛逼:Java 程序员必备的 Intellij IDEA 插件 IDEA 中最重要的各种设置项,就是这个 Project Struct ...

  6. 喜报丨京东科技主导的开源项目ShardingSphere荣登报告榜单国人主导开源项目中活跃度第五名!...

    1月19日,开源社发布<2020 中国开源年度报告>.在报告中,ShardingSphere荣登所有国人主导开源项目中活跃度第五名,作为 Apache 软件基金会下属的国人主导的开源项目中 ...

  7. 研究完各路大神,终于知道你做项目失败的原因了

    貌似是从2019年开始,知乎里突然冒出来了一大堆网赚大神,各种宣称能够依靠网络来日进斗金,实现财务自由. 禁不起诱惑的人们纷纷选择加上了对方的公众号,篇篇文章标题都是"月赚上万,日赚上千&q ...

  8. 如何在面试中介绍自己的项目经验,90%的人都做错了!

    目录 1.如何准备项目介绍?别害怕,面试官什么都不知道 2.准备好项目细节,一旦被问倒,说明你没做过 3.不露痕迹地说出面试官爱听的话 4.主动出击,面试官没有义务挖掘你的亮点 5.低级错误可能导致直 ...

  9. mc通用计算机,《我的世界》里打造一台计算机有多难?复旦大神花一年终于实现!...

    原标题:<我的世界>里打造一台计算机有多难?复旦大神花一年终于实现! 一块小小的CPU里有多少个晶体管?几十亿个. 单枪匹马造出一个CPU乃至完整的电脑需要多长时间?有位大牛在<我的 ...

最新文章

  1. Python性能测试
  2. smarty2和smarty3
  3. Sharepoint学习笔记—Site Definition系列-- 2、创建Content Type
  4. iptables 手册
  5. Ipython\Jupyter数据分析工具
  6. 高程图 GridMap
  7. mongodb多条件查询
  8. linux文件控制驱动程序,Linux设备驱动程序学习(6)-高级字符驱动程序操作[(3)设备文件的访问控制]...
  9. Nginx服务器中的Socket切分,需要的朋友可以参考下
  10. SpringBoot 启动过程,你不知道的秘密!
  11. windows系统VS code coderunner 运行shell脚本
  12. 网络发现已关闭。网络计算机和设备不可见。请启用网络和共享中心中的网络发现。
  13. 蓬莱小课:HR问“你的职业规划是什么”,这样回答90%不出错
  14. 64位计算机可以装32位的系统么,32位的处理器可以装64位的系统吗
  15. python立方尾不变
  16. 【ubuntu操作系统入门】系统输入法设置
  17. 紫外线杀菌器:紫外线杀菌的原理分析
  18. 计算机安装msvcr110.dll,安装WampServer报错 计算机中丢失MSVCR110.dll 的解决方法 | 睿客网...
  19. MATLAB数字图像处理系统——边缘检测
  20. C语言实现最大值、最小值、均值、标准差、峰值因子、方差和百分位数的计算

热门文章

  1. Weex 修改安卓生成apk默认的启动页面
  2. python 报错:UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xa5‘ in position 65
  3. 28岁程序员身家过亿退休,追寻诗和远方:去日本!
  4. hgoi#20190821
  5. Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page
  6. 魔兽3的地图脚本文件简单分析图
  7. 阿里云视频点播(上传视频)服务最新版本使用方法(解决部分依赖无法下载或不存在问题)
  8. 数据仓库工程师的职业规划
  9. 1123: [POI2008]BLO
  10. 【已解决】 Unable to attach or mount volumes: unmounted volumes