Enhance Both Soft and Hard Coding Skills

ENHANCE

"Growing" is a topic that never goes out of style, as it is always accompanied by life. And occupations, which take up a significant amount of time in one's life, are the most frequently discussed stages of development. As a developer, you will face various obstacles throughout your career. When starting a new job, it's common to encounter technical roadblocks, such as figuring out how to incorporate new technology or enhance code quality. After a few years of battling it out at work, I was promoted to lead the technical team. At this time, I was grappling with challenges such as how to interact with people, urge everyone to work hard toward a single objective, and how increase the team's R&D efficiency, among other management concerns. Work as a CTO for a firm or start a technology company. You'll consider how technology may help with business development, organize and employ people, plan for the future, and formulate strategic directions.

It is easy to see that two key aspects stimulate the development of a developer's professional path: hard power and soft power. The former is mainly manifested in technological advancement. In contrast, the latter encompasses a wide range of skills, including insight, judgment, decision-making, communication, management, and leadership. How can soft and hard power be enhanced? We might be able to learn from those who have succeeded.

Several well-known "tech gods" and struggling developers discussed their growth experiences in the book "New Programmers: Our Technology Era, Our Programming Life." Bjarne Stroustrup, the father of C++; Michael "Monty" Widenius, the father of MySQL; SUSE CTO Brent Schroeder, Alibaba CTO Cheng Li (Lu Su), technology entrepreneur and investor Dai Zhikang, and game developer Yun Feng were among those who mentioned technical capabilities and the improvement of management ability.

1. Improvements in Hard Power

a. Train Logic and Lay a Firm Foundation for Junior Developers

As a junior developer working with data, rigorous logical thinking is essential. It is the foundation for developing good code, and learning mathematics are crucial to improving logical thinking.

Bjarne Stroustrup (a.k.a. Bjarne), a.k.a. Bjarne Stroustrup, a.k.a. Bjarne Stroustrup, a ""Programmers' efforts in mathematics are never in vain," said the "Father of C++." Learning mathematics is one of the most effective ways to develop our brains." Bjarne made use of His more than 40 years of programming experience has taught him that, while mathematics isn't employed in many applications, capacity and cost considerations must be considered when constructing infrastructure or deploying large-scale systems. Algorithms will be critical in reducing costs while preserving power. If you don't have a solid mathematical background, you may not be able to achieve the best results or perhaps create harm.

Furthermore, most developers utilize probability and statistics to determine whether the code speed is fast enough, whether a function has sufficient scalability, how likely it is an inevitable failure, and how widespread its influence is, among other things.

b. Senior Developer: Tracing the Roots and Getting Through

The most significant ability to upgrade from an ordinary developer to a senior developer and then from a senior developer to a "great god" developer is the capacity to trace the source code and integrate it.

After speaking with countless technology entrepreneurs and reading about their entrepreneurial experiences, Dai Zhikang, a well-known technology entrepreneur and angel investor, summed up the difference between excellent and ordinary developers as follows: exceptional technical people can see problems from a higher perspective, 'knowing it and knowing why it is,' whereas ordinary technical people usually take things abstracted and summed up by others, and are not good at or no good at. There's no issue. Why is it that good technical individuals are rarely confronted with this situation? Because his thinking framework has covered both the technical periphery (that is, horizontally such as front-end, back-end, operation and maintenance, products, and so on) and technical depth (that is, vertically such as front-end, back-end, operation and maintenance, products, and so on) (that is, vertical such as architecture, algorithm, database, operating system, etc.). By analogy, one may be able to uncover comparable patterns in a variety of items.

It can be seen that breaking beyond the cognitive dimensions of the horizontal and vertical orientations is crucial for developers to become "strong." Dai Zhikang used his practical experience to illustrate how to break through the cognitive dimension: "Twenty years ago, I utilized PHP language to construct software." What is the PHP upstream? It consists of the operating system, database, and other foundational software. Study each SQL statement, execution strategy, storage structure, and access method in the database. Because only by understanding the operating system's execution logic can PHP be well written, and only by knowing the upstream needs of the SQL statement can this SQL statement be well written." Dai Zhikang's technical development abilities have significantly increased due to his continuous tracing of the source.

Many questions can be answered in the computer world through assumptions, verification, and analysis, such as what code will make the program run faster and how different file sizes and variables will affect the implications of implementing interpreted languages. Understand the logic of the program's operation by delving into and summarizing the results of each practice.

c. "Great God" Developer: See Clearly and Simplify Complicated Issues

The ability to see through the essence and simplify complex problems goes hand in hand with tracing the source and understanding.

When it comes to technology development, many young programmers like to show off their skills; Yun Feng, the "great god" developer with nearly 40 years of coding experience, was the same when he was younger. However, now he believes that showing off skills cannot solve the essence of the problem. "

So, how do you write simple enough code? In addition to mastering program operation logic, Yunfeng mentioned another essential ability: the ability to evaluate things and themselves. On the one hand, it is necessary to understand the ins and outs of an item, how long it takes to complete it, and what conditions are required to complete it; on the other hand, it is necessary to understand the ins and outs of a thing, how long it takes to complete it, and what conditions are required to complete it; on.

"When writing code, try to write it in one go, rather than writing it and then altering it repeatedly," Michael "Monty" Widenius, the creator of MySQL, said. " This is also the programming principle he has followed for a long time... Both ordinary developers and "great" developers can complete a development project, but what is the difference? It is reflected in the tasks that a "great god" developer can complete in a week, while an ordinary developer takes a month to complete because when a programmer is inexperienced, he evaluates that one thing can be done in two days, but he spends more time to solve the problems he encounters

2. Enhancement of Soft Power

Hard power is essential at the technical level. However, in the career path of developers, it is not only technical experts but also managers, entrepreneurs, or CTOs of large enterprises, making soft power even more critical now. Many senior developers with solid and complex abilities can only stay in the field of technology development because they cannot break through the limitations of soft power.

a. Technology Executives: People Skills Matter More than Technical Prowess

SUSE CTO Brent Schroeder pointed out that the ability to interact with people is often more critical than technical strength for developers who choose the specialized management channel. When leading a team, we should consider personal growth and how to help team members better meet challenges and achieve growth, as well as improve the entire group through incentive mechanisms or taking the lead.

However, building trust is the first step in human connection; in teamwork, trust the people you work with, accept what they don't do well, and focus on executing the whole thing properly. "Every module is done according to your notion, which usually doesn't work," Yunfeng says. You may focus on what you desire, perform it well, and confidently leave other things behind. To your companion. Accept other people's varied points of view, look for common ground while going disagreements alone, and do it right."

b. Six Steps for a CTO: Follow the Company's Business Development and Evolve

According to Alibaba CTO Cheng Li (Lu Su), "the core is not to look at the direction, but how to do a good job in technology" at this time, "the core is not to look at the direction, but how to do a good job in technology." It is the CEO's responsibility to look at the direction, and the CTO needs to use technology to make business growth grow more rapidly and to ensure that the business does not slouch.

Companies usually follow a wave-like development process: at first, they must find a direction and enter a business track; if this direction is judged correctly, the company will enter a stage of rapid growth; once it has reached a particular location, it must break away from the current Some inertia, and then look for a new development direction...

c. In his book Six Stages From Ant Technology to Alibaba, Cheng Li summarized the six steps of a CTO as follows:

1. Set goals with your team and work together to achieve them.

2. Learn more about the team and business, determine where you want to go in the future, collaborate on a vision, and pique everyone's interest.

3. Avoid being the team's ceiling; treat yourself as the team's floor and utilize people to do things rather than people to do something.

4. Remember to "fix the roof on a sunny day," to be ready for danger even when things are going well, and to look at a crisis with optimism, because there is always a possibility to transform a problem into an opportunity.

5. Determine how much to invest in the layout and entirely focus on the CEO. In the early stages of business development, the depth of technology is a point; when it develops to the scale of Alibaba today, the depth of technology is a polyhedron, and there must be a sufficient and multi-faceted layout to support the company's development.

6. A technical director of Alibaba Cloud once discussed the highest degree of a company's technical capabilities: that everyone who becomes a CTO may be competent.

7. Of course, whether it is the management team or the leadership team, their soft power is similar and not contradictory, and they can be improved one by one according to their shortcomings; it's just that there is no shortcut to growth; you must invest enough time, practice enough, pay attention to methods in the process, and frequently review how you can learn and do this well, and make corrections in time when deviations are discovered.

3. Inspiration from 48 Programming Life Stories in "New Programmer."

Be the Better One

In addition to Bjarne Stroustrup, Michael "Monty" Widenius, Brent Schroeder, Cheng Li, Yun Feng, and Dai Zhikang, "The New Programmer: Our Technology Era, Our Programming Life" also invited Anders Hejlsberg, the father of C# and TypeScript; Bruce Momjian, co-founder of PostgreSQL Global Development Group; Vue founder You Yuxi, Baidu CTO Wang Haif.

Technology Hall of Fame, Technology Leadership, Technology Pioneer, Technology Entrepreneur, Technology Manager, I Am a Programmer, Female Power, Technology for Good, and Slash Programmer are among the nine modules that help you understand technological development, gain growth methods, upgrade your self-awareness, and identify future directions through 48 program life stories.

Next Post Previous Post
No Comment
Add Comment
comment url