程序员 rs编码_系统思考对于新编码员而言一如既往的重要

程序员 rs编码

程序员 rs编码

I was at the Microsoft BUILD conference last week and spent some time with a young university student who came prepared. I was walking between talks and he had a sheet of paper organized with questions. We sat down and went through the sheet.

上周我参加了微软BUILD会议,并与一个年轻的准备学习的大学生呆了一段时间。 我在会谈之间走来走去,他有一张有问题的纸条。 我们坐下来浏览了这张床单。

One of his main questions that followed a larger theme was, since his class in South Africa was learning .NET Framework on Windows, should he be worried? Shouldn't they be learning the latest .NET Core and the latest C#? Would they be able to get jobs later if they aren't on the cutting edge? He was a little concerned.

跟随一个较大主题的他的主要问题之一是,由于他在南非的课上正在学习Windows上的.NET Framework,他应该担心吗? 他们不应该学习最新的.NET Core和最新的C#吗? 如果他们不在最前沿,他们是否能够在以后找到工作? 他有点担心。

I thought for a minute. This isn't a question one should just start talking about and see when their mouth takes them. I needed to absorb and breathe before answering. I'm still learning myself and I often need a refresher to confirm my understanding of systems.

我想了一分钟。 这不是一个问题,只是应该开始谈论,看看他们的嘴何时吸引他们。 在回答之前,我需要吸收和呼吸。 我仍在学习自己,经常需要复习以确认我对系统的理解。

It doesn't matter if you're a 21 year old university student learning C# from a book dated 2012, or a 45 year old senior engineer doing WinForms at a small company in the midwest. You want to make sure you are valuable, that your skills are appreciated, and that you'll be able to provide value at any company.

不管您是21岁的大学生从2012年的一本书中学习C#,还是45岁的中西部一家小公司从事WinForms的高级工程师。 您想确保自己很有价值,您的技能得到赞赏,并且能够为任何公司提供价值。

I told this young person to try not to focus on the syntax of C# and the details of the .NET Framework, and rather to think about the problems that it solves and the system around it.

我告诉这个年轻人不要试图专注于C#的语法和.NET Framework的细节,而要考虑它解决的问题以及围绕它的系统。

This advice was .NET specific, but it can also apply to someone learning Rails 3 talking to someone who knows Rails 5, or someone who learned original Node and is now reentering the industry with modern JavaScript and Node 12.

该建议特定于.NET,但它也适用于学习Rails 3的人与认识Rails 5的人或学习原始Node的人,现在正使用现代JavaScript和Node 12重新进入行业。

Do you understand how your system talks to the file system? To the network? Do you understand latency and how it can affect your system? Do you have a general understanding of "the stack" from when your backend gets data from the database makes anglebrackets or curly braces, sends them over the network to a client/browser, and what that next system does with the info?

您了解系统如何与文件系统对话吗? 到网络? 您了解延迟及其如何影响系统吗? 从后端从数据库获取数据时,您是否对“堆栈”有一个一般的了解,将它们做成尖括号或花括号,然后通过网络将其发送到客户端/浏览器,下一个系统将如何处理这些信息?

Squeezing an analogy, I'm not asking you to be able to build a car from scratch, or even rebuild an engine. But I am asking you for a passing familiarity with internal combustion engines, how to change a tire, or generally how to change your oil. Or at least know that these things exist so you can google them.

挤压一个类比,我不是要您能够从头开始制造汽车,甚至不能重建引擎。 但是,我要求您对内燃机,如何更换轮胎或通常如何更换机油有所了解。 或者至少知道这些东西存在,所以您可以用谷歌搜索它们。

If you type Google.com into a browser, generally what happens? If your toaster breaks, do you buy a new toaster or do you check the power at the outlet, then the fuse, then call the neighbor to see if the power is out for your neighborhood? Think about systems and how they interoperate. Systems Thinking is more important than coding.

如果您在浏览器中输入Google.com,通常会发生什么? 如果您的烤面包机坏了,您是否要购买新的烤面包机,或者先检查插座的电源,然后检查保险丝,然后致电邻居,看看附近的电源是否断开? 考虑一下系统以及它们如何互操作。 系统思考比编码更重要

If your programming language or system is a magical black box to you, then I ask that you demystify it. Dig inside to understand it. Crack it open. Look in folders and directories you haven't before. Break things. Fix them.

如果您的编程语言或系统对您来说是一个神奇的黑匣子,那么我请您对它进行神秘化。 深入了解它。 打开它。 查找以前没有的文件夹和目录。 打破事情。 修复它们。

Know what artifacts your system makes and what's needed for it to run. Know what kinds of things its good at and what it's bad at - in a non-zealous and non-egotistical way.

了解您的系统制造了哪些工件以及运行它需要什么。 以一种非狂热,不自负的方式,知道它擅长于哪些事,以及缺点何在。

You don't need to know it all. In fact, you may dig in, look around inside the hood of a car and decide to take a ride-sharing or public transport the rest of your life, but you will at least know what's under the hood!

您不需要全部了解。 实际上,您可能会挖洞,在汽车引擎盖内四处张望,并决定在整个余生中乘坐拼车或公共交通工具,但至少您会知道引擎盖下有什么东西!

For the young person I spoke to, yes .NET Core may be a little different from .NET Framework, and they might both be different from Ruby or JavaScript, but strings are strings, loops are loops, memory is memory, disk I/O is what it is, and we all share the same networks. Processes and threads, ports, TCP/IP, and DNS - understanding the basic building blocks are important.

对于我所说的年轻人,是的。NETCore可能与.NET Framework有所不同,并且它们可能都与Ruby或JavaScript有所不同,但是字符串是字符串,循环是循环,内存是内存,磁盘I / O就是这样,我们都共享相同的网络。 进程和线程,端口,TCP / IP和DNS-了解基本构建块很重要。

Drive a Honda or a Jeep, you'll still need to replace your tires and think about the road you're driving on, on the way to the grocery store.

驾驶本田或吉普车,您仍然需要更换轮胎,并考虑在通往杂货店的路上行驶的道路。

What advice would you give to a young person who is not sure if what they are learning in school will serve them well in the next 10 years? Let us know in the comments.

将对不确定在未来十年中在学校学习的内容是否满意的年轻人提供什么建议? 让我们在评论中知道。

Sponsor: Manage GitHub Pull Requests right from the IDE with the latest JetBrains Rider. An integrated performance profiler on Windows comes to the rescue as well.

赞助商:使用最新的JetBrains Rider从IDE直接管理GitHub Pull Requests。 Windows上的集成性能分析器也可以解决。

翻译自: https://www.hanselman.com/blog/systems-thinking-as-important-as-ever-for-new-coders

程序员 rs编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值