码农、程序员、开发者
我上周写过两篇文章:
《工程师和码农》
没有工程怎么会有工程师,没有软件工程怎么会有软件工程师.所以我说软件工程里含有组织岗位建制与分工、项目管理,所以软件项目经理也是软件工程师大范畴啊,因为项目管理是软件工程中非常重要的组成啊。
大家不要认为写代码的才叫软件工程师。其实写代码的不仅按能力高低分为高级程序员、中级程序员、初级程序员,其实写代码的还有另外一个分类,那就是:
Coder-码农
Programer-程序员
Developer-开发者
我给大家说说这三者的各自关注重点。
(1)Code-码农
码农的关注重点是:编程语言、编程框架类库和API。现在很多码农以熟悉C++、Rust、Golang为荣,以熟悉Spring 框架体系编程为专业经验。
这帮人是最容易被:无代码表单-低代码工具-AI辅助生成代码影响。
(2)Programer-程序员
70年代,结构化编程方法的鼻祖-Pascal编程语言的发明人就写过一个公式:算法+数据结构=程序。
也就是说:作为一个程序员,你的核心能力不是编程语言、编程框架类库和API,而是算法设计和数据结构设计。但我想问问大家,你们熟悉多少种算法,你们把你们熟悉的算法应用到日常的客户需求解决上了吗?
很多人啊,上学时就没学过算法课,有的学了呢但是考完试就丢一边了,少部分记住了但是怎么也应用不到日常工作中、实际业务场景中,学和用两张皮。
到了现在人工智能时代,这个公司更要升级,变成了:模型+数据=程序。
模型,你跟上了吗?
(3)Developer-开发者
开发者不关注项目进度-成本-质量-风险,开发者也不关注目标客户群-产品定位-产品竞争,但是开发者关注软件全生命周期。
啥叫软件全生命周期:
代码编写前:业务分析
代码编写前:架构设计
代码编写前:代码架构设计
代码编写中:测试驱动开发
代码编写后:持续集成-持续发布
代码编写后:持续部署-持续交付
代码编写后:DevOps监控预警-日志埋点与分析-服务链跟踪排查
掌握了这些才叫Developer-开发者。
你熟悉多少种业务分析方法、架构设计方法?你熟悉软件全生命周期工具链的使用吗?