现在程序员应该具备哪些技能?

时间:2008-11-17 03:33:48

标签: windows

我一直在使用PHP,Javascript进行编程,并且在公司工作了几年。我想离开我想知道现在我需要什么技能才能成功。

9 个答案:

答案 0 :(得分:7)

你似乎好奇并且对学习感兴趣。这是资格#1;事情在这个领域变化很快,只有终身学习者才能生存。

下一步是搜索您所在地区的职位委员会(MonsterCraigslistJoel On Software Jobs Board等)并跟踪您看到的技能。这可能是一个很好的代表什么是“热”,至少在你附近。

然后,您可以通过标签检查堆栈溢出(例如PHPjavascript)并查看人们提出的问题类型是否对您有基本意义(不是您需要知道每个答案,但如果它听起来像希腊语,那么你可能还没有准备好在这个主题上找到工作。)

更直接地回答你的问题:那里有针对PHP和javascript的网络工作,尽管如果你朝那个方向大量使用CSS和Ajax可能不会受到伤害。如果你想要一个普通的“网站管理员”类型的工作,设计背景将有所帮助,但请注意,那些通常不是面向编程的工作,因为你可以在普通网站上做的大部分工作通常使用现成的CMS更好(你除非您正在做的网站在某种程度上具有很强的功能,否则通常不需要重新发明轮子。正如其他海报所说,如果你想要更多的公司,C#/ .NET可能会很好。

真正的问题是:你喜欢做什么样的工作?是什么让你开心?找到并做得好,你就能得到一份工作。 :)

答案 1 :(得分:6)

这实际上取决于你打算做什么。

我相信以下技能对于所有类型的“程序员”都很重要,无论他们选择何种语言。

  1. 准确估算。为您的老板提供准确的估算可以让他们的工作更轻松,让您的生活更轻松。
  2. 通信。能够与您合作的每个人进行有效沟通是必须的。
  3. 知道何时寻求帮助。就像你写的那样,你不可能知道一切。我宁愿让开发人员向同事寻求帮助,也不愿花几天时间提出解决方案。
  4. 设计模式。每个开发人员都需要了解基本的设计模式。
  5. 了解一种优秀的脚本语言。 Perl,Python,Ruby,Bash,Powershell ......接受你的选择。

答案 2 :(得分:5)

我认为开发人员可以拥有的最佳资产之一就是知道如何使用Google。和我在一起。

我与那些不知道如何搜索预先存在的解决方案的人合作过。当面对任何软件项目时,我发现问题的一半是通过简单地知道在Google中键入什么来解决的。我知道有很多不同技术的存在,它们是如何被使用的,以及我在其他人的博客上读过的关于它们的一般性喋喋不休,但我从来没有真正使用它们,也许永远不会。但是当我遇到符合他们描述的问题时,我知道要在Google中输入哪些神奇的词语,以及下一步为该特定项目开始学习的内容。

问题的另一半是决定从谷歌搜索结果中拿走什么。 CodeProject是一个值得探索的绝佳网站,有时你会发表一篇文章来解决你的问题。有时,您将能够直接在项目中使用提供的代码(我使用Windows Forms LED数字控件来实现这一点),但大多数时候,您只会删除文章的想法并将其用作适用于您的项目的指南。有时你会看一篇文章并决定这个人不知道他们在说什么。 能够评估现有博客文章,图书馆和片段的质量,使用,适应或仅仅受到启发是非常宝贵的资产。您无需了解所有内容 - 您我不知道所有的事情,你必须在某个地方画出“魔术线” - 但重要的是你能够分辨出看起来写得好的东西以及看起来很简单且容易出错的内容。

因此,为此,我最好的建议是只使用您感兴趣的技术工作人员加载您的RSS阅读器。您不必阅读每个帖子,但是你'你会惊讶于你可以通过缩放它们来获取多少,并且每天都能看到头条新闻。

对我而言,编程语言之类的东西并不那么重要。我从C ++开始,涉猎Java,在PHP工作了两年,并且已经为另外两个人生活和呼吸C#。您可以在一周内学习编程语言。但是,学习通常与该语言一起使用的框架和惯用语可能需要数年时间,因此对于任何此类框架,您可以确定某些工作涉及到它。在弹跳一段时间之后,你会找到一个你喜欢的(我的是.NET世界),但你仍然会知道你的方式。所以选择你的毒药,但继续阅读以了解那里有什么。一个好的索引程序员可以轻松地成为一个很好的舍入程序员,因为他知道如何处理在他的舒适区之外出现的新问题。

希望其中一些有意义。

答案 3 :(得分:4)

您的作品组合,大量图片,非常简短的描述。 PHP在企业界并不常见,但确实存在。您可能需要考虑学习JSP或C#ASP.NET以保持打开选项。

不同的公司有不同的需求,网页设计商店将重点关注设计以及制作网站的速度(通常使用框架)。企业应用程序将关注错误修复,测试,支持多种语言,使用第三方控件等。

答案 4 :(得分:1)

您所需要的只是完成学习并轻松学习新事物的能力。他们不能指望你知道他们告诉你要做的一切。但如果你能学得很好,那就没事了。

这就是我在大学里被告知的。我认为这是正确的。

答案 5 :(得分:0)

学习测试驱动开发和单元测试,并掌握一些JavaScript库的扎实知识。

答案 6 :(得分:0)

如果您已经了解PHP和Javascript,请确保您的CSS和MySQL技能是最新的。这四个包很好。

答案 7 :(得分:0)

在网络开发方面,至少(我主要工作的地方)通常会在前端和后端技能之间进行划分。

我在这里谈论编码,所以“前端”我指的是像css和javascript这样的东西。设计和编码之间通常存在模糊的界限,因此在前端工作的人通常会有一些编码技巧,有点设计技巧。

后端往往是更多的java或.net(最常用于网络,至少是我见过的招聘广告),有点python,ruby,php等。可能后者的技能会更频繁地落在较小的地方。据我所知,后端技能可能会更好一些。你可能会好好寻找一些你会做一些前端和后面的东西,然后转而去做更多编程类型的工作。

当然“成功”是一件非常私人的事情,所以请不要理会上面写的所有内容,祝你好运。

对于一些实际的硬数据,这里有一个网站按职位发布中的受欢迎程度对语言进行排名(还有其他网站) http://www.langpop.com/

答案 8 :(得分:0)

基本上,你需要明白编程并不是一个懒人的专业,即使它 太久坐不动了。它需要思想,它需要练习,并且需要耐心。如果你认为你可以学习一堆食谱方法并突然成为一名程序员,那你就错了。

(不幸的是,很多管理人员确信菜谱解决方案,并根据你可以背诵的流行语来招聘。但你问过程序员应该的技能有,而不是他需要知道被雇用。)