程序员职业技能编写

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

程序员职业技能编写

http://www.taodudu.cc/news/show-2894455.html

相关文章:

  • 归因分析_归因分析:如何衡量影响? (第2部分,共2部分)
  • (三十三 :2021.01.12)MICCAI 2016 追踪之论文纲要
  • 一个挑战 ViT,MLP-Mixer 的新模型 ConvMixer:Patches Are All You Need? [Under Review ICLR 2022]
  • 华为云“云上先锋”·AI主题赛(垃圾分类)-Top7复盘
  • 一种崭新的长尾分布下分类问题的通用算法|NeurIPS 2020
  • 2022智源大会议程公开 | 神经计算与生物智能论坛
  • Chrome浏览器怎么保存整个网页为图片
  • 谷歌安装插件Fatkun 批量保存网页图片
  • 将网页保存为图片--修改
  • 如何保存网页上的图片原图,大图
  • ubuntu快速保存网页图片
  • python 保存网页图片到本地
  • Python 保存 网页上的图片
  • 鸿蒙系统手机电脑互传文件,【中兴GrandS评测】手机、电脑、好友文件自由互传-中关村在线...
  • 手机与电脑数据互传
  • android手机传文件,Android手机间如何高速互传文件?
  • vivo手机互传的文件怎么找到_基于 P2P 的在线文件传输工具,电脑与手机互传文件...
  • 两部手机怎样才能把数据都传过来_新旧手机怎样互传数据?
  • iphone 传android,安卓和苹果手机怎么互传文件_安卓与苹果手机之间互传文件的方法教程_3DM手游...
  • 服务器如何与手机互传文件,两个云服务器怎么互传文件
  • ios android手机传照片大小,实用:Android与iOS手机互传资料小妙招
  • 电脑与手机文件互传机制
  • iphone与android传文件,安卓与苹果手机之间互传文件的方法教程
  • 手机电脑互传文件
  • 苹果手机互传一键换机
  • linux如何连接手机传文件,Ubuntu和手机通过蓝牙互传文件
  • android 手机资料互传,不同系统手机资料互传so easy
  • linux 手机互传,轻松实现Linux笔记本和手机、PDA互传文件(转)
  • MALLOWS模型平均-R代码
  • DataX Transformer 源码分析及 UDF 扩展与使用

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

  1. python程序员搞笑段子_程序员才能看得懂的段子,内含表情包,吃饭的时候别点!...

    原标题:程序员才能看得懂的段子,内含表情包,吃饭的时候别点! 很多网友都认为程序员必定是非常古板,整天只会敲键盘的码农.其实这种看法是非常片面的.真正优秀的程序员,不仅精通程序的编写,还是某些领域的专 ...

  2. 程序员社交网站_程序员不必在社交上感到尴尬。 这里有10项社交技巧可以改善您的职业。...

    程序员社交网站 If you work as a software developer, most of your workday is spent dealing with people. 如果您是 ...

  3. 程序员搞笑对联_程序员的春节对联,拿好不谢!

    原标题:程序员的春节对联,拿好不谢! 请欣赏"程序员春节对联集锦" 对联零 上联:蒸蒸日上烫烫烫, 下联:年年有余屯屯屯: 横批:码到功成 (@张今天 投稿) 对联一 上联:思前想 ...

  4. python 程序员专属情话_程序员最浪漫情话

    程序员往往城还没攻下来,我们的头发就先掉下来! 程序员最浪漫情话: 段子一 "等我敲完这行代码,就和你离婚!" 他头也不抬的说 听完之后,她心里暖暖的 她想,这可能是最长情的承诺. ...

  5. python 程序员专属情话_程序员专属情话 程序员的土味情话

    程序员专属情话 程序员的土味情话 作者: cxy 更新日期: 2019-12-05 21:50:53 阅读: 1400 理科男被大多数女生划分为直男,程序员也一样.他们的直当然也是有原因的,心思当然没 ...

  6. 适合程序员的耳机_程序员编程时都戴耳机?他们在听什么?

    听说很多程序员工作时都戴耳机?他们在听什么呢? 观点一:非诚勿扰,想静静 1.啥也没听,只是带着耳机而已.只是想告诉别人不要打扰我,选择性屏蔽一些讨厌的人说的话,不回答他. 2.在听笑话或者有声小说. ...

  7. 30岁后学oracle还有前途吗,程序员入门学习_程序员30岁后的出路

    下面w3cschool给程序员小伙伴们有些程序员学习编程一上来就想着月薪1W+以上,这样的学习过程会非常痛苦,很 0.C++入门学习方法 首先要对C++有学习基础语法,熟悉调用各种库函数,这时你便成为 ...

  8. 进程程序替换((>_<)子进程跑了),模拟编写一个入门shell

    目录 进程程序替换 1.进程替换的原理 2.怎么来另起炉灶执行另一个程序 ①execl ②execv ③execlp ④execvp​编辑 ⑤execle ⑥execvpe 和 execve 3.执行 ...

  9. mysql实现程序的动态链接_程序的链接和装入及Linux下动态链接的实现

    链接器和装入器的基本工作原理 一个程序要想在内存中运行,除了编译之外还要经过链接和装入这两个步骤.从程序员的角度来看,引入这两个步骤带来的好处就是可以直接在程序中使用printf和errno这种有意义 ...

最新文章

  1. php仿微信底部菜单,Android实现简单底部导航栏 Android仿微信滑动切换效果
  2. java获取jsp页面参数_jsp页面中获取servlet请求中的参数方法总结
  3. mysql建帐号数据库出现反斜线_[MySQL FAQ]系列 -- 账号密码包含反斜线时怎么办
  4. 云服务器如何导入文件,如何将文件导入云服务器中
  5. zcmu1734: 18岁
  6. Linux之加密和安全
  7. 使用Mocks进行需求驱动的软件开发
  8. bootstrapt学习指南_TensorFlow 2.0深度强化学习指南
  9. nginx tcp转发_Nginx性能优化技巧
  10. [环境] OpenAI gym经典控制环境CartPole-v0 介绍
  11. 排序——归并排序和快速排序
  12. 对于未定义为 System.String 的列,唯一有效的值是(引发异常)。
  13. 杭州第二机场选址的三个备选方案仁和、瓶窑、塘栖中选择瓶窑的理由。元芳,你怎么看?
  14. 新浪微博登录html代码,新浪微博登录仿DiscuzX1.5论坛QQ登录样式 - YangJunwei
  15. 计算机社团自评报告怎么写,社团自我评价
  16. 哪种蓝牙耳机好用又实惠?游戏蓝牙耳机推荐
  17. 信捷PLC的C语言程序写法例子
  18. php后门工具_教你识别简单的免查杀PHP后门
  19. 《你好啊,程序员》学习笔记
  20. Struts tags详解(Data tags)

热门文章

  1. 武汉坚守第六十三天——七九已满疫未退,印度大法上棍棒
  2. 微分方程数值解法(PID仿真用一阶被控对象库PLC算法实现)
  3. android启动微信应用程序,android 从微信分享的网页中启动APP
  4. 安装Adobe软件时显示:您的浏览器或者操作系统不再受支持,您可能需要安装操作系统的最新更新。---部分软件解决方案(只支持Adobe Creative Cloud包括的软件)
  5. c语言中优先级劣后级,基金优先级与劣后级之间的区别是什么?
  6. ScrollView水平滑动条选中条目的居中显示
  7. 赛效:WPS何把文档里竖排的文字变成横排的
  8. 为什么很多人认为测试就是“鼠标点点点”?
  9. EHIGH恒高:大话UWB技术之TDOA与TOF两种技术方案对比
  10. 中层管理者如何提高管理能力?