当前位置:网站首页>Improvement direction of programming ability
Improvement direction of programming ability
2022-06-29 07:55:00 【qazw9600】
problem
- On the whole , There are many ways to improve the ability of programmers : Programming ability , communication skills , Management ability, etc ; Subdivision to programming capability , What are the directions for programmers to improve ?
understand
Programming essence - Use
- The national education system has given the answer , There are two subjects in the University : Theoretical and applied disciplines , for example : Computer is a theoretical subject , Software engineering is an applied discipline , Application means using ; Programming is the most essential part of software engineering , So the essence of programming is to use .
- Working for many years and understanding : The essence of a program is that the upper code calls the lower code , The lower level code calls the system interface , The operating system interface calls the driver interface , Drive control hardware ; Of course, it is not a simple call , What is more important is the extension of the same level , for example : The operating system also implements many extended functions based on the driver interface .
Direction
- Although the essence of programming is to use , But according to the reality , I divide the use into two abilities , as follows :
- Research capability
- Application ability
Research capability
- Turn what you don't understand into what you master , To put it simply, it is possible to achieve .
- The profession that best reflects the research ability : Algorithm engineer , The bottom Engineer .
Application ability
- Application ability is to use , Simply put, it means being able to do well .
- The occupation that best reflects the application ability : Architecture and products .
reality
- Real programming is often a combination of two abilities , There are no tasks that require only application capabilities , There is no task but research ability .
- However, due to the different levels of work , It is possible to focus more on one of these abilities , for example : Internet industry , Because there are fewer things to study , Most of them are ready-made , Therefore, it focuses more on application ability , How to make ready-made things , Do a better job , How to make the network a ready-made thing , Give full play to its maximum value , Therefore, the Internet industry pays more attention to products .
The way of thinking is different between research and application
- If you don't pay much attention to the two abilities at work at ordinary times , May not feel deep , If you focus more on a certain ability in your work , Will be aware of the different ways of thinking , for example : There is a saying in the Internet field , Don't Reinvent the Wheel , That's right , But there are some hidden limitations , such as : The Internet , Repetition, etc , Some examples can show the difference in thinking , as follows :
- Do embedded in the company Linux project , The company believes that embedded Linux It is no different from embedded Android , So let the Android application manage the project , The whole project follows the Android development method of leaders :“ Completely reject autonomous implementation , Find ready-made code and framework to use directly from the Internet , In need of change ”, I've been doing embedded linux Of , Some requirements can't find ready-made libraries or frameworks , I will do it myself , So he was criticized by the leaders : Why write your own code ? Just use the existing framework , Time saving and labor saving , It's not necessarily someone else's , If you have time, it's good to think about how to do better on the basis of it , Because the demand of small and medium-sized companies is not clear , The demand is put forward step by step , Finally, the leaders found that most of the functions in the embedded field are not ready-made , Otherwise, the product requirements are not met , Otherwise, the framework is too bloated and the performance cannot meet the requirements , Or poor scalability , Apply at the beginning , The modified requirements cannot be used , There is hardly much ready-made , Finally, we can only build our own architecture , Realize it by yourself , Finally, the project failed ,
- Doing research , Will form a habit , I want to write everything by myself , Forget that you can use an existing framework , for example : The previous company leaders were from Huawei , Get used to realizing , When I was in the company , All the code is implemented autonomously , even to the extent that json analysis , database , The server is completely written by itself , No third-party framework at all , But there are some problems , Imperfect , Has not been verified by a variety of products , It's easy to have some problems , The project progress is slow , Very heavy workload , There are so many things to master , There is a problem with a library , It may take a long time , wait , Because it was the first company , So I also formed this habit , If there is no ready-made one, we intend to realize it by ourselves , More inclined to achieve autonomously , But because of my limited ability , Many basic modules cannot be implemented , for example : If I can't do it myself hash Algorithm , I can't use it hash Tables to implement more complex functions , So many of my programming will get stuck after leaving the ready-made library , It was only later that I understood , Why should I implement and use these basic modules , You can directly use online open source , If you are interested in it, you can realize it by yourself , The problem is using , It is impossible to have a simple implementation by yourself as complete and fully verified as the open source library on the Internet , Normally, it should be used only when you confirm that your implementation is better than the existing one .
Applied thinking tendency
- A more comprehensive and holistic consideration , Instead of focusing on parts
- Control over all the useful details , Instead of just focusing on what you use .
- The most important embodiment of application ability is the management of complex things , How to implement and manage complex business logic in programming .
- Application ability is also one of the foundations of management ability , Similar to family affairs management , The task is not difficult , But it's complicated , How to manage family affairs in order , It also tests the individual's ability to think and manage as a whole , Some people are in a mess , I think this shows that its application management ability is not good , Being an application programmer is not very suitable .
Study the thinking tendency
- Focus more on simplification , Less attention to the whole , Pay more attention to a small number of functions that can meet the function implementation .
- Focus more on parts , It is easy to ignore the whole .
边栏推荐
- Roblox剑九之剑二
- 多态中的向上和向下转型
- 498. diagonal traversal (simulation)
- 【工控老马】单片机与西门子S7-200通信原理详解
- 1032 Sharing
- 【深度之眼吴恩达机器学习作业班第四期】Logistic Regression 逻辑回归总结
- 101. symmetric binary tree (recursive and iterative methods)
- 穿越过后,她说多元宇宙真的存在
- tf. compat. v1.global_ variables
- Check whether tensorflow supports GPU and test program
猜你喜欢

postman预处理/前置条件Pre-request

手撕二叉搜索树(Binary Search Tree)
![[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

SizeBalanceTree

C mqtt subscription message

Common MySQL errors and solutions summarized painstakingly (I)

Reasons why the ext.dic file configured in ES does not take effect

Viewing application and installation of Hana database license

1032 Sharing

线段树以及使用
随机推荐
[industrial control old horse] detailed explanation of the design scheme of the running lamp control system based on Siemens S7-200PLC
AI and the meta universe sparked a spark: human beings lost only shackles and gained all-round liberation
Common MySQL errors and solutions summarized painstakingly (II)
从Nacos客户端谈Nacos配置中心
SAP ui5 Beginner (I) Introduction
Electric check code configuration
Appium 环境搭建
js异或混淆代码
MySQL enable logging
声波通讯 - 流式数据处理 - 窗口对齐
穿越过后,她说多元宇宙真的存在
编程能力提升方向
Fluent imitates uiswitch
程序调试 - Debug/Release 版本
js实现图片懒加载的一个详细方案(引入即可使用)
反思 - 中小公司项目管理思维 - 先将产品做出来,先将功能做出来
C#导入csv到mysql数据库中
Cv:: mat and Base64 conversion (including picture compression and decompression)
软件测试鸾音鹤信
nor flash 应用层操作