对程序员来说重要的非技术课程吗?[关闭]


22

您为程序员建议什么样的非技术培训课程?例如公开演讲课程,演讲技巧,英语,商务写作或与编程或软件工程本身无关的任何事物。

Answers:


45

与交流相关的任何事情,例如公开演讲,都将是很棒的。如果您能够与您的团队和所构建软件的利益相关者进行良好的沟通,那么您将被视为更有价值的程序员。缺乏沟通能力绝对会阻碍您在该领域的成长。


+1,然后我将技术写作(不一定是商务写作)添加为该“交流”答案的另一个有价值的子集。
BlairHippo 2010年

+1,我遇到了那么多优秀的程序员,他们胆怯不愿带头,只是因为他们不敢在人们面前讲话。这对他们和整个行业都是一个损失。
Zekta Chan 2011年


22

图形设计。试试这个入门:http : //net.tutsplus.com/articles/lectures/design-for-developers/

一件软件(以及所有一般产品)不仅需要可用和功能,而且还需要“漂亮”才能销售,这是可悲的事实。


9
没有意义-任何程序员都可以毫不费力地进行图形设计。例如,我刚刚发明了一种出色的配色方案-青色和洋红色!(坦白-我认为IBM首先是为CGA图形发明的)。专业的图形设计师对程序员如此敬畏,以至于他们使用诸如“程序员颜色”之类的术语来表示对他们的深刻尊重。
2010年

2
有关该主题的形式知识可以克服并复制那些灵感。我敢打赌,还有很多图形设计师说“任何图形设计师都可以创建网站”,因为他们有一些Flash知识,可以使用Dreamweaver并在PHP上使用所有脚本编写的工具。但是你有一点。
dukeofgaming 2010年

7
+1在这里同意公爵。许多程序员认为他们可以进行图形设计。但是,专业的图形设计师和程序员之间也存在巨大的差异,他们还认为他可以只管设计。进行图形设计方面的一些正式培训是不错的选择
Jagmag

2
将强大的设计技能与强大的开发技能结合在一起非常有用。技能是互补的。意识到设计背后的科学也很重要。这并不全是创意和艺术气息。有一个原因是使用适当处理的类型的页面更容易。
安迪·弗莱明


18

商业

我刚从大学(包括几年前)刚毕业的人们看到的最大问题是,无论他们是否帮助企业赚钱,他们都希望编写出色的应用程序。为了真正成为每个人眼中的摇滚明星开发人员,您需要成为一名出色的开发人员(其他开发人员注意),并赚钱或省下公司钱(供业务人员注意)!当您同时做到这两者时,您不仅会准备好获得巨大的职业机会,而且商人也会开始倾听您的声音!为什么?因为您提供价值。即使是编写有趣的应用程序的初创公司,其最终目标也是最终创造出可盈利的东西。


为此,我为此+1。我偏离了程序设计,而花了几年时间担任产品经理,而我回来后发现,它令其他开发人员几乎不了解或不关心销售某种软件的能力而感到震惊。我不再谈论新发布周期中的功能,而是开始谈论业务收益。
凯文(Kevin)2010年

1
最佳短片(太短自身)的介绍了解你的老板对我来说是你的CEO由拉姆·查兰想要你知道- amazon.com/What-CEO-Wants-You-Know/dp/0609608398/... - -您可以在15分钟内阅读,但是可以帮助新手或年轻开发人员认识到“大图景”实际上是关于什么的。
mctylr 2010年

+1 Narrow只专注于技术工作,却忘记了对业务术语的关注,沉没了很多好项目。想一想其他人(尤其是客户的)制造出色的软件。
Zekta Chan 2011年

12

断言技巧- 这里要注意的是,“断言”与“侵略”没有任何关系。

虽然这属于“软技能”的总体范畴,但我发现这种培训非常有益,尤其是对于程序员而言。

根据我的经验,我碰到了太多的程序员,他们宁愿避免与某人打交道,因为他们的天性甚至可能使他们更好地了解这些话题,这对整个团队都是有害的。

这样的课程主要侧重于让人们发表自己的观点,并为他们提供一些基本技巧,以确保您的观点/观点不会因为团队中的一些大人物而过分地表达自己的观点。跨越。


9

逻辑。代数 统计。结石。英语。批判性思维。物理?行为分析?

这取决于您想进入什么领域,以及您天生擅长的领域。有很多课程可以使您受益。许多答案都建议了一些沟通课程,您似乎已经知道了这些-除此之外,还需要认真思考如何应用编程并选择与您的目标互补的课程。


其中许多是技术性的,这不是问题的根本。
David Thornley,2010年

可以说统计,英语,行为分析(心理学/社会学)不是通常与编程相关的“技术”主题。如果每个程序员都阅读了《如何用统计说谎》并且了解了足够的心理学知识,以了解并非每个人都像他们那样思考和行动,我相信世界可能会变得更好。
mctylr 2010年

我认为“技术”是指实际上使用程序和计算机进行工作……
卡森·迈尔斯,2010年

物理?你疯了吗?在其服务器端时代,不要理会c ++!
IAdapter 2011年

7

版式

排版是一个非常重要的被忽视的领域!了解字体可以帮助您了解如何制作更多可用的软件以及使其外观更好!即使您不参加任何课程,也可以继续学习并能带给您一定的优势。

伟大的印刷书籍:

用类型思考

印刷风格要素

在线文章:

http://en.wikipedia.org/wiki/印刷术

http://www.informationarchitects.jp/en/the-web-is-all-about-typography-period/


我完全同意,但我认为这是图形设计的一部分,也已列出。
2010年

没错,但我想特别指出这一点,因为我认为它是设计中最重要的部分之一。
安迪·弗莱明

4

心理学。
软件开发人员需要了解激励人们的动机以及他们为什么以自己的方式行事。


并非所有开发人员都在microsoft = P工作
dan_waterworth 2010年

@dan_waterworth,我不同意,我认为所有程序员都有责任让他们的用户变得人道。同样,了解一些心理学也可以帮助一些开发人员与组织中的人员进行交互,这些人员并不是纯粹地抽象或专注于知识,而是对组织的生存至关重要。当然,异常心理学可以因其自身的自我诊断而享有。
mctylr 2010年

@mctylr,好吧,这是个玩笑,但是...没关系。
dan_waterworth 2010年

3

根据您所说的“非技术性”的意思,我投票给技术写作技能。马克·弗里德曼(Mark Freedman)提到(人际)沟通技巧是正确的,但是技术写作技巧对开发人员也很重要。

如果没有其他问题,则您添加到代码中的每个注释都是技术写作的摘要。此外,无论您的口头沟通能力多么出色,对他人理解的要求的书面解释都是非常重要的-没有它,即使最初的口头沟通是完美的,您和您的老板/客户对什么的理解您应该做的事情将不可避免地随着时间的流逝而朝着不同的方向漂移。


3

人格测试和分析

了解个性,倾向和化学反应很重要。它可以帮助您了解如何以个人和团队的方式提高生产力。

阅读更多:

http://en.wikipedia.org/wiki/Personality_test

Myers-Briggs类型指示器

Keirsey气质分选机

光盘配置文件


您是否选择避开具有强烈I?T的人?个性不适合您目前的团队?或者,您是在歧视自闭症患者,而该患者基本上被迫采用类似于I?T?的风格?在IIRC中,我的I和T得分最高,对N和P有偏见。许多患有自闭症的人都有类似的模式,导致其他人对残疾的反应不尽相同。极端的性格内向(不是外向)和思维(不是感情)并不能完全帮助我交朋友。大多数团队会声称我不适合该特定团队。
2010年

1
+1我喜欢这个,在招聘时非常有帮助-确实,我知道潜在的雇主对所有应聘者(通常也是基尔西)运行Myers-Briggs。就我个人而言,我略有不同,因为我倾向于跨越国界-J总是比I强,我比E强,如果问题与实际工作有关,通常去TN,而对于牧养则去SF。
2010年

我不同意。虽然我知道心理测验对于个人而言可能是有用的练习,但在我看来,其价值在人力资源招聘中就其有效性而言是过高的。我认为,真正的核心价值在于理解/记住,认可和学习与他人性格一起工作(即合作或利用他人的特长),并学会利用自己的特长。即不是每个人都像您一样思考/工作/行动,但是当您以适合自己个性的方式(在合理和健康的平衡之内)工作时,您的工作效率最高。
mctylr 2010年

3

基本财务课程 -该类别有点宽泛,但对于在一家不生产软件作为产品的大公司工作的大多数开发人员来说,必须编写一些执行财务计算的代码的可能性非常大。同样,随着您开始职业发展,您可能会被要求为团队制定基本预算。最后,他们往往也会教给您有关家庭预算的有用信息,以便您知道在哪里投资以获取短期收益和长期稳定(即您的退休帐户)。


3

据我说绘画和烹饪。它使我们变得更耐心,并让我们放松。


4
+1是提及爱好。只关注“有用的”知识可能会使人们变得狭narrow,而业余爱好可以解决这一问题。
Goran Jovic 2010年

2
  • 外语!
  • 我在大学里开设了一门名为“计算机科学与人性”的课程,其中谈到了作为开发人员的责任(例如,隐私问题)。
  • 工商管理(例如会计,人力资源)使您可以更好地了解老板和客户。
  • 电子使您更好地了解自己的工具。

2

经济和商业,因为这就是程序员有工作的原因。另外,了解这些内容几乎总是会使非技术经理和企业主眼花azz乱,因为他们习惯于仅听取程序员和系统管理员的技术演讲。


2

它在技术和非技术之间起着共舞的作用,但是如果您的学校提供​​类似于人机交互(HCI)或与用户界面设计相关的其他功能的产品,请继续学习。那是一些有价值的东西。


2

我很惊讶没有人提到提高英语技能。

我对获得的简历/简历几乎难以理解的数量感到惊讶。

如果您以纯粹的技术人员起家,那么您不太可能会使用相同的技能来结束自己的职业生涯。有时候,您需要编写一份报告(或许多报告),并且需要在纸上写下很多单词。

您可能会遇到的问题是实际上找到足够好的课程。


1

计算专业人士应了解许多学科,实际上,像大多数企业咨询专业一样,我们的专业要求我们在所遇到和分析的所有领域都具有广泛的知识。

但是,法律是我必选的法律。

我们的专业处于瞬息万变的法律框架的前线,知识产权是众所周知的例子,但是每天都会出现各种各样的法律问题。法规遵从性,有效和无效的合同条款,信贷法(如果您从事电子商务),数据保护。

我认为所有IT专业人员,当然还有高级软件工程师,都应该接受基本的法律培训,并遵守所在领域的适用法律。我的大学已将其列入必修课程,供硕士生学习,该课程定期派上用场。通常的做法是,“法律部门会处理”,是的,他们可能不知道由软件创建的问题,除非那里的员工有足够的意识将其通知给他们-另外,通常是有他们的来源头放在砧板上。


1

估算值

我们讨厌它,因为我们很少有人了解它。理解它并没有那么痛苦。


1

虽然我不会质疑书面和口头交流技巧的重要性,但是如果您有机会参加人机交互课程,我相信您会发现它非常宝贵。我在工作中遇到的一些最困难的问题通常涉及尝试找出用户甚至不认识自己时想要的东西。在我看来,开发直观的用户界面非常好并且完全符合用户的期望是非常困难的。


1
  • 我认为您应该有良好的业余爱好,因此最好学习运动(户外运动也要运动)
  • 学习音乐或尝试写作诗歌,散文,戏剧剧本(学习这些东西会提高您的创造力,我认为这对程序员或任何人都是最需要的)
  • 数学(强烈推荐)
  • 公众演讲和沟通技巧


0

这里有一些答案建议图形设计或版式设计,并假设这将有助于创建更好的GUI并提供更好的用户体验。

一些大学实际上提供了GUI人机工程学课程,这可能会更好些,尽管我不确定您是否可以考虑“非技术性”;)


0

辩论。

它可以帮助您学习如何研究和发展观点,这将极大地帮助您为所工作的组织采纳您的想法。


0

我认为,这取决于您想如何生活。但是这里有一些很好的一般的:

  • 小组交流。作为软件开发人员,您可能会在大多数职业中以小组形式工作。了解团体之间的互动方式以及团体内部的交流方式将是有益的。
  • 经济学。我将推荐一门工程经济课程,该课程涵盖诸如现值和未来值分析,回报率,生命周期成本,项目决策等主题。但是,即使只是微观经济学或宏观经济学,也应采取某种经济路线。
  • 组织行为。我参加了一个OB课程,这是一门应用心理学和社会学课程,主要学习心理学和社会学概念,并将其应用于组织的工作方式。
  • 技术写作或技术手册写作。尽管任何形式的写作课程都是一个好主意,但是技术写作不仅可以提高您的写作技巧,而且可以帮助您创建技术文档,而您可能正在工作中。

0

任何体面的高质量工作与生活平衡课程,讲习班甚至书籍都可以帮助强调重要性,并提醒我们(我们所有人)从长远来看,保持平衡的生活有多重要,这样我们就不会结束精疲力尽,离婚,患有严重的抑郁症并解雇。

在糟糕的经济时期也可能是更重要的,因为巨大的压力的欺骗自己,这种平衡对于什么是通常一个虚假的希望(如果情况真的是岌岌可危,这将主要无论如何最终失败)。

避免进行任何过于花哨的培训或研讨会,或者避免以速战速决的方式进行培训,但是在我看来,简单的以常识为导向的平衡是最好的选择。


0

1 音乐
2 语言和沟通技巧 + stackexchange实施的所有概念站点都值得参与



0

摄影.....

对我来说挺满意的,因为它使我感到高兴,有时我认真地认为这是替代载体。

因此,更笼统地说,除了您感兴趣的计算机之外的所有内容。

PS:学习其他语言完全不是一个坏主意。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.