写点什么

24 岁程序员一事无成,迷茫焦虑,想知道该怎样从现状走出来

用户头像
Android架构
关注
发布于: 2021 年 11 月 05 日

种树的时间最好是在十年前,还有就是现在!


大自然中动物的自我衍化,每一次都是为了更好的适应环境,适应生存。


那么人类的自我改变又何尝不是为了更好的适应社会呢?


动物不适应自然面临的是种族灭绝,人类不适应社会面临的便是被超越,乃至被淘汰。


不想被超越便需要长期的改变,持之以恒、不断迭代。


学习不一定会改变一个人的命运,但一定会重塑一个人的思维。


而这思维也恰恰是成功的必要条件。

[](

)架构师与程序员的区别



让我们来看看为什么一个好的程序员就未必可以做一个好的软件设计师。但首先,让我们来问问自己一个问题,是什么让一个程序员变的优秀,甚至杰出?要想成为一个好的程序员,你需要有能力实现真实世界里重要的软件。只能够写出一个简单的文本编辑器是远远不够的。


为了能做到可以解决重大的、复杂的编程问题,一个程序员需要在某个特点的编程语言上进行数年的经验积累。也就是说,为了能熟练的使用这种语言、熟悉这种语言的各种特色,他必须专注于这种语言。问题就在这儿。


对于只有锤子的人,他能解决的问题就是钉钉子


如果你专注于一种语言,并能做到精通掌握,那你遇到的问题模式很可能就限制于跟这种语言相关的领域。简言之,如果你懂 PHP,那所有的问题都基本上是跟 Web 开发相关。相同的道理,如果你全部的知识都集中的 Java 上,那你对所有问题的解决思路都会沿着面向对象的方向,即使是使用过程式编程对于解决你的问题会更优的情况下,你也会如此。


一个程序员,只懂得一、两种编程语言,这会严重的限制他的解决问题的能力。例如,如果你的编程语言是 C 语言,对于手头出现的问题,你绝对不可能想出一种面向对象的解决思路,因为你的编程语言不提供这样的语言特征。跟 Haskell 程序员不一样,C++程序员不可能想出函数式解决方案。你的编程语言里提供了结构体和枚举类型与否,会严重的影响你剖析一个问题的方式。如果你使用的语言的能力很弱,或你只知道少数几种语言,你解决问题的能力相应的会被削弱。

[](

)那么,什么样的人更合适?



那么,一个在某一两种编程语言里具有专长的程序员,在当他解决一个问题时,会存在一定的局限。他会局限于他使用的语言允许他做的事。因此,他不会成为一个好的软件设计师或分析师。


如果我们不用这些优秀的程序员,谁又能担当软件设计的任务呢?当然不会是那些完全不懂编程的人了。我们需要的是一种通才。一个优秀的软件设计者必须通晓过程式,面向对象式,函数式,以及逻辑式编程语言—还包括各种优秀的软件开发方法论。他不能只熟悉一种方法模式、像一个专业领域人员那样。当然,他自己并不能写出复杂的程序,因为他的知识太宽泛。尽管如此,他却能正确的判断出怎么样的设计才是一个正确的解决方案。如果问题是处理一个钉子,他会找来一个熟练使用锤子的人;如


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


果问题是处理一个巨石,他会叫来爆破部队,而不是让你徒劳的用锤子白费力气。

[](

)如何成为架构师


移动架构师公认的职位描述是什么?


(1)事实上并没有非常准确的职位描述。不过我可以尝试给出了一个:


1.设计当前架构。包括新技术方案的制定或评审。


2.改进过去架构。根据业务的发展或者技术债务的原因,重构当前技术方案并且推进实施。


3.前瞻未来架构。技术方案调研和分析,随时准备好对新技术的使用。


4.推进技术方案实施。解决实施过程中具体的技术问题。


5.技术分享和培训。推进技术交流和新技术的使用。


6.人员的招聘。技术面试。


(2)移动架构师是否还要日常编码,如果需要,比例是多少?


虽然带有管理色彩,但仍然以技术为主。所以代码是必须要写的,架构师不写代码,就成管理了。写代码的比例应该至少是 40% 的工作时间以上。


(3)移动架构师的成长路线是什么样的?


可以先试着解决当前业务中的技术问题,然后再培养自己的技术前瞻性,为业务的未来储备技术。架构师立命的根本还是技术,所以在移动开发技术上研究的事情都要尝试去做。另外,技术人员通常不善于表达,而架构师的很多工作(例如技术分享,培训,面试,推进技术方案实施)都是需要沟通工作的。另外优秀的移动架构师能够对业界都有所影响。所以,作为一个移动架构师,锻炼自己的表达能力也是必要的一条成长路线。


(4)移动架构师项目新需求处理的注意事项


1、开发流程。新的产品方案从市场运营提出需求开始,再到产品经理制定新的功能需求,最后开发手里进行研发。


2、全局视野。在产品与开发首次会议时,首先从整个项目的全局出发,掌握需求的目的和意义和其他需求之间的关系。


3、完善补漏。向产品提出的需求的不足之处,从用户和开发的角度进行补漏完善,从而保证项目正常的运行。


4、接口数据。与后台数据接口开发人员定制数据在那个接口里给比较合理。


**点击下载 Android 高级工程师年薪百万学习路线【[Github](


)】**

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
24岁程序员一事无成,迷茫焦虑,想知道该怎样从现状走出来