当前位置:网站首页>编程能力提升方向
编程能力提升方向
2022-06-29 06:41:00 【qazw9600】
问题
- 从整体来看,程序员能力提升的方向有很多:编程能力,沟通能力,管理能力等;细分到编程能力,程序员提升的方向有哪些?
理解
编程本质 - 使用
- 国家教育系统已经给出过答案了,在大学中有两种学科:理论学科和应用学科,例如:计算机是理论学科,软件工程是应用学科,应用的意思就是使用;编程是软件工程最本质的部分,因此编程的本质就是使用。
- 工作多年理解:程序本质上就是上层代码调用下层代码,下层代码调用系统接口,操作系统接口调用驱动接口,驱动控制硬件;当然并不是简简单单的调用,更重要的是同层次的扩展,例如:操作系统在驱动接口基础上还实现了很多扩展功能。
方向
- 虽然编程的本质是使用,但是根据现实场景,我将使用划分为两种能力,如下:
- 研究能力
- 应用能力
研究能力
- 将不懂的知识变为掌握,简单来说就是能实现。
- 最能体现研究能力的职业:算法工程师,底层工程师。
应用能力
- 应用能力就是使用,简单来说就是能做好。
- 最能体现应用能力的职业:架构和产品。
现实
- 现实编程中很多时候是两种能力的结合,并没有什么任务只需要应用能力,也没有什么任务只需要研究能力。
- 但是由于工作所处层次不同,有可能更偏重于其中某一项能力,例如:互联网行业,由于研究的东西相对更少一点,大部分是现成的,因此它更偏重于应用能力,怎么将现成的东西,做的更好,怎么将网络这个现成的东西,发挥出其最大的价值,因此互联网行业更注重产品。
研究和应用思维方式是不一样的
- 如果平时工作两种能力偏重不多,可能感受不深,如果工作中更偏重于某一种能力,就会察觉到思维方式的不同,例如:互联网领域有句话,不要重复发明轮子,这句话是对的,但是有些隐藏的限制,比如:互联网领域,重复等,一些示例可以体现思维的不同,如下:
- 在公司中做嵌入式Linux项目,公司认为嵌入式Linux和嵌入式安卓没什么区别,因此让做安卓应用的来管理项目,项目整体沿用领导做安卓开发方式那套:“完全否决自主实现,直接从网上找现成的代码和框架来使用,修修改改”,我一直做嵌入式linux的,有些需求找不到现成库或者框架,我会自己实现,因此被领导批评:自己写代码干嘛?直接拿现成的框架来用就好了,省时省力,还不一定有别人的好,有空的话就在其基础上思考如何做的更好就不错了,由于中小公司需求不清晰,需求一次次逐步提出来的,最后领导才发现嵌入式领域大部分功能都没有现成的,要不实现不满足产品需求,要不框架太臃肿性能满足不了要求,要不扩展性不好,一开始适用,修改下需求就不能用了,几乎没有太多现成的,最后只能自己架构,自己实现,最后项目告吹,
- 做研究的,会养成习惯,什么都想自己写,却忘了可以使用现成的框架,例如:之前公司领导是华为出身的,习惯于自己实现,之前在公司的时候,所有代码都是自主实现的,甚至json解析,数据库,服务器等都是完全自己写,完全没用第三方框架,但是有些问题,不完善,没有经过的多种产品的验证,容易出现一些问题,项目进度慢,工作量非常大,需要掌握的东西非常多,一个库出现问题,可能要卡很久,等等,因为是第一家公司,所以我也养成了这种习惯,没有现成的就打算自己实现,更倾向于自主实现,但是由于我的能力有限,很多基础模块实现不了,例如:如果我自己实现不了hash算法,我就没办法使用hash表去实现更复杂的功能,因此离开现成库后我的很多编程就会卡住,后来我才理解,为什么我要去实现和使用这些基础模块,可以直接使用网上开源的,感兴趣自己实现没问题,问题在于使用,自己个人简单实现的不可能有网上的开源库那么完备和验证充沛,正常应该是确认自己实现的比现有好时才使用。
应用思维倾向点
- 更全面更整体的考虑,而不是专注于部分
- 对所有有用细节的掌控度,而不仅仅是只关注于用到的。
- 应用能力最重要的体现是对复杂事物的管理,在编程中如何实现和管理复杂的业务逻辑。
- 应用能力也是管理能力的基础之一,类似于家庭事务管理,任务不难,但是复杂,如何将家庭事务管理的井井有条,更考验个人从整体上思考和管理能力,有些人家里比较乱,我认为这说明其应用管理能力不行,做应用程序员也不是非常适合。
研究思维倾向点
- 更注重于简化,不太关注于整体所有,更关注于能满足功能实现的小部分函数。
- 更专注于部分,而容易忽视整体。
边栏推荐
- Postman pre request
- 498. diagonal traversal (simulation)
- 循环嵌套问题:为什么大循环在内,小循环在外可以提高程序的运行效率
- 【深度之眼吴恩达机器学习作业班第四期】Logistic Regression 逻辑回归总结
- How to permanently set Mysql to utf8 encoding?
- [industrial control old horse] detailed explanation of design principle of pattern fountain based on PLC
- Schnuka: 3D machine vision inspection system 3D vision inspection application industry
- Reasons why the ext.dic file configured in ES does not take effect
- Swin Transformer理论讲解
- 搭建jenkins环境并自动关联打包好的工程jar进行自动发布
猜你喜欢

【工控老马】基于PLC的花样喷泉设计原理详解

matlab 多普勒效应产生振动信号和处理

【工控老马】单片机与西门子S7-200通信原理详解
![[industrial control old horse] detailed explanation of the design scheme of the running lamp control system based on Siemens S7-200PLC](/img/c5/9383a02050c83b26bb56f4045b0774.png)
[industrial control old horse] detailed explanation of the design scheme of the running lamp control system based on Siemens S7-200PLC

Schnuka: 3D machine vision inspection system 3D vision inspection application industry

【深度之眼吴恩达机器学习作业班第四期】Linear Regression with One Variable,单变量线性回归

帆船动力学仿真分析
![Detailed explanation of communication principle between [industrial control old horse] single chip microcomputer and Siemens S7-200](/img/56/b300c0c3606dbc328e301092615bff.jpg)
Detailed explanation of communication principle between [industrial control old horse] single chip microcomputer and Siemens S7-200

Roblox sword nine sword two

Vulnhub's dc6 target
随机推荐
呕心沥血总结出来的MySQL常见错误以及解决方法(二)
SQL 注入绕过(六)
Vibration signal generation and processing based on MATLAB Doppler effect
Vulnhub's dc7 target
[FreeRTOS] interrupt mechanism
1031 Hello World for U
[translation] how Bink drives the digital loyalty transactions of some of the largest banks in the UK
Schnuka: 3D visual recognition system 3D visual inspection principle
【工控老马】单片机与西门子S7-200通信原理详解
matlab 多普勒效应产生振动信号和处理
【域渗透提权】CVE-2020-1472 NetLogon 权限提升漏洞
ROS当中的仿真时间以及Bag包操作
施努卡:什么是视觉定位系统 视觉定位系统的工作原理
100 lectures on Excel advanced drawing skills (VI) - practical application cases of Gantt chart in project progress
Reasons why the ext.dic file configured in ES does not take effect
Loop nesting: why can large loops inside and small loops outside improve the running efficiency of programs
精选西门子PLC工程实例源码【共300套】
蓝桥杯——最小框架
tf.count_nonzero
Markdown skill tree (4): link