Classification
新闻中心软件开发是程序员吗,很多人第一步就错了
做软件开发是程序员吗这块有些年头了,踩过的坑、走过的弯路不少。经常有人来问各种细节,索性把常见的问题和解决思路写下来,省得一遍遍重复。
软件开发是程序员吗!
具体来说,
一个网站编辑的真实思考如果你是领先次接触这个行业,可能会被“软件开发”和“程序员”这两个词搞糊涂。
上周,一位刚入行的读者私信我:“老师,我报了个软件开发培训班,家里人说程序员就是敲代码的,我每天学写代码,但老师又教我们画流程图、做设计,我到底在学什么;
从实际操作来看,
”这不是个例。
根据StackOverflow2023年开发者调查,全球有超过上百万开发者,但其中只有不到三成左右的人从事纯粹的“写代码”工作!

那么,软件开发到底是不是程序员。
换个角度看,
作为每天和代码、消费者、流量打交道的网站编辑,我想用我的真实体验,帮你理清这个关系?
先放下定义,看一个真实场景?
落实到具体场景中,
去年我们改版某个组织官网,需求是开发一个在线客服系统!
团队里有三个人:物品经理画原型、写需求文档?
这里有个细节值得展开说,
我负责前端页面(消费者能看到的按钮、输入框、弹窗)?
后端工程师写接口、处理数据。
在此基础上,
我们都很忙,消费者称为但只有我和后端工程师“程序员”。

可仔细想想:我写的代码只占项目总量的三成左右,其余时间在测试兼容性、调整UI间距、甚至和物品经理争论“这个按钮该放左边还是右边”。
这个场景说明什么。
除此之外,
程序员是具体执行代码的角色,软件开发则是一个涵盖需求分析、架构设计,编码、测试、部署的完整流程!

**写代码只是软件开发的一部分,而非全部。
**##软件开发vs程序员:一张表格讲透区别为了让你更直观地理解。我用网站编辑的“职业病”做了一张对比表:|维度|软件开发|程序员(狭义)||------|----------|----------------||核心任务|从0到一构建软件系统。包括需求理解、设计,开发、测试、运维|专注于根据设计文档编写、调试、优化代码||工作成果|可交付的软件物品(如APP、网站)|功效模块、代码片段、算法实现||技能要求|系统思维、项目管理、业务理解、术硬实力|至少精通1-二门编程语言、熟悉框架、算法||典型角色|架构师、全栈工程师、技术负责人|前端工程师、后端工程师、嵌入式开发||你听到的称呼|“帮我开发一个软件”|“帮我写段代码”|这张表能回答你的核心疑问:**软件开发是一个“造楼”过程。程序员是“砌砖”的工匠;

**你可以是只砌砖的工匠,但如果你想造一栋完整的楼,就必须从设计师、结构工程师、项目经理的角色里汲取养分。
进一步说,
现实中,绝大多数中高级开发者都身兼两职:既懂架构设计,又擅长写出优雅的代码?
##打消顾虑:你不需要在“名称”上纠结很多人担心“我不是程序员,所以不能做软件开发”?
回到实际问题上,
这种顾虑基本多余!

我曾采访过一位功效点的物品经理,他不懂任何编程语言,但他能清晰定义出消费者需要什么、流程怎么走、异常如何处理。
他主导的三个工具类App总下载量超过上百万;
搞清楚了这点,接下来就好理解了。
为什么!

因为软件开发的核心能力是“分解问题”——把复杂需求拆解成可执行的步骤。
这个能力,一个资深的图书管理员、一位Excel高手、甚至一位家庭主妇都可以拥有!
具体来说,
再看一个数据:全球Top10的软件公司中,有3家的创始人领先职业不是程序员?
比如Salesforce创始人马克·贝尼奥夫,学的是管理,但他懂得如何把销售场景变成软件功效。
从实际操作来看,
所以,**如果你在学“软件开发”,哪怕你只能写出“HelloWorld”,你已经进入了这个领域?
**程序员只是软件开发中的一个具体工种,而软件开发更像是一个思维方式,一种“用术解决现实问题”的能力!
换个角度看,
##专业但不冰冷:如何从“写代码”走向“做开发”如果你已经会写一些代码,但总觉得和“软件开发”有距离,这里给你三个建议:领先,学会“停笔思考”。

很多新手一上来就打开编辑器敲代码,结果写了三天发现需求有误。
成熟的开发者会先用流程图或消费者故事把逻辑整理清楚!
落实到具体场景中,
八成以上的软件缺陷都来自于需求理解偏差,而不是代码本身!
第二,拥抱“非代码技能”;
这里有个细节值得展开说,
沟通能力、文档编写、版本管理(比如Git)、测试思维,这些看似和写代码无关的技能,恰恰是区分“码农”和“软件工程师”的分水岭。
我认识的一位前端开发伙伴,因为善于用流程图解释术方案,被其他部门抢着合作,两年内成为团队负责人。
在此基础上,
第三,认清你的“真实身份”?
下次有人问你“是程序员吗”,你可以笑着回“我是软件开发工程师,写代码只是我工作的一部分!
除此之外,
”这不仅是头衔的区别,更是职业认同感的来源!

送你一句话:不要被“程序员”这个标签框住。

如果你每天在思考消费者痛点、优化系统流程、写可维护的代码,你就是在做软件开发。

世界需要会写代码的工匠,更需要能造软件的工程师。
---你在学习或从事软件开发的过程中,是否也遇到过类似的困惑;
进一步说,
欢迎在评论区留下你的故事:1.你是从什么时候开始意识到“写代码”和“做开发”的区别。
2.你觉得一个优秀的软件开发人员最应该具备的技能是什么?
回到实际问题上,
3.如果不写代码,你认为哪些岗位最适合转入软件开发领域!
四.你遇到过最匪夷所思的软件需求是什么!
前文也提到了这一点。
你是怎么应对的?
五.建议一本或一个资源,对你理解软件开发帮助较大。
关于软件开发是程序员吗能聊的还很多,这篇先说到这儿。后面会继续分享实际项目里遇到的一些特殊情况和处理办法,有疑问的可以留言交流。
扫一扫关注微信公众帐号