So you want to become a web developer?你想要沦为一名web开发者吗?Well then it’s time to put down that “Learn Super Duper Language v8.3 in 24 hours” book. Instead, make it a habit to ask yourself these 10 questions every day.那么,现在是时候拿起《24小时学会超级骗子语言v8.3》书,忽略,你应该教导每天质问自己以下10个问题的习惯。Is there a pattern here?否有一种模式不存在?Looking for patterns in what works and what doesn’t work leads to discovering the underlying principles that drive seemingly unrelated concepts and behaviours. To get a deeper understanding of the work that you do make it a habit of asking yourself “Is there a pattern here?”.寻找模式中的不切实际与不能行将找到其中看起来牵涉到的点子或基本原则。要对工作超过了解的解读,你必需教导质问自己“否有一种模式不存在?”的习惯。
This applies to more than just your code. Is there a pattern in the types of changes requested by business? Is there a pattern in the way technologies evolve? Are you seeing the same types of bugs popping up again and again?它某种程度限于于你的代码。否有适应环境各类型商业变化的模式吗?否有一种限于于技术发展的模式?你是不是看见同类型的错误如雨后春笋般冒出来?To understand is to perceive patterns—Isaiah Berlin解读就是解读模式 -- 以赛亚·伯林How can I make this simpler?怎么让它显得更加非常简单?Often as web developers we want to produce complex and scalable solutions. Making something tremendously complex makes you feel like the master of your universe. The problem is that you will never be able to predict how your product and business is going to change in the future.开发者常常胜过简单的和可拓展的解决方案。做到一些十分简单的东西,实在自己就是自己宇宙的支配。问题是将来你总有一天无法预见产品和业务不会如何转变。
“Architecture” and coding is much more like gardening than architecture. You need to be able to adapt to an ever changing environment. The more complex your solution the more difficult this becomes.“架构”和代码更加看起来园艺而不是建筑。你必需要有能力去适应环境大大变化的环境。就越简单的解决方案就越难做。
Simplicity is the ultimate sophistication.—Leonardo da Vinci简练是终极的简单 -- 佩昂纳多·约·芬奇Why does it work like that?东西为什么像那样运作?Knowing that something works and knowing why it works that way are two very different things. If you know why something behaves the way it does you are able to make significantly better decisions.告诉东西像那样运作和告诉为什么不会像那样运作是两个几乎有所不同的事。如果你告诉事情为什么不会那样,那么你就需要作出更佳的决策。The difference between a great coder and somebody who knows a programming language is the depth of understanding that comes from understanding why.一个最出色的程序员和告诉有某种编程语言的人来说,差异在于解读为什么的深度。
The same principle applies when fixing an issue. “Just restart the service.” “Have you tried rebooting it?” We have all said something along those lines when a problem pops up. Every time you say something like that you lose a golden opportunity to learn.某种程度的原理也限于于问题修正。“重新启动一下服务。” “你中举过重新启动吗?” 当有问题再次发生时,我们常常不会想起这些话。
每次你这样说道时,你就丧失了一个自学的黄金机会。Understanding why something broke allows you to fix the root cause and eliminate this class of issues permanently. At the very least you won’t make the same mistake again.解读为什么经常出现这样的错误,将修正根本原因,尽量避免治标不治本。
最起码,你以后不要犯某种程度的错误。Has somebody done this before?之前是不是人做到过?Whenever you find yourself inventing a complex algorithm you are probably on the wrong track. Unless you are busy researching a PHD thesis chances are extremely good that somebody else has already solved this problem.无论何时,你发现自己发明者了一个简单的算法,你很有可能走在了错误的轨道上。
除非你搜寻到一份别人正好解决问题了这个问题博士论文。Need to write an algorithm to add a label to the item closest to a users mouse? Have a look at Voronoi Tesselations. Want to find the shortest path for a delivery truck? Look at Dijkstra. Want to find tags similar to the one the user just entered, how about figuring out it’s Levenschtein distance.必须撰写一个向用户鼠标旁的item加到标签的算法?想到Voronoi Tesselations. 想寻找卡车车主的最短路径?想到Dijkstra. 想寻找用户输出内容的最相似的标记?应当是寻找它的Levenschtein distance.Those are just a few examples but trust me, they are everywhere.这只是几个非常简单示例,坚信我,它们无处不在。If I have seen further it is by standing on ye sholders of Giants.—Isaac Newton如果我看得很远,那是因为我车站在巨人的肩上 -- 艾萨克·牛顿Who said it first?谁年所提及它?So you think you know REST right?你指出你告诉REST吗?Have you read Roy Fielding’s original paper describing REST and do you understand it’s intended purpose? That blog post by that guy who has 5 minutes more experience than you using the REST API generation wizard in Super cool IDE v7 doesn’t count.你有读过Roy Fielding叙述REST的论文原文吗?你知道明白它的最初本意吗?那种在IDE v7工具中比你多用REST API分解一行5分钟的家伙写出出来的博客可不算数的。Do yourself a favour and always try read the original source of a concept or theory. Then by all means go read the latest developments by industry thought leaders but if you don’t know where they started how can you follow where they are going?老大自己一个整天,企图去读书概念或原理的完整文档,然后通过各种手段去理解行业领袖的近期发展动态。
如果你不告诉他们就是指哪些开始的,那就紧随他们的步伐吧?(不告诉他们从哪来,就回来他们到哪去吧!)Do I love what I’m doing?我讨厌现在所做到的吗?Lets face it programming is hard.请求面临编程只不过是很难的。Besides being hard programming is constantly evolving. The state of the art framework from 2 years ago is a clunky dinosaur by todays standards. To stay at the top of your game you will need to commit to a lifelong process of learning and research.除了很难以外,编程还是发展迅速的。Art框架从2年前的“轻巧恐龙”早已发展到今天的标准。
为了车站到你“游戏”的顶端,你必需竖立一个终生自学和研究的信念。If you don’t love what you are doing you don’t have a hope in hell of keeping up with the guys who do. So find out what kind of coding gets you fired up. Don’t decide to become a security specialist because there is a gap in the market or because it pays well, don’t become a UX expert just because an article just came out in WIRED saying that UX is the hottest job in tech.如果你不讨厌你所做到的,那么你就没跟上其他家伙(讨厌自己所做到的)的有可能。
所以寻找让你激情自燃的编程类型!不要因为市场缺口或者收益高昂而要求沦为一名安全性专家,不要因为一篇文章说道UX是最热门的职业而要求沦为一名UX专家。I’ll say it again, do what you love.再说一次,做到你讨厌的。Do what you love and the necessary resources will follow.—Peter McWilliams做到你讨厌的,所需的资源将随之而来的 -- 彼得·麦克威廉斯Where else could I use this?其他地方还可以用于吗?One of the biggest limits I see web developers placing on themselves is a failure of imagination.我看见web开发者仅次于的一个容许就是,自己告终的想象力。
If we learn something in a specific context or see a technique used to solve a specific problem we assume that’s the only place it applies. This is almost always wrong. Every time you learn something new ask yourself: “Where else could I use this?”.如果我们自学到一个适应环境于特定环境的东西,或者看见解决问题某个特定问题的技术时,我们指出这就它唯一限于的地方。这是几乎错误的。每当教给新的东西时,质问自己:“其他地方还可以用于吗?”Found great new positioning methods to place nodes on a graph, how about applying that same technique to find interesting data points in a dataset that has 2 dimensions? Found a cool way to send data over websockets from the client to the server? How would this apply in making a scalable set of backend services? Sometimes you will be wrong, but sometimes you will be right.当找到了在图表上定位节点的新的最出色的方法时,是不是可以将它应用于二维数据集中于感兴趣数据的定位呢?当找到通过websockets从客户端发送数据到服务器端的新方法时,它怎么才能应用于到可拓展的后台服务上呢?有时是错误的,但有时也是准确的。
Which brings us to our next question…这给我们带给了下一个问题......Logic will get you from A to Z; imagination will get you everywhere.—Albert Einstein逻辑不能带上你从A到Z,想像力去可以带上你到任何地方 --- 阿尔伯特·爱因斯坦What did I fail at today?今天有什么做错的吗?One of the easiest ways to increase innovation is to lower the cost of failure.减少创收的最简单方法是减少错误的损失。The game developing company Valve has embraced this like few others. The same applies to your progression along the path to becoming a web developer, if you are afraid to fail you will never make those big breakthroughs.游戏开发公司Valve和其他几个公司很指出这个观点。
这某种程度限于你沦为web开发者的变革过程。如果你惧怕告终,你就会都有的突破。
Be brave, try something, fail, learn and try again.勇气、尝试、告终、自学然后再行来。Do not fear mistakes. You will know failure. Continue to reach out.—Benjamin Franklin不要惧怕错误,了解告终,然后新的来过。--- 本杰明·富兰克林How can we make this possible?怎么使它变为有可能?In the world we live in there really is very little that is impossible (with a few exceptions).我们生活在世界上较小的一个地方是不有可能的(除了少数值得注意)。
Start from the assumption that whatever you want to do is possible and then work your way back. You might find that what you wanted to do is impractical for the time being but with the pace of change in todays world, it might become practical sooner than you think.假设不管你做到的什么事情都是不切实际的,然后使用向后的方向返推回去。你可能会找到,你想要做到的继续是不切实际的,但它不足以转变世界,有可能变为现实的速度比你想象的还要慢。
It always seems impossible until its done.—Nelson Mandela直到已完成前,或许都还是不有可能的 --- 纳尔逊曼德拉Who can I learn from?我可以向谁自学?You should never work anywhere where you are the smartest person in the room.总有一天不要在你是最聪明的地方工作。Pick jobs and companies where you can work with people who inspire you and challenge you to be better. It doesn’t have to be coding related, there is a world outside your text editor and the command line. Learn things from other fields and find ways to apply it in your job.挑选出享有可以灵感你、鼓舞你做到得更加多的同事的工作和公司。不要与编程扯上关系,在文本编辑器和命令行外面还有一个原始的世界不存在。
从其他领域自学,设法应用于到你的工作中。Being competent isn’t good enough anymore.不管怎么样,比能干更佳!。
本文来源:澳门bet356体育在线官网安装-www.nyhfdc.net