现在程序员应该具备什么技能?

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

Solutions Collecting From Web of "现在程序员应该具备什么技能?"

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

下一步就是在你所在的地区( Monster , Craigslist , Joel On Software Jobs Board等)找到工作委员会 ,跟踪你所看到的技能。 这可能是一个相当好的表示,至少在你身边是什么“热”。

然后,你可以在这里查看堆栈溢出的标签(例如PHP和javascript ),看看人们提出的问题是否对你有基本的意义(不是你需要知道每一个答案,但如果听起来像希腊语,你可能没有准备好在这个主题中找到工作)。

为了更直接地回答你的问题:有PHP和JavaScript的网页工作,虽然大量的CSS和Ajax可能不会伤害,如果你朝着这个方向。 如果你想要一个普通的“网站管理员”类型的工作,设计背景将会有所帮助,但是请注意,这些工作往往不是面向编程的工作,因为大多数你可以在普通网站上做的东西通常比现成的CMS更好通常不需要重新发明轮子,除非你所做的网站在某种程度上具有很强的功能)。 正如其他海报所说的,如果你想要更多的公司,C#/ .NET可能是好的。

真正的问题是:你喜欢做什么样的工作? 什么让你快乐? 找到并做好,你会得到一份工作。 🙂

这真的取决于你打算做什么。

我相信以下技能对于所有类型的“程序员”来说都是重要的,不管他们选择什么语言。

  1. 准确的估计。 给你的老板准确的估计使他们的工作更容易,这使得你的生活更容易。
  2. 通讯。 能够有效地与所有与你共事的人沟通是必须的。
  3. 知道什么时候要求帮助。 就像你写的那样,你什么都不知道。 我宁愿让一个开发人员向同事寻求帮助,而不是花几天时间想出一个解决方案。
  4. 设计模式。 每个开发者都需要了解基本的设计模式。
  5. 知道一个好的脚本语言。 Perl,Python,Ruby,Bash,Powershell …随你选。

我认为开发人员可以拥有的最好资产之一是知道如何使用Google。 留在这里。

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

问题的另一半是决定从Google的结果中拿走什么。 CodeProject是一个很棒的网站,有时候你会碰到一个能解决你的问题的文章。 有时,您可以直接在您的项目中使用所提供的代码(我是通过一个Windows Forms LED数字控件来实现的),但大多数情况下,您只是拿走了本文的想法并将其用作适用于您的项目的指南。 有时你会看一篇文章,并决定这个人不知道他们在说什么。 能够评估现有的博客文章,图书馆和片段的质量,使用,适应或者仅仅是受到启发,是非常宝贵的资产。 你不需要了解所有的东西 – 你不可能知道所有的东西,你必须在某个地方绘制“魔术线条” – 但重要的是你能够说出看起来写得很好的东西, – 容易和容易出错。

所以,为了达到这个目的,我最好的建议就是使用你感兴趣的技术人员的信息加载你的RSS阅读器。你不必阅读每一篇文章,但是你会惊讶你可以通过放大他们所有的东西,并且每天看到头条新闻。

对我而言,像编程语言这样的东西并不是那么重要。 我从C ++开始,涉猎Java,在PHP工作了两年,并且已经为另外两个人生活和呼吸C#。 你可以在一周内学习一门编程语言。 但是,学习这种语言通常使用的框架和习惯用法可能需要几年的时间,所以对于任何这样的框架,你都可以确定在某个地方会有一些工作。 经过一段时间的反弹之后,你会发现一个你喜欢的(我的是.NET世界),但是你仍然可以知道其他人的方式。 所以选择你的毒药,但要继续阅读,留意那里的东西。 一个编程良好的程序员可以很容易地成为一个全面的程序员,因为他会知道如何去解决出现在他舒适区之外的新问题。

希望有一些是有道理的。

你的工作组合,很多图片,非常简短的描述。 PHP在企业界并不普遍,但确实存在。 您可能要考虑学习JSP或C#ASP.NET以保持选项的开放性。

不同的公司有不同的需求,网页设计商店将会把重点放在设计上,以及你可以多快建立一个网站(通常使用框架)。 公司应用程序将关注诸如错误修复,测试,支持多种语言,使用第三方控件等。

所有你需要的是完成学习和容易学习新事物的能力。 他们不能指望你知道他们告诉你做的一切。 但是,如果你能学好,那就没问题了。

这就是我在大学里所说的。 我认为这是对的。

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

如果您已经了解PHP和Javascript,请确保您的CSS和MySQL技能是最新的。 四个做一个不错的包裹。

在网站开发中,至少(我主要工作的地方)往往会在前端和后端技能之间划分界限。

我在这里讲的是编码,所以“前端”我的意思是像CSS和JavaScript的东西。 在设计和编码之间通常存在模糊的线条,所以在前端工作的人通常具有一定的编码技能和一些设计技巧。

后端往往是更多的Java或.net(最常见的网络,至少通过我看到的招聘广告)与一些Python,红宝石,PHP和其他。 后者的技能可能更多地将你置于一个更小的地方。 我的观察是,后端技能可能会好一点。 你可能会做得很好,去寻找一些可以做前端和后端的地方,然后转向更多的编程类型的工作。

当然,“成功”是一件非常私人的事情,所以请不要把上面写的东西都写下来,祝你好运。

对于一些实际的硬数据,这里是一个网站,按工作过程中的人气排名语言(还有其他) http://www.langpop.com/

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

(不过,不幸的是,很多经理人确信有一些解决方案,并且可以根据自己的背景使用什么样的流行语,但是你问程序员应该具备什么样的技能,而不是他需要知道什么样的技能。