当前位置:网站首页>ThoughtWorks global CTO: build the architecture according to needs, and excessive engineering will only "waste people and money"
ThoughtWorks global CTO: build the architecture according to needs, and excessive engineering will only "waste people and money"
2022-07-05 17:10:00 【ThoughtWorks China】
author | Wintersweet
Interviewing guests | Rebecca Parsons,Thoughtworks The global CTO
Thoughtworks Founded on 1993 year , At present, it is near 20 Countries have offices , Have 1 More than 10,000 employees . these years ,Thoughtworks Has been developing for agile software 、 Continuous integration 、 Continuous delivery 、 Microservices 、 Provide services in terms of evolution architecture and data grid , Is one of the first companies to develop agile for complex software projects .
these years ,Thoughtworks The technology radar summit has always been well-known in the industry “ Technology weathervane ”. The summit was founded by a technical advisory committee composed of a group of senior technical leaders , They meet regularly to discuss Thoughtworks Global technology strategy and technology trends that have a significant impact on the industry .
On the occasion of the technology radar summit ,InfoQ I have the honor to interview Thoughtworks The global CTO Rebecca Parsons, Ask her to talk with us about the release of technical radar for so many years , What value do you hope to bring to you ? What technology trends deserve attention in the future , And how a technician should keep technology forward-looking .
stay 1999 To join in Thoughtworks Before ,Rebecca Is a computer science researcher and university lecturer . After completing the master's and doctoral degrees , She is mainly engaged in compilers 、 Program optimization 、 Distributed computing 、 Programming language 、 Computational theory 、 Research on machine learning and Computational Biology .
2007 year , She became Thoughtworks Chief technology officer . In addition to depth technology , She also advocates diversity and inclusiveness in the industry , Especially add coding and STEM Number of women in the field .
The following is the transcript of the interview ,InfoQ Edited without changing the original intention .
InfoQ: I'm glad to have the opportunity to interview you , You can go to InfoQ Would you like to introduce yourself to your readers ?
Rebecca: I am a Thoughtworks Chief technology officer of the company , Although I don't want to admit , But I have been in the computing technology industry for a long time . But I have always enjoyed this process , I feel like a typical geek .
My technical focus is very broad , The doctoral thesis studies programming language and compiler optimization , In concurrent and distributed systems and Evolutionary Computing 、 In particular, genetic algorithm has also done a lot of work . There is also Computational Biology , In short, I have a broad interest in Computing .
I am a 1999 year 12 Month join Thoughtworks Of , from 2000 In, I officially started my work . lately , I participated in writing a book named 《Building Evolutionary Architectures》 New book , The second edition is currently being revised .
InfoQ: The technology radar summit has been released for many years , What value do you hope technical radar will bring to you ?
Rebecca: In fact, technical radar is the result of our cooperation . At first, an internal salesperson asked us , Which technology is the coolest at present . We had a serious discussion on this topic . actually , At that time, he was the technical assistant of the technical advisory committee Darren Smith It should be “ Technical radar ” The originator of this concept . But we won't divide it into so many details , It is basically the result of collective wisdom and effort . At that time, a member of the committee was talking to a British friend , The other side said “ I'm curious Thoughtworks Staring at something in the radar ”, This sentence gives us the greatest inspiration .
So technical radar was born . I think the value it brings to you is mainly divided into three points . First , Technical radar covers the world , So here comes India 、 China 、 Brazil 、 Technical information in North America and even Europe , Technicians all over the world have the opportunity to contribute . But we also found that , Sometimes people have different opinions about the same technology . I remember , Once a British team wanted to stop a certain technology , But another Indian group felt that it should be vigorously promoted . After a thorough study , We found that the customers of both sides are completely different , Therefore, the use of technology varies greatly . That's why I think , We must always maintain such a global perspective .
Second point , I think it's solid practical experience . This kind of experience cannot be gained by chatting with suppliers or analysts alone . Of course, what is presented in the description document is also experience , It also works well , But it hasn't really turned into your own wealth 、 You may not be able to use it easily .
The third is , We will clearly express our attitude . Overall , Technology radar is more supportive of open source technology 、 Relatively weakening commercial products , And they all speak with real security and data . After all, if there is no good privacy protection means and clear architecture system design ideas , It is impossible to build an excellent architectural scheme .
This is our consistent insistence in technical radar .
InfoQ: You are from 1999 I joined in Thoughtworks, After so many years of work experience , What is the deepest technological change you feel ?
Rebecca: I feel the deepest technological changes twice , And it's very different .
When I first started working in business technology , I found that without the help of database , We can't even write any data into the disk . at that time , Everyone feels that all data are related to each other , So I will put all the data “ Stuff in ” relational database . Later, those Internet giants , Google 、Netflix La , Their appearance really broke this mentality , Make people believe , Not all data are related .
For example , We can also store the graph in the traditional database , But this does not reflect the graph properties . And in new technologies like product catalogs , The properties contained are much richer , It can also be easily put into the document database . So for me , This marks a fundamental shift in our view of Computing . That is to say, after having a relational database , We have a new problem : What kind of data do we need to keep ? How to query these data ? Which Persistence technology is more suitable ? Put forward these questions , Represents a real change in thinking .
As for the second change , When we have the foundation of continuous delivery , Will be based on the entire deployment pipeline 、 Test automation system attempts to promote automation . This also allows us to break a new , The experimental construction road that was unimaginable in the past . before , No one dares to imagine something like microservice architecture —— Manually enter the deployment scripts of dozens of micro Services , It's impossible and unsafe . Too many services mean that we introduce too many risks into the architecture , So no one did it . It is also the difficulty of system deployment , That makes it impossible for us to explore the system organization .
But now these restrictions have been broken , Just follow the principle of continuous delivery , You can split the system into modules . Even in the face of hundreds of modules , Automation technology can also maintain the deployment difficulty at a very low level . After all, computers don't care what they have to do , Or a hundred things . So , We no longer need to consider constraints , You can choose the most suitable architectural solution purely from the perspective of deployment and operation .
So for me , These are the two fundamental changes in the field of computing technology . With these qualitative changes , Other quantitative changes will follow .
Build architecture on demand , Over engineering will only “ harass the people and waste money ”
InfoQ: In the context of digital transformation , In addition to some hot topics about basic software , People also pay more attention to evolvable architecture , You think build “ Evolvable ”、 Can face the future ( Decade ) What is the key to the development of the architecture ?
Rebecca: Say evolvable architecture , I think the most important point is that , Focus on what you want to achieve through architecture . Concrete implementation is always for the result .
As an enterprise architect , My job is to determine the need for scalability 、 What degree of security or flexibility . I will not specify which load balancer must be used , Only reasonable load intensity targets will be set . So if you can turn your attention from concrete realization to normative goals , The final result will be better , Because in this way, the system construction team has flexible space 、 There is a clear direction , They know how to choose by themselves . Elastic 、 Scalability , These are objective measures .
With such guidance , The system team can weigh the impact of different architecture choices on the results . And in the face of new technologies , We will still push back the plan based on the results — Meet architecture requirements , Then use ; If it doesn't meet , No matter how new the technology is . So our architecture will be more flexible , We can focus on what we need to achieve , No longer obsessed with a specific time 、 What specific solutions should be used in a specific location .
This is when building an evolvable architecture , The mindset change that must be completed —— Result oriented . I don't care what you do , But it must be able to achieve a specific uptime or scalability . After the requirements are clear , The team on the front line knows more about how to make choices . They are free to choose technology , Decide how to make your goals a reality .
InfoQ: So you mean , We must prevent over engineering , Right ?
Rebecca: you 're right , But it's a pity. , I often see over engineering 、 Over designed system . Not every system needs 99.999% The reliability of the , Not every system needs to cope with the load scale of Google . It is enough that the system we build can meet our own needs and reasonable expectations , Why do you have to follow Netflix As exaggerated ?
InfoQ: Can you share some over engineering 、 Cases with low output ?
Rebecca: In the speech on evolvable architecture , My favorite example , It's the story of our opening an office in Britain . We had a British client , They run a sandwich takeout system . Every day in the morning , Diners can place orders on the system , Then they are responsible for delivery , Customers' credit card information will not be stored in their systems .
Our office is in central London , So whenever something goes wrong with this system , Let's go downstairs and have a look at those sandwich shops at the door , Can immediately find clues . This does not involve confidentiality at all . I order a sandwich and eggs every morning , There is no personal identity information in the order 、 There is no credit card information , So there is no need to encrypt . Even if the system is shut down for maintenance , I just need to go downstairs and go to the store myself , It doesn't matter at all . For such a simple system , use rails Such development is enough . Orders created by customers will remain for a period of time , And then it's the weekend to delete . All in all , This is naturally the simplest system , There is no need to force some complex functions into it .
I often mention another case . At that time, we built a trading system for our customers —— On hearing the trading system , Many people first think of “ High frequency trading ”, That is, the frequency is very high 、 The delay is very low . But most trading systems are not that complicated , It only needs to be handled every day 100 Tracking transactions for about times . So performance is not a big problem , Instead, the success rate of the transaction is the key , After all, each transaction is worth billions of dollars .
So the situation is completely different from the first impression , This kind of trading system is not in the same dimension as the high-frequency trading system . So we still need to return to the current reality , Think about how to solve 、 What features are introduced into the system , That's the essence .
InfoQ: Facing the current trend of digital transformation , Traditional and financial enterprises are often afraid of distributed architecture or micro service architecture in the process of digitalization , What advice did you give them ?
Rebecca: I often quote Martin Fowler An article written , Talking about the applicable threshold of micro service architecture . Yes , The microservice architecture is quite complex , There are applicable thresholds .
I am also in an article , Explained why we will never use microservices on technical radar . Although microservices do solve some specific problems , But the complexity of the architecture itself has greatly increased . As you mentioned, distributed architecture , They are really complicated . If other high-quality models with simpler structure are adopted , Many faults will not happen at all .
So organizations should first clarify what benefits they can get from the microservice architecture . These distributed architectures or micro service architectures are certainly valuable , But you have to prove that the extra complexity is worth it . Each microservice can be extended independently 、 Flexible function , These are real advantages , But it will also give IT The Department brings greater operational burden .
I've mentioned it before , Continuous delivery is the real core , So if you can't guarantee this , Micro services are meaningless . So if IT The Department is very mature , Then you can safely and boldly use the microservice architecture ; But if the original model is completely enough , Why bother yourself ? In case IT The Department can't decide the micro service mode at all , That will only make a mess of the good business .
So think about the benefits of microservice architecture , Whether it can play irreplaceable value in the organization . Weigh the benefits against the costs , I believe you have your own answers .
It is urgent to build responsible technology
InfoQ: You talked about building responsible technology at the technology radar summit , How to understand your speech theme ?“ Dangerous technology ” It doesn't appear in recent years , Before that , So why do you choose to talk about such a topic at such a time ?
Rebecca: For me, , The greatest significance of technology lies in , What changes can it bring to people's lives . I'm not tired of Technology , At most, I buy things according to the recommendations on Amazon , And I still like those recommended . There's really no big problem . But there are other key areas , For example, medical decision-making 、 The criminal justice system 、 Credit score 、 Fraud detection 、 Face recognition and so on , Errors related to this can have serious consequences , Naturally, we cannot take the corresponding technology lightly .
As a technician , We need to think about once we make a mistake , What kind of impact will it eventually cause . Can we bear the consequences ? Do we really know all kinds of data used in system training ? About prejudice , I often give such an example . Although prejudice is not necessarily malicious , But the impact still cannot be ignored . A hospital plans to train a set of models , Guide medical students how to design patients' postoperative recovery plan , In particular, is it necessary to send patients to the intensive care unit (ICU). result , The materials in the data set are biased against asthma patients , So it will automatically send all asthma patients to ICU.
The fact proved that , There is no information about asthma patients in this data set , These patients are treated under different medical systems . But the hospital did not take this into account when training the model , So the model knows nothing about asthma symptoms . Over time , If a hospital really uses this model directly , Then it will definitely cause a lot “ There is something wrong with the medicine ” The problem of . This model certainly has no malicious bias against asthma patients , But the hospital did not carefully screen the data set used in model training . We are in the actual work , I have been exposed to many systems with similar problems , That's why I think responsible technology is a very important topic .
Fortunately, we still have the collective memory of rational decision-making , It is not too late to correct it in time .
InfoQ: Under this topic , What technologies with negative effects do you think should be focused on and discussed ?
Rebecca: In fact, everything has negative effects . I think the biggest negative effect , In fact, it comes from the wrong decisions made because of the lack of understanding of the underlying data . It's not just making wrong decisions , It will even reinforce these mistakes 、 Make it more likely to make a wrong decision next time . After all, this is the basic principle of reinforcement learning .
But from another aspect , With the higher and higher level of Automation , The speed of problems in many systems is also getting faster . If there are human elements in the whole cycle , At least wait for them to press “ confirm ” Button 、 Or enter some instructions . But if it's machine to machine interaction , These delays will no longer exist . In this way, we get a feedback loop of rapid upgrading , Mistakes can make trading companies declare bankruptcy within minutes . This is the harm caused by algorithm errors , The whole combination will instantly disappear . And if someone is involved , These problems will not happen .
So we must establish such a more reliable automatic cycle , Otherwise, something unexpected will happen sooner or later 、 In a situation where we simply cannot predict how the automated system will react . Autonomous driving is a typical example . The goal seems simple : Let the car drive along the highway , Avoid other cars and keep in the middle of the driveway . Is it difficult ? However, some unexpected situations often occur during driving , For example, a deer suddenly jumped onto the road , Or someone broke the driving sign 、 The system cannot recognize it normally . For this kind of fully automated system , We must think comprehensively about the possibility of their mistakes , And set circuit breakers in the system , Ensure that it can be shut down before the unexpected consequences occur .
InfoQ: The negative effects of technology are often unpredictable , What management measures or frameworks do you think can be adopted for general enterprises 、 Tools make technology more responsible ?
Rebecca: exactly , That's why we released 《 Responsible technical manual 》, You can see it on our website . It includes a series of promotion technologies , It can help the development team effectively break their own inherent views , Look at the problem from the perspective of other different technicians . Yes , When discussing responsible technology , We will start from the problem .
We will find out what the problem is first , Let's see who the problem will affect , That is, the object we need help . We will also think from the standpoint of the affected , For example, what they may need ? What concerns may they have ? The methods in this manual are not all our own ideas , We just collected these ideas and integrated them , At the same time, indicate the corresponding source . With such rich promotion technology , We can look at our technology choices more comprehensively 、 Consider the possible impact of these choices . After all, technology itself has no position , Therefore, it is impossible to predict the unintended consequences after implementation .
This is the significance of the concept of responsible technology . As a technician , At least we have the responsibility to think further , Predict the unintended consequences that technology implementation may cause . There may be no consequences , Maybe it can improve the products and expand the target market , These are good results . But some unintended consequences may also hurt others , Maybe there are ways to prevent or alleviate it in advance , This is our responsibility as technicians .
“ Love of Technology , Let me come to today ”
InfoQ: I see that you have been exposed to programming since high school , What is the earliest opportunity to contact programming ?
Rebecca: I was studying algebra at that time , Our high school math teacher happens to be learning programming in a local university . He bought a textbook , I remember it was 1974 year , I happen to be in high school . He also gave me a textbook . At that time, there was a keyboard puncher in the school . do not know why , Our school has never opened this course , But I can write a program with this machine and input it into the punch card . after , The algebra teacher will take my card to the University , Try to run in class , So I learned to program . Rely on the textbook of algebra teacher to learn programming , I came into contact with programming for the first time .
InfoQ: How did you feel when you first programmed , Do you like it? ?
Rebecca: Yeah,I like it . I seldom recall the past , But I still remember the feeling of being able to solve problems with computers . This is a completely different way of thinking , It's really fascinating . Follow this way , We get the program , I especially like this feeling .
InfoQ: At that time , Do you think data will change the world ?
Rebecca: It's not so much data , Rather, technology can change the world , At that time, I believed that programming and technology could change the world .
Because these are real jobs , Can make things better . We can program accounts 、 Accounts receivable 、 Payroll and other jobs . For these simple structured tasks , At that time, people couldn't write formulas directly to solve them . But the program can , So this is a revolutionary leap 、 Can make the world a better place . It sounds a little naive , But we did think so at that time .
InfoQ: The technology category you are concerned about is also very comprehensive , How do you maintain your enthusiasm for learning and maintain your skills “ Forward looking ” Of ?
Rebecca: Mainly because I always have a group of partners who also love technology . Now I also host a podcast program , I especially like the process of recording podcasts , Because everyone can sit together , Discuss some technical topics of mutual concern .
In this hour , I will talk as the host 、 Feel others' excitement about some technical details . That's why we hold the technical radar conference twice a year , Here you can access a wider range of technical tools 、 Platform and method . This is how I keep my passion for Technology .
InfoQ: Keep the technology forward-looking , I guess the only trick is to keep learning 、 Never stop , Am I right? ?
Rebecca: you 're right .
InfoQ: As Thoughtworks Of CTO, Where are the challenges facing this role for you ?
Rebecca: When I first started working in technology ,CTO My identity is somewhat like a reporter , Just in the operating system 、 compiler 、 Just choose between databases and Applications . But now the technology field is too extensive , So reporter type CTO It's no longer true , Any specific type of technology will cause corresponding types of problems .
for instance , When we face the Internet of things , Then some problems can be directly ignored ; But when using cloud servers , The same problem has become crucial . The whole technological ecosystem is much more complex than it was . So I will start from the train of thought 、 Look at these technologies from multiple perspectives, such as effectiveness , Understand its connotation .
Thoughtworks The size of the company is not too large , There are 11000 Employees , But it is no longer small . So we must make our own choices 、 Maintain a rigorous and critical attitude towards technologies that may have a significant impact on customers . I've been worrying about whether some of my technical judgments will go wrong . I'm most afraid that the decisions I make will cause customers to complain , There must be no such thing .
All in all , As the technological environment becomes more complex , Customers use technology more and more widely . Over the years , We are used to deploying sensor networks in specific types of application scenarios , But in the past, these systems were only applicable to certain specific problems , Now we need to develop in the direction of universal application . in the capacity of CTO, I think it's really more and more difficult to choose technical solutions now .
InfoQ: Most developers / After a few years as an engineer , Will face the choice of whether to switch to technology management . Many people will feel confused about this , Their problems may include “ Do you want to transfer to technical management ”“ Whether I am suitable for technical management ” or “ If you don't manage , Is there a future to continue to develop in the front line ” wait . How do developers make the right choices , What should be paid attention to in different choices , Based on your experience ( Including your own experience and the experience of the team members you manage ), Give you some advice ?
Rebecca: This should be divided into several points . First , Some people are more like lone Rangers , I did it my way 、 Don't like dealing with teams . But some people especially like working in teams , But unwilling to undertake management affairs . It's all normal , But sometimes it will limit one's development space .
This is also the biggest obstacle for everyone to engage in technical management . As a developer , We are facing problems that can be quickly fed back : Did the code compile successfully ? Did you pass the test ? A very specific index can clearly measure the effectiveness of the work , Let us feel our progress . If the test fails , We'll go back and fix it , It doesn't matter. . But as a technology manager , This more immediate success began to fade , We may not be sure whether what we do is right for a long time . This is the most difficult for many people to adapt , Because they are used to doing the right thing 、 Instead of instructing others to do the right thing .
I think it really needs a major psychological change , But back to the question of maintaining technical enthusiasm you mentioned before . I think even if you are in the technical management position , We still need to maintain the technical level , This is more helpful for work . It's the only way , Technology managers can distinguish between good and bad technology , Understand the shortcomings of team members 、 What kind of problems they face 、 How to help .
So in my opinion , Whether it's pure technology or management , Maintaining enthusiasm for technology is the most important prerequisite .
InfoQ: In fact, male practitioners are in the majority in the developer industry , But you did CTO, There are also many works , Built extraordinary achievements , these years , How do you balance your career and family ? Can you give us some guidance or experience on women's growth ?
Rebecca: The development path of women in the technology industry is still very difficult . I'm a hard core geek , So I never thought of quitting , Weizhi runs all the way . But for many other women , These obstacles do affect their feelings 、 Even force them to quit . If you want to stick to it , The most important thing is the strong expectation of continuous learning of new things . in addition , Cultivate self-worth 、 The ability to ignore noise is also helpful .
What really keeps me going , Or the love of Technology . I like learning technology , Explore how technology is used .
I like learning new technology 、 Like to work with everyone . For what you love , We also have to make a trade-off , Figure out what is most important . What I regret is , Many male technical workers can stick to it out of generous pay and interesting work , At the same time, I hope there will be more room for improvement ; But for women , Their criteria have changed again , It seems that a good job suddenly becomes not so good . So I see women in technical occasions , Many people's first reaction will feel that the other party is a secretary ,“ Give me a cup of coffee. ” such . I have encountered similar situations , They feel that middle-aged women who appear in the office , It's definitely impossible to engage in technology .
So if everyone is as enthusiastic about technology as I am , Then please hold on , It's all worth it . But if in your eyes , This is simply a job , It's better to find a position with similar salary like project manager . exactly , In the technology industry, women will still be somewhat discriminated against and offended , There is .
All in all , Now the whole industry has done better and better in diversity and inclusiveness . But if all female friends are not enthusiastic about technology 、 Just want to find a good job , That may not be suitable .
InfoQ: Thank you very much for accepting our interview !
Rebecca: thank you .
Link to the original text :https://www.infoq.cn/article/weyXNTEtOFXa1sF6dqe5
边栏推荐
- [wechat applet] read the life cycle and route jump of the applet
- 【729. 我的日程安排表 I】
- C# TCP如何限制单个客户端的访问流量
- 深潜Kotlin协程(二十一):Flow 生命周期函数
- Is it safe to open a securities account by mobile phone? Detailed steps of how to buy stocks
- Is it safe to open an account for digging wealth stocks? How is it safe to open a stock account?
- 美国芯片傲不起来了,中国芯片成功在新兴领域夺得第一名
- Judge whether a number is a prime number (prime number)
- Allusions of King Xuan of Qi Dynasty
- Combined use of vant popup+ other components and pit avoidance Guide
猜你喜欢
ternary operator
【剑指 Offer】63. 股票的最大利润
激动人心!2022开放原子全球开源峰会报名火热开启!
Etcd 构建高可用Etcd集群
American chips are no longer proud, and Chinese chips have successfully won the first place in emerging fields
【性能测试】jmeter+Grafana+influxdb部署实战
Precision epidemic prevention has a "sharp weapon" | smart core helps digital sentinels escort the resumption of the city
兰空图床苹果快捷指令
DenseNet
[Jianzhi offer] 63 Maximum profit of stock
随机推荐
阈值同态加密在隐私计算中的应用:解读
Is it safe to open an account for digging wealth stocks? How is it safe to open a stock account?
齐宣王典故
ECU简介
7.Scala类
兰空图床苹果快捷指令
【Web攻防】WAF检测技术图谱
Cs231n notes (bottom) - applicable to 0 Foundation
[Jianzhi offer] 62 The last remaining number in the circle
外盘期货平台如何辨别正规安全?
C# TCP如何限制单个客户端的访问流量
IDC报告:腾讯云数据库稳居关系型数据库市场TOP 2!
什么是ROM
Wsl2.0 installation
Embedded-c Language-2
网上办理期货开户安全吗?网上会不会骗子比较多?感觉不太靠谱?
【剑指 Offer】66. 构建乘积数组
采用药丸屏的iPhone14或引发中国消费者的热烈抢购
What is ROM
Embedded -arm (bare board development) -2