背景
有人说,你们程序员工作赚钱真简单,电脑上按按键盘就行了,一点也不辛苦。
有人说,程序员不懂生活,就知道天天对着电脑。
还有人说,你们程序员是不是没有女朋友?
很多时候因为大众并不了解技术,也不了解程序员的工作,所以自然就产生了上述提到的一连串误解。
网上充斥着各种段子,什么程序员不懂浪漫,程序员对女人不感兴趣,程序员和电脑谈恋爱。这些不尽是正确,程序员不懂浪漫这倒是真的,如果说对女人不感兴趣打死我也不认,据我多年与程序员共事,观察的情况来看,程序员也有非常细腻的内心世界, 准确的来说,他们应该是一群闷骚类型的群体。
他们对事物的观察也是比较敏锐,比较到位,但是又不太善于表达的一个群体。同时他们也有这样几个标签,“屌丝”,“单身狗”(当然有的是有女朋友的哈),“宅男”,“钱多,话少,死的早”等等。不论是哪些标签,但是大多数人都不太会照料自己的生活。对衣服不太讲究,对吃穿也不太讲究,有的更过分的就是经常去公司有眼屎,有头皮屑,有的还有脚臭味,哇哇,不说了,脑海里的画面相当凌乱了。
程序员平时的工作原因,已经形成了其独特的标签,一提起程序员,人们脑海中立刻会浮现出那被固化的形象。
作为程序员的我们,来看看我们在其他人眼中,有哪些固有印象标签命中了?
1.格子衬衫 + 文化衫 + 冲锋衣![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/05b2ecccccfc9658b50bd8bb6125ef02.png)
格子衬衫就是程序员的工服!
连程序员自己也不得不承认,自己的衣柜里面,各式各样格子衬衫是占据了绝对主流。即使有时候为了改变这个固有形象,买了其他品类的衣服,最后的结果很可能还是被格子衬衫排挤出主流地位,束之高阁。
程序员夏天都是统一的文化衫,T恤上各种线下线上技术交流会议的LOGO,成了程序员炫耀自己技术水平的勋章。
到了冬天,冲锋衣就是程序员的标配了。之前《脱口秀大会》程序员出身的庞博还调侃,公司组织团建,双方穿着黄色和蓝色的冲锋衣,和外卖军团撞衫了。
2.脱发(秃顶)
头发的离去,是梳子的勾引,还是头皮的不挽留?
程序员智商高,作为聪明绝顶的这样一个群体,智商高的代价就是秀发的远去。
头发越少,水平越高,我作为一名过工作多年的程序员,也遇到了秃顶危机了。
即使是这种情况,其他人在知道我也是一个程序员后,很惊讶我的头发竟然还这么多,和他们对程序员的印象不一致。
3.低情商难以沟通
程序员是一个难以沟通的群体,交流起来很困难,这种刻板印象大多都是从公司内,需要和程序员进行工作沟通的其他同事流传出来的。
程序员每天主要面对计算机编写代码,0 1两种明确的状态让程序员很多时候没有中间状态,要么行,要么不行,说话非常直接,有时候确认让人难以接受。
不过从另一方面,也可以看出这个群体是很单纯的,在程序员居多的开发团队公司,很少有职场中提到的各种黑暗面。
4.高智商
程序员作为一个技术工作门类,还是有一定的门槛的,否则难以胜任这个工作,这个门槛主要靠学历和专业来识别。
计算机这个专业也是常年雄踞各大院校专业排行榜前列,妥妥的大热门,要想考上分数不会低,于是智商高也成了程序员的标签之一。
不仅仅是程序员,程序员二代也很优秀。北京海淀区的很多学校,从普通的学校,晋升为热门学校,把周围楼盘考成了学区房,周围各大互联网工资程序员子女功不可没。
5.高收入
前一段时间因为程序员的高收入,竟然被人举报了,让查查这种“不公平”的现象。
在程序员圈里面真是让人气愤又心酸。
程序员虽然在被人看来收入很高,但首先使用长时间大强度工作换来的。并且要想从事这份工作,还得要经过大量的学习储备。这样相对来说收入还是公平的。
一线城市程序员的收入还是非常可观的,尤其是在大厂工作。但同样的,要想获得这样的工作,需要经过激烈的竞争,之后还要承受非常大的工作压力。程序员头发就是这样没的… …
以下分享一下我几年来具体的学习路线及笔记文档,希望能帮助到有心提升技术的朋友!
以下完整学习笔记PDF,vx扫描二维码【保证100%免费领取】
架构师筑基必备技能
1.架构师筑基必备技能:
Android应用是由Java语言进行开发的,SDK也是由Java语言编写,所以我们要学习java语言。另外,虽说kotlin语言得到了Android官方的热推,但是kotlin也是编译成了java语言再运行的。对于Android来说,只要SDK没有用kotlin重写,那么Java语言是都需要学习的。而且Androidapk的后台服务器程序大概率是java语言构建,所以学习java也是一种必然。
那么Java中哪些东西是我们Android程序员需要学习的呢?由于Android程序员习惯了CV代码块,所以与Android中比较相关的稍微比较难的Java基础几乎都是一个门槛,像泛型,多线程,反射,JVM,高效 IO,注解,序列化等,都是被CV的对象,而程序员是不懂原理的,具体内容如图所示。
2.Android框架体系架构——Andlroid高级UI与FrameWork源码
说到FrameWork别的不说,你只要去 Github上看一下腾讯Matrix的源码,就知道Framework 的知识有多重要了。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……
3. 360°全方面性能调优
Android性能调优方面包括了很多知识点,其中关键的就有设计思想与代码质量优化, 程序性能优化,和开发效率优化, 我们开发者将这些统称为Android360°全方面性能调优。 其实在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:
测评:对系统进行大量有针对性的测试,以得到合适的测试数据。
分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。
性能优化:对hotspot相关的代码进行优化。
4.解读开源框架设计思想
在Android开发中开源框架设计思想中的知识点也是较为重要的,相信大家都可以看到在每个公司招聘当中,对Android开源框架要求都是比较严谨的。而想要完全搞懂还得学会整理和规划:我们常见的Android热修复框架、 插件化框架、 组件化框架、 图片加载框架、 网络访问框架、 RxJava响应式编程框架 , IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,这些都是属于Android开源框架设计思想的。如下图所示:
5.NDK模块开发
Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,“Java+C”的编程方式是一直都可以实现的。在最近比较吃香的音视频开发技术也是属于NDK模块开发。
6.架构师练成实战
在学好以上知识后就应该运用到实战当中了,在常见的实战当中:架构设计,网上商城项目实战,新闻客户端项目实战,多格式播放器项目实战,Gradle自动化项目 都是属于重中之重的。
当然还有小程序项目实战也是Android开发者必须搞懂的:
7.微信小程序
阿里架构师对小程序的看法:
第一点,不管小程序能不能在未来的时间里在移动端大放异彩,学习它,掌握它,都是没有任何坏处的。
第二点,就目前的版本而言,还是太过封闭。开发小程序就感觉像是在微信给我们划定的一个小圈子里兜兜转转,在圈里也许我们能得到很良好的开发体验,但是一步都出去不得。
第三点,在性能与便捷之间,最终往往会是便捷取胜。
第三点,能用 js 开发的,最终都会用 js 开发。
8.Hybrid开发与Flutter
想要成为一名优秀的架构师,需要掌握的知识是有点篇多,出来新的技术也不能落下学习,正像Flutter
在flutter中,一切皆控件!一切皆控件!一切皆控件!牢牢记住这个概念。Text是控件,Image是控件,Icon是控件,布局脚手架也Scaffold也是控件,甚至整个APP也是控件。
总结: 相信读者们看到此处,已经对架构师的成长路线以及学习方法都有了不小的收获,Android架构师之路虽很漫长,但还是需要你的坚持不懈的努力与学习,一起共勉吧!从业Android开发多年来,我所接触的Android开发者,百分之九十五以上都遇到了以下几点致命弱点!
一.技术基础薄弱:
自身基础较差,只经历过快餐式的技术培训,缺少系统学习经验,对原理和底层开发了解不深。
二.项目经验零碎:
工作内容是增删改查的简单开发,经历的项目用户使用量都很小,未经历完整的大型项目开发。
三.缺大项目经验:
长期在小型软件公司,或外包公司工作,技术视野较窄,能力提升很慢。
四.长期没有突破:
虽然工作时间很长,但几乎是把第一年的工作重复做了N年,缺少核心竞争力。
此外小编利用空闲时间针对学习路线大纲配套整理了相关方面的资料,都已整理成PDF文档,也是借此机会免费分享给大家的:
1.架构师筑基必备技能:
2.Andlroid高级UI与FrameWork源码:
3.360°全方面性能调优:
4.解读开源框架设计思想:
5.NDK模块开发:
6.架构师练成实战
7.微信小程序:
8.Hybrid开发与Flutter:
由于篇幅限制,这里只能展示部分内容,朋友们如果需要这份完整版的PDF资料合集,微信扫描下方CSDN官方二维码【保证100%免费获取】。