程序员职业技能编写_程序员不需要的不需要编写代码的技能

程序员职业技能编写

You can build the best application in the world, but if you don’t know how to tell anyone about it why bother?

您可以构建世界上最好的应用程序,但是如果您不知道如何告诉任何人,为什么要麻烦呢?

Being a successful developer isn’t just about learning a language or two and knowing how to structure a git commit. There are a multitude of other skills that don’t involve writing code that are critical for developers on a daily basis. You can build the best application in the world, but if you don’t know how to tell anyone about it why bother?

成为一名成功的开发人员不仅要学习一两种语言,还要知道如何构造git commit。 还有许多其他技能,它们不需要编写对开发人员来说至关重要的代码。 您可以构建世界上最好的应用程序,但是如果您不知道如何告诉任何人,为什么要麻烦呢?

There are many skills that make a well rounded developer, a lot of them aren’t about complex algorithms or systems. A lot of these skills are about “soft skills” or relatively simple concepts like communication or writing. Being able to articulate ideas in a brainstorming session, draft technical outlines or even turn a screwdriver make you infinitely more flexible and agile than if all you did was eat, sleep and code.

有许多技能可以使开发人员更加全面,其中很多与复杂的算法或系统无关。 这些技能中有很多与“软技能”或相对简单的概念(如交流或写作)有关。 能够在集思广益的会议上表达自己的想法,起草技术大纲,甚至转动螺丝刀,这比吃,睡觉和编码时无穷无尽。

In this article I want to look at the elements of a programmer’s job that they don’t always highlight in school or on the internet. Some of these might seem obvious or even boring, but I promise you they are critical when it comes to being successful not only as a developer but as a professional. As you navigate the world of development, whether as freelance or full-time, all of these fundamentals are important and applicable.

在本文中,我想看看程序员的工作要素,这些要素在学校或互联网上并不总是突出。 其中一些可能看起来很明显,甚至很无聊,但是我向您保证,它们不仅对于作为开发人员而且对于专业人士而言都是至关重要的。 无论您是自由职业者还是全职员工,在您探索发展世界时,所有这些基本要素都是重要且适用的。

Let’s get started.

让我们开始吧。

通讯 (Communication)

This is by far the most important thing you could invest time into improving. Communicating clearly and effectively in a traditional business setting is one thing, but doing this as a developer is an entirely different beast. Chances are you’ll have to wear a lot of different hats when you talk to people. Some of these hats you may not be entirely comfortable with.

到目前为止,这是您可以花时间进行改进的最重要的事情。 在传统的业务环境中进行清晰有效的通信是一回事,但是作为开发人员来进行此工作则完全是另一回事。 与人交谈时,您很有可能必须戴很多不同的帽子。 您可能并不完全习惯其中一些帽子。

One day you might be presenting something extremely technical to a bunch of senior developers or close colleagues and the next you have to walk the product team through a new set of features and how they can help customers. Managing your audience is important. Nobody likes the curmudgeon engineer that’s always a prick during meetings and thinks they’re the smartest person in the room. On the flip side, everyone loathes listening to someone who is unprepared and sloppy.

有一天,您可能会向一群高级开发人员或亲密的同事介绍一些极具技术性的内容,而第二天,您将带领产品团队了解一系列新功能,以及它们如何为客户提供帮助。 管理观众很重要。 没有人喜欢在会议期间总是挑剔的curmudgeon工程师,并认为他们是会议室中最聪明的人。 另一方面,每个人都讨厌听那些没有准备的人。

“But what if I totally suck at talking?”

“但是如果我完全讨厌说话呢?”

Don’t sweat it! A lot of people hate public speaking and sometimes find themselves struggling to get points across in meetings. There are a lot of resources out there to combat this and even though it may sound silly to “practice speaking” at first, you’ll find it actually helps a great deal in the long run.

不要流汗! 许多人讨厌公开演讲,有时会发现自己很难在会议上发表意见。 有很多资源可以解决此问题,尽管起初“练习讲话”听起来可能很愚蠢,但从长远来看,您会发现它实际上有很大帮助。

Toastmasters International is a group dedicated to helping people improve their public speaking acumen. A lot of companies (especially those with a sales department) already have regular Toastmasters meetings setup that anyone can attend. If your company is smaller or you don’t have this you can always find a local meeting and get started honing your speaking skills.

Toastmasters International是一个致力于帮助人们提高其公共演讲敏锐度的组织。 许多公司(尤其是设有销售部门的公司)已经定期举办了Toastmasters会议,任何人都可以参加。 如果您的公司规模较小或您没有这个公司,则可以随时找到本地会议并开始提高您的演讲能力。

Another fantastic resource I highly recommend is to take a sales course. Yes, you read that right. I’m recommending an engineer take a sales course. These courses teach you a lot more than just how to close deals. There are a wealth of communication tips in these courses and they teach you how to read people and be persuasive. One awesome course I highly recommend is Chris Croft’s course on Udemy.

我强烈推荐的另一个绝佳资源是参加销售课程。 是的,你没有看错。 我建议工程师参加销售课程。 这些课程不仅可以完成交易,还可以教给您更多的知识。 这些课程中有很多交流技巧,它们教您如何读书和说服力。 我强烈推荐的一门很棒的课程是克里斯·克罗夫特( Chris Croft)的《乌迪米》课程

写作 (Writing)

Having solid writing skills is essential when it comes to tasks like outlining technical specs for a new feature or documenting a bug. There will be times where you’ll have to draft some lengthy documents and describe in detail how something works, but sometimes just being able to craft an elegantly worded email or message is an essential tool to have in your arsenal.

在完成诸如概述新功能的技术规格或记录错误等任务时,具有扎实的写作技巧至关重要。 有时候,您不得不起草一些冗长的文档并详细描述某些事情是如何工作的,但是有时仅能编写措辞优美的电子邮件或消息是您的武器库中必不可少的工具。

Being too terse or droning on and on can be just as bad as having written nothing at all. Make sure you try and strike a good balance between the level detail and getting your message across in a concise way.

过于简洁或不停地开车可能就像什么都不写一样糟糕。 确保尝试在关卡详细信息和简洁明了的信息之间取得良好的平衡。

Written communication is just as important as verbal when it comes to explaining, documenting and persuading.

在解释,记录和说服方面,书面交流与口头交流同样重要。

An example of persuasive writing I always find myself referencing is the email template from Amazon. Amazon Accidentally Sent Out Their Email Template is a fantastic piece by Aaron Schnoor detailing what Amazon’s email template looks like and how they stitch together elegant sentences and paragraphs to form a single cohesive message.

我经常发现自己引用的有说服力的写作示例是来自Amazon的电子邮件模板。 亚马逊意外发送了他们的电子邮件模板 Aaron Schnoor的精彩作品,详细介绍了Amazon电子邮件模板的外观以及它们如何将优雅的句子和段落拼接在一起以形成一条统一的信息。

If you’re finding yourself focusing more on longer, more technical documents then checking out the area of Technical Writing is a great start. Technical Writers have to master the art of conveying highly detailed and accurate information while still keeping things readable and interesting. Coursera has a great catalog of courses in this specialization for you to get started with.

如果您发现自己更专注于更长的时间,更多的技术文档,那么查看技术写作领域是一个很好的开始。 技术作家必须掌握传达高度详细和准确的信息的技巧,同时还要保持事物的可读性和趣味性。 Coursera在这个专业领域中有大量的课程目录,供您入门。

自我提升 (Self-improvement)

You can’t stop learning once you leave school and land a job. Within a year or two you’ll be stagnating and digging your heels in fighting every little change that comes your way. You’ve got to embrace Continual Improvement in even more than just the coding sense. You’ve got to embrace it personally for your career and personal development as an engineer. Outside of work, too!

离开学校找到工作后,您将无法停止学习。 在不到一两年的时间内,您将停滞不前,发掘自己的脚步,以应对自己遇到的每一个小变化。 您不仅需要在编码方面接受持续改进。 为了您的职业生涯和工程师的个人发展,您必须亲自接受它。 不在工作范围内!

Read the latest technology news, stay up-to-date on the latest libraries and frameworks coming out, enroll in an online course, read! Don’t get a job and just sit down. Be a sponge. Soak up everything you can from your colleagues, especially those that are more senior. Try and learn more about things you don’t understand. Is Machine Learning or “Big Data” scary and mysterious? Go find out why.

阅读最新的技术新闻,了解最新的最新库和框架,参加在线课程,阅读! 不要找工作,坐下来。 是海绵。 吸收同事的一切,尤其是那些年长一点的同事。 尝试并了解有关您不了解的事情的更多信息。 机器学习或“大数据”是令人恐惧和神秘的吗? 去找出原因。

One of the areas a lot of engineers struggle with is mastering Linux. Depending on your career path you may not have had to do that much with Linux. If you find you’re having a hard time working your way around the file system or performing simple tasks like changing permissions, I highly recommend picking up the following book:

精通Linux是许多工程师苦苦挣扎的领域之一。 根据您的职业道路,您可能不必对Linux做那么多的事情。 如果发现您在处理文件系统或执行诸如更改权限之类的简单任务时遇到困难,我强烈建议您阅读以下书籍:

This guide has helped me out a ton of times. You can easily Google the information inside, but having it organized in such a fantastic way with little bonus one-liners throughout is invaluable.

该指南已经帮助了我很多次。 您可以轻松地搜索内部的信息,但是以一种极好的方式组织这些信息,并且在整个过程中几乎没有额外的奖励。

Self-improvement doesn’t just stop at technology information. Having a solid foundation in topics like economics, history and even nutrition make you all the more unstoppable. You would be surprised how many parallels can be drawn between areas of software engineering and basic finance principles.

自我完善不仅止于技术信息。 在诸如经济学,历史甚至营养等主题上拥有坚实的基础,这会让您更加势不可挡。 您会惊讶于在软件工程领域和基本财务原理领域之间可以得出许多相似之处。

物理硬件 (Physical Hardware)

There are a lot of engineers out there who know almost nothing about computer or networking hardware. While you might be able to get by for a little while, it’s going to come back and bite you at some point. You’ve got to have at least a fundamental understanding of how things function. Having theoretical knowledge is fine, but there is no substitute for getting your hands dirty with real gear.

那里有很多工程师,他们对计算机或网络硬件几乎一无所知。 虽然您也许可以稍作停留,但它会回来并在某些时候咬住您。 您必须至少对事物的功能有基本的了解。 具有理论知识是可以的,但是没有什么可以替代使用真正的齿轮弄脏您的手的。

The common excuse of being “just a front-end engineer” doesn’t cut it. Your code is going to run on a physical computer at some point so you’d better know how it works.

成为“仅仅是前端工程师”的常见借口并不能解决问题。 您的代码有时会在物理计算机上运行,​​因此您最好知道它是如何工作的。

Try setting up a cheap server at home (no, please don’t go spin up an EC2 instance) and hosting something on it. Learn what it takes to get a machine running from zero and all the little things that happen in between. There are a plethora of used servers available for a reasonable price on Ebay.

尝试在家中设置便宜的服务器(不,请不要启动EC2实例)并在上面托管一些内容。 了解如何使机器从零开始运行以及介于两者之间的所有小事情。 在Ebay上有大量价格合理的二手服务器。

Playing around with a Raspberry Pi or some Arduino projects will also provide you with a great understanding and appreciation for the world of IoT, embedded systems and basic electronics. The bedrock of a lot of these projects is really basic electrical engineering. Knowing how a simple circuit operates, what different electrical components do is fascinating and of immense historical significance when it comes to computers.

Raspberry Pi或某些Arduino项目一起玩耍还将使您对IoT,嵌入式系统和基本电子设备的世界有深刻的了解和赞赏。 其中许多项目的基础实际上是基础电气工程。 知道简单的电路是如何工作的,不同的电子组件的作用令人着迷,并且对计算机具有巨大的历史意义。

If electrical engineering is something you’re interested in I highly recommend the following text:

如果您对电气工程感兴趣,我强烈推荐以下内容:

This is essentially a giant textbook, but it leans to towards the side of practical, straightforward knowledge on the subject. You will learn the key concepts in an easy to digest manner. You don’t be bombarded by complex mathematics and this text will serve you as a fantastic reference for years.

这本质上是一本巨大的教科书,但它倾向于该主题的实用而直接的知识。 您将以易于理解的方式学习关键概念。 您不会被复杂的数学轰炸,这本书将为您提供多年的出色参考。

Lastly, I think it is extremely important for developers to have a strong understanding of telecommunications and how networks function. If networking is a difficult subject for you and IP addresses consistently confound then I urge you to check out: Developers Need to Learn Basic Network Engineering.

最后,我认为对于开发人员来说,深刻了解电信以及网络如何运作至关重要。 如果网络连接对您来说很困难,并且IP地址始终令人困惑,那么我敦促您检查一下:开发人员需要学习基础网络工程

结论 (Conclusion)

The programmer’s toolbox is evolving and most importantly growing. There are more ways to deploy applications, services and hardware than ever before. The chances of your code passing through a myriad of departments on its way out the door is high. Being able to interface successfully with a variety of different audiences and personalities is crucial for success. Managing expectations through communication, drafting technical documentation for a public facing service and understanding the flow of traffic through a system are all in days work.

程序员的工具箱在不断发展,最重要的是在增长。 部署应用程序,服务和硬件的方式比以往任何时候都要多。 您的代码在通过门的过程中穿过众多部门的机会很高。 能够与各种不同的受众和个性成功地进行交互对于成功至关重要。 通过沟通管理期望,为面向公众的服务起草技术文档以及了解通过系统的流量都是日常工作。

By taking the time to sharpen not only your programming skills, but your soft skills as well puts you in an incredibly flexible position. The next time you notice yourself avoiding some element of work that falls under one of these categories, challenge yourself. Push yourself to explore not only the wonders of code, but of the rest of the professional’s toolkit.

通过花时间不仅提高您的编程技能,而且还提高您的软技能,可以使您处于非常灵活的位置。 下次您发现自己避开了属于这些类别之一的某些工作元素时,请挑战自己。 推动自己不仅探索代码的奇迹,而且探索专业工具包的其余部分。

Thank you for reading!

感谢您的阅读!

翻译自: https://medium.com/@tateg/skills-programmers-need-that-dont-involve-writing-code-ba3b56b41495

程序员职业技能编写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值