当前位置:网站首页>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 .
边栏推荐
- 【工控老马】PLC六路抢答器系统设计详解
- Alicloud access resource: nosuchkey
- Perceiving healthy life, enabling boundless connection -- contributing to openharmony 3.1 ecological construction
- 基础知识 - 语法标准(ANSI C、ISO C、GNU C)
- Cv:: mat and Base64 conversion (including picture compression and decompression)
- Selected Siemens PLC project example source code [300 sets in total]
- 手把手系列---安装SpotBugs、并快速上手使用
- 【量化投资系统】因子处理安装talib
- Environmental preparation - Engineering Management
- [old horse of industrial control] detailed explanation of Siemens PLC s7-300scl programming
猜你喜欢

PostgreSQL安装:The database cluster initialisation failed,stack Hbulider安装

SQL injection bypass (6)

Line features & surface features of vSLAM features

MongoDB-使用mongo/mongosh命令行连接数据库

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

【工控老马】西门子PLC s7-300SCL编程详解

Detailed explanation of top and free commands

cv2.cvtColor

AC自动机

Postman pre request
随机推荐
Little white battle pointer (Part 1)
MySQL enable logging
Using cdockablepane to realize floating window in MFC
产品经理应该学习墨刀还是Axure?
【深度之眼吴恩达机器学习作业班第四期】Logistic Regression 逻辑回归总结
101. symmetric binary tree (recursive and iterative methods)
MongoDB-使用mongo/mongosh命令行连接数据库
[industrial control old horse] detailed explanation of design principle of pattern fountain based on PLC
C actual combat - high configuration version of Snake game design
【工控老马】洗衣机PLC程序控制系统设计详解
精选西门子PLC工程实例源码【共300套】
Handle series - install spotbugs and use them quickly
postman预处理/前置条件Pre-request
指针引用数组元素
呕心沥血总结出来的MySQL常见错误以及解决方法(一)
手把手系列---安装SpotBugs、并快速上手使用
Django - installing mysqlclient error: mysqlclient 1.4.0 or newer is required; you have 0.9.3
cv2.cvtColor
嵌入式产品防盗版
环境准备 - 工程管理