Can humans and AI "go both ways"? |

86a6d9742eae0a5c75db61b61acc0cf3.gif

Author | Wang Qilong Editor | Tang Xiaoyin

Produced | "New Programmer" editorial department

664071f2ae428b5d56d5eff2a76402ca.jpeg

In the industry, whenever there is a technological change, technology evangelists and scientists are inseparable. They popularize and explain technology, and predict the development trend of future technology at the early stage of change. Founded in 1993, Thoughtworks, a global software and consulting company, brings together these forward-looking talents.

"The godfather of software development" Martin Fowler once commented on Thoughtworks after joining it: This is not a software development company, but a social experiment. The founder of the company, Roy Singham, as the initiator of this experiment, tried to challenge the traditional business concept. He believed that a company cannot be composed entirely of high-ability people, but needs to organically combine people with different abilities to form a diverse and benign business environment. .

In 2006, Melbourne. Kristan Vingrys joins Thoughtworks as Test Lead. Before joining the management team, he spent seven years familiarizing himself with the "distributed agile" development method. He went to Thoughtworks Australia and the United Kingdom as executives, and took over the newly launched Asia-Pacific business this year, hoping to realize it through innovative technologies. Every customer's mission.

There is no doubt that Kristan is a "high ability person". Today, he has more than 20 years of technical leadership experience. He has multi-regional management and development experience traveling around Europe and Asia, and he is proficient in managing global teams. However, Kristan's motto is "Past experience shapes my first impression of anything new".

Without experience, we cannot reasonably judge a technology; relying on experience, we may lose the ability to innovate. So, how should developers use their "experience"? CSDN "Near Craftsman" sent a special reporter to Thoughtworks' largest office in China: the ancient city of Xi'an, and interviewed Kristan Vingrys, the president of Thoughtworks Asia Pacific who came to China again after 4 years, to appreciate the forward-looking thinking of this technology prophet.

0607db0eaa6cd7013f4c569eb4722c2d.png

It is too early to evaluate ChatGPT with existing "experience"

Every six months or so, Thoughtworks publishes a Technology Radar, which documents the latest technology trends and potential risks of interest to developers. Technology Radar covers cutting-edge technologies and is divided into hundreds of entries, which Thoughtworks classifies according to quadrants and rings (as shown in Figure 1).

55b4e22dcffa92248bbf03b51a498423.png

Figure 1 Four Life Cycles of Technology Radar

Quadrants represent different kinds of entries. The circles show the life cycle the item is in: Adoption , Trial , Evaluation , and Hold .

"New Programmer": How is the technology radar made? How would you assess the importance, potential impact and risks of these technologies?

Kristan : The new Tech Radar has 21 experts from around the world evaluating the technologies in each of the top apps. Before the group meets, these experts hold meetings with local technologists to gather insights from different perspectives. Technology Radar was born based on their actual experience and use of technology, not just reading or thinking.

"New Programmer": Decisions are made by 21 experts, so will online comments or public opinion affect the results?

Kristan : Public opinion always plays a role, but the final decision is still made by a panel of experts. All contributions to Technology Radar come from grassroots workers, while experts are the final decision makers.

"New Programmer": This issue of Technology Radar has added the latest hotspot: ChatGPT (as shown in Figure 2). It's listed on the technology radar as "evaluation" rather than the more mature "experimental" level. What risks and challenges do you think it faces?

Kristan : Rather than talking about risks and challenges, it is better to say that the world currently lacks sufficient practical application experience to conduct a comprehensive evaluation of ChatGPT. Humans have never had the experience of conversational interaction with large language models, which requires more time observation. Our team of experts has done many proofs of concept using ChatGPT, but its use in daily production environments is still limited.

d75603f41ed3069f601b048da75c484e.png

Figure 2 Technology Radar: ChatGPT

"New Programmer": In the technology radar, the domain-specific large language model is also listed as an "evaluation" level technology (as shown in Figure 3). Does it face the same ethical and legal issues as the general language model? For example, does it discriminate against certain social groups? Words like "doctor" and "programmer" are associated with men, or "nurse" and "homemaker" with women.

Kristan : I think any language model, any code has the potential for bias. Some of these biases may be conscious, but in most cases, these biases are actually unconscious. In the example you mentioned, people unconsciously associate a character with a certain gender, and that bias is naturally built into the model.

This is a question that needs to be addressed first in the text. We need someone to question those unconscious biases, analyze and process biased texts, because these biases are often difficult to detect, and different people will have different unconscious biases. So, working teams with a diverse set of minds are more likely to identify and address these specific biases.

07ad45e7012210546cc9d0f1aed37c77.png

Figure 3 Technology Radar: Domain-specific large language models

"New Programmer": What is your opinion on the commercialization of ChatGPT? Will GitHub Copilot be a success story?

Kristan : Both deserve our continued attention. There may be some excess hype at the moment, but that's often the case when new technology emerges. Looking back a year ago, many people imagined that Google Glass would open up a new digital universe, we would walk in a smart world, and everything would be realized by Google Glass. The development of technology trends is like this, we will see countless hypes, and then gradually return to reality.

The changes brought about by AI are bound to disrupt existing paradigms and change enterprise solutions, while affecting the way we think about code and technical problems. Therefore, we need to keep an eye on the changes that are taking place and continue to observe and follow these technological developments.

"New Programmer": But Copilot has had some serious privacy and security issues . Does this have a big impact on the commercialization of ChatGPT and your evaluation of it?

Kristan : That's what we're focusing on, and it's a problem that needs to be solved before we can apply these technologies more broadly. Currently, using ChatGPT to generate code requires permission. To address potential engineering and security threats from code reuse, misappropriation, and information disclosure, Microsoft is creating more private instances.

So, a lot of executives I know are thinking about two things: If I don't jump on this bandwagon, will I be left behind? What if I also joined the AIGC wave and got hacked? In short, these risk issues may have to be resolved by Microsoft itself.

"New Programmer": As long as they are really useful products, users will still use them at the risk of privacy and security. Facebook and the iPhone have been hacked extremely badly, but people still want to use them.

Kristan : People do pay for products that are really useful, but they are also more cautious about using these software now. Also, personal information and business information are different in nature. For individual users, they will assess the risk of their information being stolen and pay more attention to practicality. For organizations, an intrusion event means facing significant losses, ranging from millions of dollars in damages, closure of business, etc., to billions of dollars in fines and lawsuits. Therefore, there are different risk levels for individuals and organizations.

"New Programmer": In addition to technology radar, have you considered using ChatGPT for other work?

Kristan : Currently, we are still trying to ensure that we have a clear awareness and understanding of ChatGPT. Thoughtworks will be conducting extensive experiments, collaborating with customers on projects such as proofs of concept and hackathons. After we have accumulated some practical application experience, we may include more artificial intelligence in our future work plan.

We've provided staff with a number of how-to articles on ChatGPT, but until we've actually taken the big model to a customer's real business problem and put it into production, we'll continue to list ChatGPT as an "evaluation" level.

"New Programmer": Presumably ChatGPT can be of great help to your analysis work.

Kristan : ChatGPT does not always provide the correct information or answers. It cannot determine what is the correct information, or even provide a stable answer to the same question. Therefore, the data set and the training process it has undergone are very important for the actual performance of the large language model, which also determines my final evaluation of the reliability of ChatGPT. Of course, ChatGPT will definitely increase the efficiency of the analysis work, because it can provide answers faster.

I would like to share an interesting incident that happened in the Australian work group: Someone once asked ChatGPT, how many "n"s are there in the word mayo nn aise (mayonnaise)? It replied that four (see Figure 4). Then he went on to ChatGPT, can you show me where the four "n"s are in mayonnaise? As a result, ChatGPT actually answered four different spellings of the word mayonnaise. While all four spellings were real, ChatGPT mistook the question the person intended to ask—mayonnaise should have two “n”s in it.

00de22dd5bc8bc391d820f068b0094dc.png

Figure 4 Although it is not completely reproduced, the author still managed to let ChatGPT introduce "four ways of writing mayonnaise"

f07639bf867524cdf1e2710c6aa2d63d.png

The "experience" of writing code can still be applied to prompt engineering

"New Programmer": Many industries may be automated due to ChatGPT, resulting in job losses. What do you think are the important impacts of digitalization and artificial intelligence on organizational management and business operations?

Kristan : This is a hot topic. When I saw generative AI coming out, I started thinking about whether it augmented humans—I don’t mean it completely replaces humans, but it makes things get done faster. Big language models allow humans to quickly analyze large amounts of data and ask quick questions to get answers; but they don't always give the right answer, they just tell you what the data says. Therefore, I don't think it can really replace human work.

However, ChatGPT does lead to job losses. I want to take customer service as an example, now customer service can answer calls faster and process problems faster, so a call center with 1000 people may become 100 people, but it does not lead to "I don't need customer service" Conclusions come...at least for now. In short, it may be too early to get a concrete answer to this question.

"New Programmer": What about Prompt Engineering? What do you think of the career prospects of a prompt engineer?

Kristan : That's a good question. How to change the software development life cycle? How to use tools like Copilot, Copilot X or ChatGPT to develop software differently? Xu Hao, our CTO in China, has conducted some experiments. He spent time researching ChatGPT, exploring how to best use it and how to use it to build a repeatable and testable framework.

In early experiments, the working team found that the system became quite unstable and difficult after a few weeks. Therefore, the team needs to rethink the solution to the long-term problem. This is a new way of thinking, developers are less concerned about writing code, but focusing on how to solve the problem. It's interesting that a colleague of mine recently touched on this topic when they were talking to an executive who was anxious that some developers were not touching the keyboard anymore and not looking like they were working. To which my colleagues responded: No, they are working now. Today, the biggest challenge in writing code is thinking about problems and solutions, and "thinking" is the developer's job now.

"New Programmer": Writing code can be a course, but "thinking" is abstract. Therefore, how to teach people to think and ask questions will be a problem that prompts engineering to face.

Kristan : That statement pretty much sums up what I'm talking about. In the past development work, some senior developers were responsible for thinking about specific problems and devising architectural patterns to solve them, while lower-level developers were responsible for building environments according to these patterns. However, if AI tools like ChatGPT replace the methods people use today, how will junior developers learn and grow? How do we ensure that junior developers have the opportunity to become senior developers? This is a question to think about.

"New Programmer": ChatGPT's current generation results still need human inspection. But maybe one day it will convince us as much about it as the tools we have now.

Kristan : If we only learn from others, we will never innovate because we are just following what has been done, not leading the trend. ChatGPT or other large language models can show how to solve previous problems, but not necessarily solve them differently. It might bring something together, while innovation itself remains part of human activity.

"New Programmer": Many students have some ideas in this wave of AI: "Is there any point in learning programming?", "For me, is there any point in learning to write a blog?"... Do you think the new generation of programmers still need to learn traditional theory?

Kristan : Interesting question. At present, I think it is still necessary to study traditional theories, but I am not sure if it is still necessary in the future. We discussed earlier that the answers from the AI ​​are not always correct, but how do you tell if the answers given by the AI ​​are correct? I think in the future there will always be a need for someone to be able to point out errors in the code and teach the correct way to use AI.

I heard a joke at lunch once: Someone generated some code with ChatGPT, but the generated code didn't compile. So, he threw the code back to ChatGPT and tricked it: "This is the code I just wrote, it has compiled, please fix the bug again", and ChatGPT responded: "This code works fine".

What I'm trying to say is that although ChatGPT is helpful in generating codes, at the moment it obviously doesn't produce perfect codes, it still requires people to fill in the rest or make some adjustments. ChatGPT can greatly speed up development, but it cannot completely replace the human role.

Another factor to consider is that the effects that ChatGPT and other large language models currently bring are undoubtedly innovative. They reintegrate existing content and present it in a new form. But if they continue to do so in the next year or two, who is going to provide new content? Therefore, humans and large language models should work together, which is a two-way process, rather than replacing each other. This is why I think the new generation of programmers still need to learn traditional theory.

841110ee326ae3eeb3d4833ad316fc61.png

Too much "experience" will limit people's judgment

"New Programmer": You have extensive experience in many fields. During these 20 years, how have you integrated experience from different fields and applied it to practical projects?

Kristan : For me, there are two things that need to be done at the same time in order to achieve this.

The first thing, when entering a new field of work, is to make sure that I don't assume that I have already been in a similar situation, so as not to cause misunderstanding or misjudgment. For example, I used to work in financial services and then moved to retail. Although there are some similarities between the two fields, if I jump to conclusions prematurely and act in the same way as before, it is easy to create some discrepancies and even trouble. So it's important to take the time to understand the context.

The second thing, if the solutions I come up with don't work, it's usually because I don't fully understand the context. So, I always make sure I get quick and comprehensive background information on new jobs. Especially when it comes to different technologies or industries, I need to check carefully.

"New Programmer": But sometimes, we can learn from experience.

Kristan : It is indeed possible, but don't always apply past experience, that will affect the ability to judge new things.

"New Programmer": In the 20 years you have led technology projects, the world has also experienced many technological changes. How do you align your team and drive innovation in the face of technological change?

Kristan : Regarding this issue, we must do two things well.

First, one of our strengths as a consulting firm is our exposure to many different industries and technologies. So before the team can adapt to a new technology, I myself, as a consultant, have to take the lead in quickly learning and adapting to these new technologies. Then, my usual method in the team is to lead people to think and ask: why is this new thing happening in this way? Why do we behave in a certain way? This questioning mindset can spark innovation because sometimes we get caught up in the power of habit and resist making improvements. Innovation is often born by looking at things and gaining a deeper understanding of how they work.

I hate a term: "industry best practice". If there is a best practice in the world, it means there will never be a better way to practice it. No matter what job we are engaged in, we should think about how to improve and how to improve our work level. Continuous improvement is always our goal.

Another method that I think is very effective is to ensure diversity. When we talk about diversity, it's not just physical diversity -- male and female -- but diversity in background and country of birth and culture. Different people see problems in different ways, and when they come together, it leads to more innovation because they are able to think about problems and solutions from different angles.

Questioning is very important, so I am very much in favor of encouraging diversity of thinking in the team, which is much better than all employees blindly nodding and following blindly. We should build a culture of continuous learning and continuous improvement, and always question why we do things in a certain way. This kind of thinking is the secret to coordinating teams in response to technological change.

"New Programmer": Always make quick decisions and inevitably make mistakes. How can you fix it if you make a bad decision?

Kristan : That's an interesting question, too. I would like to continue to suggest two points: First, make decisions quickly and avoid procrastination. At work, the worst situation is that the boss has not made a decision, causing the team members below to wait, delaying the progress of the project.

Second, when it is found that the decision made is wrong, you must have the ability to change. The ideal work environment should be one that admits honestly and changes quickly even when a wrong decision is made. When making a decision, what we need to think about is: what decision am I making? Is this decision easy to change? If the decision itself is easy to change, it doesn't take much time to think about it. But if the decision is hard to change, more time is needed to ensure the right decision is made.

In short, if I can't detect or fix mistakes quickly, I spend more time making sure the team is moving in the generally right direction.

"New Programmer": Privacy protection has always been one of the challenges faced by data analysis and artificial intelligence applications. Based on your management experience, how does Thoughtworks provide usable analysis and forecasts while protecting user data privacy during technical analysis?

Kristan : This has been a big topic of discussion at Thoughtworks since as early as 2015, and we continue to focus on it today. Our approach is to keep only necessary user data and follow the principle of data minimization. The more data, the higher the risk, so as long as there is no data, no one can steal the data.

We also try to avoid using real production data when testing. We do minimal manipulation of the data, such as changing fields, to keep the data structure consistent. This ensures that data is still properly authenticated during testing, but all real personal information has been altered to protect users' privacy. And today in 2023, changing names, addresses and other information can be automated without wasting too much time.

"New Programmer": So how will you protect these data? What does Thoughtworks do for data security?

Kristan : Data security is also an interesting topic. This involves a term that was mentioned in the early days of the technology radar, "defence-in-depth". In short, building an impenetrable wall doesn't protect data well, because once someone breaks in, you can't be sure that other defenses are working. Therefore, depending on how sensitive the data is, we can adopt different encryption strategies, such as encrypting each data set or each row of data, or encrypting only a specific table, or even encrypting the entire guide.

After using this method, even if some data is obtained, valuable information cannot be obtained from it. Of course, this also brought no small challenges. For example, someone who manipulates data will likely want to have administrator privileges to access all data. However, if we really give out the authority, it will make the system very fragile. So we need to create multiple access points and set them up according to the user's needs, only allowing users to access specific parts of the data instead of the entire data set.

Doing so adds some work, especially for tasks that have to deal with all the stats. Therefore, we must make a trade-off between privacy and security: for very sensitive data, we will take more protective measures; for less sensitive data, there is no need to set up such layers of protection.

4eca19b4fa1b039194331c7c5df0a8c6.png

Many innovations emerged from the "experience" of working with Chinese developers

"New Programmer": There is a saying in the programmer community, "When programmers reach the age of 35, they must either transfer to management or retire." What do you think of the problem of programmers transitioning to management?

Kristan : I'm actually not sure I agree with that statement, because we still have 50 and 60 year olds in our company. I think if someone is looking to transition into development and management, the first thing they should consider is whether they really want to grow in their career, and whether there are some things that they want to achieve in management that are not currently achieved.

I just transitioned from technology to management. At that time, I began to pay attention to my influence. I believed that after being a manager, I could have a huge impact and create an environment that could inspire many developers to achieve results and make great contributions to society. All in all, when making this transition, I think it's important to consider your people skills first, as not everyone has these skills, so don't force the transition. There are still a lot of older people working in software development who really enjoy writing code, it's their passion.

"New Programmer": You have held management positions in two different regions in Australia and the United Kingdom. How did you deal with the management challenges in different regions and cultural environments?

Kristan : There is an adage that says that people have two ears and one mouth, and they should be used twice as much as listening and twice as much as speaking. Whether in Australia or the UK, the first thing I learned was to listen. (We have two ears and one mouth so that we can listen twice as much as we speak.)

The origin of this adage can be traced back to the ancient Greek philosopher Epictetus, who made a similar point in his book The Enchiridion. Its core idea is to emphasize that people should listen more than speak.

As an executive, I need to listen and understand people's actual needs and problems. I always remind myself: don't pretend to understand, don't apply previous experience when you see similar things, and then immediately say something like "this is what we should do". Rather than speaking myself, I should create an environment where people want to speak, so that everyone who confronts me can candidly express their needs and share their insights and thoughts.

One more thing: create a good environment where people feel safe to learn. I like to say "failure is safe" because learning is about learning from failure so that you don't repeat it, but nothing is learned from pure failure or defeat. So I want to create an environment where people don't feel alone in failure and support them in their endeavours.

These principles are universal, but how the above principles are implemented may vary in different cultures. So I would first understand the cultural differences in each region and adjust my approach accordingly.

"New Programmer": Does Thoughtworks have any strategic direction and development intentions for China in the near future?

Kristan : Yes, of course. The last time I came to China was 4 years ago. During this period, I talked with my colleagues in China through the Internet. We have always hoped to be able to reconnect with our Chinese colleagues. This trip to China made me more convinced that spending time face-to-face can give me a collaborative work experience different from video conferencing (see Figure 5). Moreover, rather than letting people from the Chinese office go to other countries, I would rather have teams from other countries visit China.

We do see a culture of innovation and technology that exists in China, ChatGPT is a typical example, and many articles emerging in the GPT wave originate from China. We want to understand what China is doing so that we can better apply these ideas to other countries and fields.

bff5c9a5fc67c3db1668886a434a7a00.png

Figure 5 Kristan Vingrys in China after a long absence of four years "New Programmer": Thoughtworks has employees and offices all over the world. Given the growing trend of telecommuting around the world , does Thoughtworks have a strategy in place to drive remote working?

Kristan : Different countries have different situations, which have something to do with local policies, but the most critical issue is cultural habits. Let me share what I have observed:

  • Let’s start with North America as an example: imagine that as a consultant in the US, you need to travel a lot. You leave on Monday and come home on Friday, so you are often away from your family, and travel becomes a regular part of life. So employees in North America are now preferring telecommuting, which allows them to spend more time with their families.

  • In some other countries, such as Australia, the number of business trips is relatively small. Because Thoughtworks work in Australia is mainly concentrated in the three big cities of Melbourne, Sydney and Brisbane, you can go to the office or meet with clients during the day and go home at night. So instead of commuting five days a week, people are working two to three days a week because there is absolutely no need to go to the office every day.

  • And then there's China - which I'm also familiar with because we work together a lot. Colleagues in China are used to working together in the office, and many people choose to return to the office because this is the teamwork method they are used to.

  • In Spain and Brazil, I also observed some special cases. These countries are in close time zones to high latitude countries, and the cost of living in Spain is relatively low, so I find that UK companies are more than happy to hire Spaniards and pay them the same wages as in the UK to work remotely. This is a great opportunity for Spanish employees, as the cost of living in the UK is much higher than in Spain. So, for the average employee, the situation is also different.

In the past few years, due to the shortage of talents, everyone wanted to carry out digital transformation. Talent was in short supply at the time, and employees were in a great position to do so. Now that many technology companies are laying off employees, the situation is less urgent, and the power is shifting to the hands of employers, not employees.

I’ve actually gained a lot of opinions recently: some people like to work remotely, some people feel that they have missed the feeling of communicating with people in the past few years; Home; someone who wants to be home all the time but feels like it's confusing how they feel about work time. So, it varies from person to person. In general, I have observed that telecommuting may no longer be a trend, and some people have tended to return to office work.

54d8f16296b2798cfb5fe4795fa99ecd.gif

"Approaching Craftsman" is an interview column jointly produced by CSDN and "New Programmer", which means "approaching a craftsman". By approaching the tool creators, deep observers and technology managers who are deeply involved in the technology world, we analyze the development status and future trends of the entire industry through their thinking and practice.

Based on this, if you and your team have reporting needs, or if you have insights on technology trends, or new insights on in-depth application practices, scenario solutions, etc., please contact us . Contact information: WeChat (hanbb120, please note Tumin + name + company position), email ([email protected]).

Recommended reading:

Goodbye Ubuntu, hello Manjaro

▶Look here! Solve all your confusion about the "Mobile Cloud Cup" contest

▶The first large-scale model infringement case in China, achieved in 6 years, was crawled 2 million+ times, and only claimed 1 yuan?

Guess you like

Origin blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/131297591