本文主要是介绍开发10年程序员,坐标北京,今天我硬气一回把老板炒了!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我的情况
随着越来越多的零基础非专业跳槽人员以及大学计算机专业学生越来越多,导致程序员找工作门槛也越来越高。虽然有着三年的开发经验,也自认为自己能解决很多问题。但是从找工作的这段时间才发现,自己的解决问题的能力是有,但是技术深度不够扎实。
通过对比自己和中高级Android开发要求,才发现自己也就处于中级水平, 照正常来讲,三年的开发经验已经应该处于高级行列。由于自己之前工作项目要求不高,自己也缺乏学习动力,并且项目基本都是独立开发,所以只是在项目广度够用,也就是说项目的从零到一的过程十分熟悉,对基本的项目架构也比较了解,但是导致技术深度有所欠缺。比如说NDK开发,c语言学习,高级UI自定义,Android SDK源码了解 以及一些音视频开发,openGl 等,虽然于项目没有用到,自己也有去学习。
矛盾开始
我也算是老员工了,来公司三年,做了很多贡献,而这老板却是上个月刚进来的。新老板行事作风和以前那位大不一样,我很不适应,对他的那些行为也很是看不惯。然后因为一件小事就争吵了起来,各执一词,意见不统一。按理来说老板身份更高一级,我应服从安排的。但是我也很生气,不愿给他这个面子。自己为公司付出了那么多,你这个刚来的老板算什么?老板也很硬气,都不愿意退一步。为了工作这次就算了!
矛盾升级
在一次项目周会上,当众与领导翻脸。接着,老板还拍起了桌子,发起了人身攻击,在我的过失上无限放大到其他方面,这下直接触碰到了我的底线,我终于忍无可忍,豪气的从脖子上摘下工牌,往桌上一扔,老子不干了,优雅的走出会议室,顺手还把门带上,不带走一片云彩。
用他同事的话说,简直帅呆了! 一起开会的人都还没反应过来!
网友看法
程序员为什么“惨”
“高薪低产”,不是业务部门无法量化价值
有恃无恐,老板不喜欢掌控不了的员工
“中年危机”,精力不足被无情淘汰
程序员到了30岁这个尴尬年纪无非就是往三个方向走:
1.转管理或者成为自己以前厌恶的“狗产”,夹在甲方和程序员之间两头受气。
2.走架构方向成为公司技术核心,不但技术要过硬,沟通协调能力也要过硬。
3.往开发工程师方向发展,进行职业晋升,做一个不平凡的“码农”。
我的底气
1.市场情况
网络的发展,导致app的从文字到图片再到视频的转变,所以这些音视频技术还是应该提前学习了解的。说这个也是因为,即使自己的项目没有使用到,如果想要在技术深度继续挖掘的话,也应该了解一些新兴技术,或者说一些互联网发展态势,随着5G网络的实现,一些音视频,AR,大数据等都会变成基本需求,会要求每个程序员都必备的东西。所以就应该提前介入。(我已经学习了一段时间新技术了)
2.我的学习能力
再说深度的问题,由于本人并不是计算机相关专业,所以编程语言技术不够扎实。其实我们大多都是去用一些东西,如果想要自己的技术有所提升,还是应该关注一些源码的知识的了解。至少可以从面试过程中的一些面试问题可以得出,大部分都要求有阅读源码的能力,因为读过源码,并了解原理的其实就是对一些编程语言的设计模式,基本规则,基本知识的使用有清楚的认识。
举个例子,就好比出了一个新的开源项目,一般都是仅仅去了解使用,具体原理也不清楚。但是如果清楚内部原理,内部实现具体应用了什么技术。就会在使用上得心应手。并且在自己写代码的过程中,也能加入这种思想。
3.分享总结|未来规划
总结下来
一、一定要了解新的技术, 不求现阶段了解多深入,至少要知道基本的使用,然后根据自己的时间情况,再进一步深入学习。
二、一定要加强基本知识的学习,只有基础打得牢固。 才能在上层开发中游刃有余。其实再复杂的框架、项目,也都是用最基本的技术知识堆砌起来的。比如我看retrofit 的源码的时候不清楚代理模式的使用,所以看到那个节点的时候就会很蒙,不知道为什么这么调用,即使在别人的博客讲解的时候,别人也不会告诉你这个点,因为这是最基础的知识。
需要相关知识点可以查看我的【GitHub】,对于已经掌握的可以忽略以节省时间。
如果不方便查看,我已经整理成了一份PDF包含Android入门,基础—高级的全部系列知识点,还有新技术学习笔记。
需要全套系列笔记可以直接【点击获取】找群主大大免费获取!
- 架构师筑基语言基础
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
- 设计思想解读开源框架
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。
所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
- 360°全方位性能调优
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
知识要点:
1、设计思想与代码质量优化
2、程序性能优化
- 启动速度与执行效率优化
- 布局检测与优化
- 内存优化
- 耗电优化
- 网络传输与数据储存优化
- APK大小优化
3、开发效率优化- 分布式版本控制系统Git
- 自动化构建系统Gradle
4、项目实战- 启动速度
- 流畅度
- 抖音在APK包大小资源优化的实践
- 优酷响应式布局技术全解析
- 网络优化
- 手机淘宝双十一性能优化项目揭秘
- 高德APP全链路源码依赖分析
- 彻底干掉OOM的实战经验分享
- 微信Android终端内存优化实践
- Android框架体系架构
Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。
Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析**
- NDK模块开发(音视频开发系列)
NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。
在Android中,NDkeK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。
知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习
- Flutter学习进阶
2020 年无疑是 Flutter 技术如火如荼发展的一年。现在这门技术也依然非常有价值。
每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。
知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门**
……
- 微信小程序开发
微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。
本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战
需要相关知识点可以查看我的【GitHub】,对于已经掌握的可以忽略以节省时间。
如果不方便查看,我已经整理成了一份PDF包含Android入门,基础—高级的全部系列知识点,还有新技术学习笔记。
需要全套系列笔记可以直接【点击获取】找群主大大免费获取!
尾声
我不知道这个程序员这个职业还值不值得,去努力,但是我能肯定的是,当程序员的人脉价值被发掘时,社会必然会进入信息化建设的加速时代,传统行业更被挤压,信息建设的成本更低,很多东西将变为人情筹码而不是雇佣制作,行业整体的待遇可能会变低,后果是无法预知的,在这之前努力充实自己吧!
这篇关于开发10年程序员,坐标北京,今天我硬气一回把老板炒了!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!