Coder, programmer or software developer

本文探讨了程序员、软件开发者及编码员之间的区别。编码员能够编写简单的代码;程序员不仅会编写代码,还注重模块化、效率及版本控制;而软件开发者则更全面地参与到从需求讨论到后期支持的整个软件开发过程中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Coder, programmer or software developer - spot the difference!

CoderDeveloper_1.jpgAsk a hundred people what the cloud is and you’ll get a hundred different replies.

Ask a hundred different people what a computer programmer does and what, if any, the difference is between a programmer and a software developer, and you’ll also get a hundred different replies.

Ask me what the difference is, and this is what I’d reply…

I divide people who write programs into three groups:

Coder

Anyone who can write some code that compiles and runs, which will do something they want when its given the right inputs. This could be a program, a script, some classes or a library. But, is it robust enough to handle inputs unanticipated by the coder? Is it the most efficient code possible? Can anyone else can compile and run it, understand how it works to improve, extend or fix it? Will the coder, six months from now, still be able to understand it or even know where to find it? Alas, all these are unknowns.

Programmer

A programmer writes code (well, duh!), and also knows how to structure the code so that it is modular, robust and efficient.

A programmer is a coder with good habits. Programmers know how to write tests to ensure the correctness of the code, and value these tests because they make life easier when it comes to fixing bugs or making enhancements. Programmers know about version control and use it as an essential tool in their arsenal, which allows them to explore alternative implementations. A programmer will comment and document their code, because they know that it will help others who use their code, and themselves if they want to improve, extend or fix their code in the future.

Software developer

A programmer who can do a whole lot more! Software development is more than just programming, and being a programmer doesn’t make you a software developer.

Software is a product and, as for any product, there are myriad activities involved in its making. These range from discussing requirements with potential users, assessing the strengths and weaknesses of available products, producing designs, assessing trade-offs, working with users to identify bugs and the need for improvements, writing user documentation, preparing releases, training users, providing support, and doing fixes and modifications. A software developer does not view their role as solely to write code.

And that’s the difference, to me. Though it is reassuring to find I am not alone, as this article by a manager of a small software company makes clear (the title says it all) Small ISVs: You need Developers, not Programmers.

From coder to software developer

How does this relate to the Software Sustainability Institute? My long suffering office-mate, Mario Antonioletti at the EPCC, said that coders and programmers produce code as a means to an end, whereas software developers see code as part of the end itself. A researcher who quickly puts together some code may not be interested in good software-development practice as long as the code produces results. I write programs as a fundamental part of my job as a software developer. The programs are an integral part of what I deliver, so I am interested not only in the results, but also in the quality of the code itself.

In addition to publishing research results in journals, there is a move towards ensuring that research data, and the programs that produce the data, are also made available. This will allow others to validate research results and build on them. Making programs available in this way will require researchers to value their code more importantly, and see it as another research output. It will require a move from the mindset of a coder into that of a programmer and, eventually, into that of a software developer. And the Software Sustainability Institute is here to help researchers do exactly that. Explore our website, check out our ever growing set ofonline guides or contact us if you want to know more!

Hmmm. Mike I never really

Hmmm. Mike I never really thought of the distinctions as levels within programming but I must say I'm inclined to agree. I'm not a programmer or anything myself but I have outsourced some custom software for our web business and the type of work received is seriously all over the map. Because I have a bit of background in a few programming languages, I can sometimes edit another person's work and you can really tell the difference. Nice post.

So coder's are left handed

So coder's are left handed and software developers are right-handed?

I kind of agree with this. I

I kind of agree with this. I work as a network admin, I went to school to support networks and systems. I never went to university to learn computer science, I use vbscript, vb.net, powershell and python to create small programs to help automate tasks I do, or tasks that need to automated. If someone else looked at my code they wouldn't know whats going on. I've taught myself how to code and there are times where I'll go a couple months before having to code anything again. I'm definitely a coder.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值