自学与受过训练的专业开发人员有什么区别?

时间:2010-08-09 06:02:03

标签: c# asp.net-mvc

我已经使用C#/ ASP.NET(现在是ASP.NET MVC)开发了几年。我100%自学,我想相信我会尝试做最好的练习,但是......

我的问题是,您认为将自学成才的开发人员与经过培训的专业开发人员分开?你认为C#中的哪些技术是先进的 - 自学成才的开发人员可能没有自己学习?

更新

我喜欢到目前为止的回复,谢谢。以下是对我所寻找内容的一些澄清。

您认为专业开发人员使用自学成才的C#功能/技巧/用法可能不会(通常是自学成才的,首先是最容易学习的)?

7 个答案:

答案 0 :(得分:3)

我也是一名自学成才的开发人员,并且已经搬进了一家主要由“合格”开发人员组成的公司。我不否认我的许多同事都是我曾经合作过的最好的人,但是自我教导也让我不断提高自己,努力保持自己的水平。

根据我的经验,合格的开发人员往往会更好地掌握流程。他们有很好的结构化设计和实施方法。合格的开发人员通常也更有信心选择和想法并坚持使用它,借鉴他们的资格经验和他们自己的经验。这并不是说成为一名自学成才的开发者是件坏事。我遇到的自学成才的开发人员往往阅读得很好,并且善于尝试不同的解决方案以找到最合适的。

至于C#中的哪些技术,特别是训练有素的专业人员可能会有自学成才的人,我认为没有。然而,经过培训/合格的开发人员可能对设计模式,数据结构或开发方法等事情有了更好的理解,但是一个优秀的自学成才的开发人员也能够学习这些。

答案 1 :(得分:2)

让我们说,
来自100位开发人员的5位受到他们对技术的热情和自我教育的高度激励,他们认为他们认为最好的东西。
其他95名开发人员将接受这5位开发人员的培训,他们认为这是最好的技术。

最佳做法/技巧?:
IMO是开发软件产品的方法,已知这种软件产品可以实现高性能和可维护的系统 - 这些方式来自真实软件系统的开发经验,而不是培训课程的开发经验。

//后期编辑:

//主题回答简称
- > C#企业环境中的最佳实践?
他们使用与CSLA http://www.lhotka.net/cslanet/类似的框架,或者他们制作或使用基于以下概念的框架:业务实体,业务组件或业务对象。
在C#上更具特异性 - >没有什么只是与约定:)。

//无聊的回答:

- 我的背景
我在拥有170-200名员工的公司中使用ASP.Net MVC 1.0,现在我在同一家公司工作,但只是在ASP.Net上,我们几乎都在做ERP和大型网络应用程序。 我自学了ASP.Net MVC,当我在ASP.Net MVC工作时,我不得不为我团队中没有经验的其他成员进行小型培训。


根据我的逻辑,
  selft thaught是一个开发frelanching项目或创业公司的开发人员。
  受过公司培训的开发人员是指在拥有1至5万名员工的公司中工作的人员,并且在良好控制和计划的企业环境中使用java / .net。
因为即使你是自我感觉,在公司里你最终也会受到训练。

//技术
一个自我想法更多地考虑技术本身,而不是考虑:“3年后这个东西很容易维护,这对企业客户来说是好事......等等。 事情是,一个自我充实的人总会教自己最新的技术,而一个受过公司培训的开发人员通常接受“成熟技术”的培训,这个“成熟的技术”是“免费的”,公司董事会的每个人都认为这将留在这里至少10年份...
因此,公司中负责任的PM将强制他们的开发人员在项目中使用反转控制框架 - 一个成熟的:P。
虽然他自己很自然,因为他没有经历过大项目,但他们很想去编码。 我继续说一个大项目需要超过50个开发者的逻辑,这是一种很好的合作。 记住,如果你是自我感觉并在公司工作,你将接受培训......

//项目和扩展思维
一个知识渊博的开发人员不必思考,他必须非常清楚公司中所考虑的流程和实践。
企业PM总是会考虑可扩展性并拥有流畅的架构 一个自学成才的人应该这样思考: http://www.aorsi.com/wb/startups_die_for_not_having_customers_so_stop_thinking_about_how_to_scale/

//一点编码练习:


公司:
我们希望开发X和Y,好的让我们构建一个围绕解决方案的框架,可能像CSLA,业务实体或最坏情况的业务组件,我们创建3-tieers并将项目拆分为任务。
在企业环境中,你想要做到这一点,因为你总是在考虑维护,这很有趣,因为你会达到句子 - > “我们需要开发人员A,B,C来培训新人关于框架” - 所以你仍然需要一点点培训......
自我开发者:
直接潜入技术。


//编码练习对于自我训练和corocorate训练是相同的:
例如在ASP.Net MVC中 保持您的控制非常干净,体积小。
TDD越来越多地用于公司和自我开发中。

答案 2 :(得分:1)

自学和培训开发人员之间差异的主要模式是围绕理论意识,可用技术选择以及重要的相关技术和行业标准。这并不是说自学成才的开发人员无法与训练有素的开发人员匹敌,这只是一种趋势。每个特定于C#和ASP.NET的示例可能包括了解OO概念及其在不同场景中的应用方式,设计模式的应用,协议级别对TCP / IP和HTTP的理解,以及PCI-DSS的知识及其对Web应用程序开发。

答案 3 :(得分:1)

自我嘲笑..

  • 自我激励软件开发。
  • 对自己的工作充满热情。
  • 不要抱怨。
  • 对web和http的工作方式有了更好的了解[因为你问过asp.net mvc]。
  • 不是先解决问题,而是首先找到合适的问题。
  • 最终成为忍者开发者。

答案 4 :(得分:1)

所有开发人员都是自学成才的开发人员。培训课程是一个介绍。最好,最好的培训来自经验,任何专业开发人员都必须准备好不断“接受培训”。事实上,许多职位发布都明确将自我学习列为期望。

期望学校能够了解现实世界中使用的各种不断变化的技术是不合理的,因此他们正确地倾向于关注概念。但即使是模式和方法也不是一成不变的。什么是“最佳”模式可能取决于语言,框架或项目本身。同样,开发人员必须具备适应性和开放性,以学习新概念,甚至重新评估他们在学校教授的概念。

对于C#,一般的面向对象编程实践适用。我不认为C#本身通常是在学校教授的,但语言特定的功能通常只是方便层而不是已经使用的模式。例如,属性只是方法对,而事件只是观察者模式的实现。与所有语言一样,您应遵循其社区使用的约定,例如标识符命名规则。

如果您担心自己可能会忽略专业培训涵盖的某些主题,您可以浏览YouTube EDU顶尖大学的完整讲座:

http://www.youtube.com/education?category=University/Engineering/Computer%20Science

答案 5 :(得分:0)

可以自学编程语言,算法,OO原则和模式,XP和基于组的开发,可用性原则和测试等。

但他最有可能只学习编程语言。

即使在大学里,有些人只学习编程语言。

答案 6 :(得分:-2)

你可以教任何人接受培训的专业开发人员给他们一些模板和模式等但你不能教任何人对技术和自学的热情。 自学和动力只是做工的关键。

例如,如果我们将开发人员与food =>

进行比较

受过训练的专业开发人员 - 非自然快餐(麦当劳等)

自学成才的开发者 - 优秀的天然熟食家庭食品。

现在感觉不一样了?