阅读更多

4顶
4踩

编程语言

         除多年编程经验之外,还有什么能区分一个程序员是“老手”还是“新手”?编程技巧当然是一部分,但它绝非是全部。



  聪明的程序员可能比他们的同行拥有更出众的编程技巧,但那不足以说明他们就是“老手”。同样,仅仅因为拥有10年编程经验也并不意味着他们就是高手。在工作岗位上,拥有多年编程经验也不能说明问题。即便没被炒鱿鱼,那也不能提升你的价值。

  下面列举的事情是大多数高级程序员都会做的。

  1.不止掌握一门编程语言

  我相信有些优秀的程序员只懂(并精通)一门编程语言,但在某种程度上而言,这其实会限制一个人的思维。就像当你手拿一把锤子时,任何东西看起来都像钉 子。我认为,知道并成功使用至少一门编程语言,这是程序员从新手走向老手的重要一步。我要说的是,像JavaScript和SQL这样的辅助编程语言,只 有当你确实已经开发了完整的应用程序,并在其中使用这些编程语言时,它们才有价值。


  2.工作之余也经常编程

  我抱怨过把开源作为招贤的一项要求,但那仅仅因为许多充满激情的程序员把时间花在别的地方。除了对开源有所贡献,你还可以做兼职顾问,兼职创业,开发自己的产品或者创办自己的微型软件公司。当然,你也可以尝试从外部接些兼职项目,可参考伯乐在线的这篇《成功接项目需要注意的几个要点》。

  注:mISV即MicroISV,是一个只有一名员工组成的软件公司,是一种微型公司。

  3.经历完整的软件开发过程,从概念设计到产品实现,再到产品维护

  有的程序员希望不用自己动手就可以得到详细的设计说明,然后把缺陷代码交给测试/维护小组,这是平庸程序员的一个缩影。任何称职的程序员都会跟客户密切合作,去制定需求分析,然后编码实现,当然也要维护。如果你在编码实现阶段偷懒了,那你在维护阶段不得不付出代价。


  4.不断创新

  创新就是做一些你身边的人没有做过的事情,用来改善你的过程或产品。你不一定非得是世界上第一个做这件事的人,只要发现一个问题,找到解决方法然后实现它就行。


  5.编写的软件能解决实际问题

  有一副虚构的场景:一名黑客,仅仅是出于对技术以及自己所做事情的爱,一天到晚都在编写代码。但这几乎无助于成就一名优秀的开发者。事实上,我曾见过 有些开发人员和客户争论,来采用更好但不太有助客户的技术。这会适得其反。你可以利用自己的时间来完善。但涉及工作时,你最好还是编写能实际改进并解决问 题的代码,而不是使用那些不同寻常的算法或接口。


  编者后话

  这些问题对于任何想成为高级开发人员的朋友来说,都合情合理。因为这些问题和拥有多少年编程经验并没有关联。如果你能做到上面4-5条,那你就是高级程序员。如果只有1-2条,那你还需要加油努力。

  当然,在面试中,设置一个简单的“是或不是”问题,通常是一个衡量自己的小练习。更重要的问题会是“你能给我们举例介绍一下吗?”

  你的高级程序员测试得分是多少?你怎么看待这些问题呢?对高级程序员来说,其中是否多余的吗?或者你认为还有其他条件可以判断他人为高级程序员? 欢迎在评论或微博中分享你的观点。



  本文出处:伯乐在线 - 职场博客
  本文链接:http://www.jobbole.com/entry.php/295

  Via:Code Anthem  编译:伯乐在线 敏捷翻译组 - 朱勇


  如需转载,请注明原文来源和链接,否则视为侵权,谢谢合作!

来自: www.jobbole.com
4
4
评论 共 4 条 请登录后发表评论
4 楼 汗青boy 2011-06-20 21:29
高级程序员应该是一种态度的缩影
3 楼 damoqiongqiu 2010-11-02 18:56
zozoh 写道
因为他们在下一盘"很大的棋"

素滴
2 楼 zozoh 2010-10-30 12:16
因为他们在下一盘"很大的棋"
1 楼 江南白衣 2010-10-28 23:00
越来越多不是新闻的"新闻"了....

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C#微秒级计时器

    实现了微秒级计时器,提供一个类,风格和C#自带的定时器差不多,误差应该在1ms以内,这玩意想要真正十分精确还是得用硬件计时器才行.

  • timer和quartz框架的对比

    来源及许可 Timer 属于JDK自带API,可以直接调用,无需额外授权。 Quartz 是OpenSymphony开源组织的开源项目,需要作为maven依赖项进行导入,使用 Apache 2 License进行授权 主要结构 Timer Timer实现定时任务调度需要Timer和TimerTask两个组件,使用时,继承TimerTask抽象类,实现run方法,由Timer进行调度,实现单次执行或以固定间隔执行。 Quartz Quartz由三个主要组件组成:调度器Scheduler,触发器T

  • C# 定时器的深入解析:从初始化到性能优化的全面分析

    定时器(Timer)是编程中的一种工具,用于在。它允许开发者在设定的时间周期后,自动触发特定事件或函数,从而实现定时任务、周期性操作或延迟执行等功能。C#中的定时器主要包括System.Timers.Timer本文将从初始化,定时器的启停,是否是多线程,UI更新,是否造成堵塞,是否立刻执行等角度分析。特性Timer初始化简单,适合UI应用适用于一般定时任务适合复杂后台任务,需要回调函数启动与停止使用Start()和Stop()使用Start()和Stop()通过。

  • C#三种定时器Timer详解

    System.Timers.Timer类:定义一个System.Timers.Timer对象,然后绑定Elapsed事件,通过Start()方法来启动计时,通过Stop()方法或者Enable=false停止计时。Timer控件只有绑定了Tick事件和设置Enabled=True后才会自动计时,停止计时可以用Stop()方法控制,通过Stop()停止之后,如果想重新计时,可以用Start()方法来启动计时器。Intervel:获取两次Elapsed事件的时间间隔,以毫秒为单位,默认值为100毫秒。

  • C#三种性能分析计时器介绍

    http://www.csharpwin.com/csharpspace/10719r7422.shtml 第一种方法:使用Stopwatch class Program { static void Main(string[] args) { Stopwatch sw = new Stopwatch();

  • c#实现 微秒级定时器,高精度定时器

    c# 微秒级定时器,高精度定时器 整个代码,封装成类 using System; using System.Runtime.InteropServices; namespace winTest { /// <summary> /// 基于系统性能计数器的定时器,计数单位是1微秒=1/1000毫秒 /// 注意:该定时器会独占一个CPU核心,尝试定时器与主程序运...

  • C#实现纳秒级的计时器功能

    这些方法,比“标准的”毫秒精度的计时方法如 GetTickCount() 之类有高得多的精度。常用的 Windows API 方法 GetTickCount() 返回系统启动后经过的毫秒数。下面的类实现了 QueryPerformanceCounter() 和 QueryPerformanceFrequency() API 函数功能的封装。虽然在 C# 中使用“非托管”的 API 函数会有一定的开销,但比起使用一点都不精确的 GetTickCount() API 函数来说要好得多了。

  • C# 六种方式实现精确计时

    -------------------------------------------------------根据综合网上的一些文章,精确计时主要有以下几种方式1 调用WIN API中的GetTickCount[DllImport("kernel32")]static extern uint GetTickCount();从操作系统启动到现在所经过的毫秒数,精度为1毫秒,经简单测试发现其实误差在大...

  • C#超时处理

    在网上搜索了很多C#超时处理的方法,下面一种是我调试过的: /// /// 超时处理 /// /// /// public class TimeoutChecker { long _timeout; //超时时间 System.Action _proc;

  • C# 性能优化

    1、使用性能测试工具dotTrace 3.0,它能够计算出你程序中那些代码占用内存较多 2、强制垃圾回收3、多dispose,close4、用timer,每几秒钟调用:SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);具体见附录。5、发布的时候选择Release6、注意代码编写时少产生垃圾,比如String ...

  • C#高精度计时

    简介精确的时间计量方法在某些应用程序中是非常重要的。常用的 Windows API 方法 GetTickCount() 返回系统启动后经过的毫秒数。另一方面,GetTickCount() 函数仅有 1ms 的分辨精度,很不精确。故而,我们要另外寻找一种方法来精确测量时间。Win32 API 使用 QueryPerformanceCounter() 和 QueryPerformanceFrequen

  • c#高精度定时器

    c#高精度定时器程序. 项目用C#2010完成,Win7下测试,定时器的精度很好。 程序的主要实现方法:在线程中用WIN32的API的 QueryPerformanceCounter、QueryPerformanceFrequency来不断的查询时间。

  • High-Performance Timer in C#

    继上一篇 http://blog.csdn.net/Joyhen/article/details/17222273 原文:http://www.codeproject.com/Articles/2635/High-Performance-Timer-in-C 上码: namespace ConsoleApplication1 { using System; using Sys

  • C#的Timer

    在C#里现在有3个Timer类: System.Windows.Forms.Timer System.Threading.Timer System.Timers.Timer 这三个Timer我想大家对System.Windows.Forms.Timer已经很熟悉了,唯一我要说的就是这个Timer在激发Timer.Tick事件的时候,事件的处理函数是在程序主线程上执行的,所...

  • C#里多媒体定时器功能实现及性能测试结果

    Windows系统的调度时间片是15ms,且不稳定,这为精确、快速的任务带来很多痛苦。在没有硬件中断源的情况下,多媒体定时器还真是一个不错的选择,我找到了一个C#下可以用的多媒体定时器的库(下载地址在文末),进行了1ms周期的测试,并用c#的timer控件进行了对比测试,差别非常大(详见对比数据)。

  • 性能优化-内存泄露常见例子

    之前说了内存泄漏和检测工具,这里就记录一下常见的内存泄露有哪些 前言 在举例子以前,需要明白两个概念 内存泄露(Memory Leak):某些对象已经不再使用,但仍然直接或间接的被引用到GC ROOT中,此时GC没法对其进行回收,就造成了内存泄露 内存溢出(OOM):当应用占用了大于虚拟机分配的内存空间时,会造成内存溢出 静态变量引起的内存泄露 ...

  • Timer定时器多线程执行任务的优化

    查阅了相关资料,Timer每隔固定的时间执行一次任务,不管上次任务有没有执行完,当任务消耗的时间大于定时器间隔的时间,任务就会累积并且消耗大量线程资源,因此有必要让线程有序、高效、安全地执行。在某个工控机项目上,需要定时、频繁从设备读到数据然后呈现在UI界面上,程序刚开始运行UI数据正常刷新,久了之后UI数据不变动内存使用也逐渐变大,不得已只能关闭软件重启,用户体验特别不好。以下为调优后的代码,软件修改后再也没有内存飙升、UI数据不刷新的问题,希望能给大家提供参考。

Global site tag (gtag.js) - Google Analytics