【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

很多时候,大多数软件开发工程师都以为写代码就是自己工作的全部。其实,这是远远不够的。充其量,编程语言只是se的敲门砖而已,作为se他要做的其实很多。在我看来,一个合格的se必须沿着语言、库、框架、uml架构、产品、市场这个方向不断学习,努力实现个人价值和产品价值。

1、语言只是敲门砖

不管是c、cpp也好,还是java、python、perl、go、asm,这些都不重要。很多时候,项目或者产品用什么语言不是个人能够决定的。所以,不管是什么工作,要做的第一件事情就是在最短的时间内精通这门语言,没什么说的。

2、第三方库

软件的很多功能都有现成的lib可以用,我们要做的就是使用好这些库,这些库有的简单、有的复杂,很多时候没有必要做重复轮子的工作。即使想重做一遍,未必有人家做的好。这些库包括libjpeg、json-c、openssl、libevent、ffmpeg、libz等等。总之,需要什么就移植什么好了。

3、代码框架

有了孤立的库和语言,离编写软件还有距离。下面一步,就是考虑如何将语言和库整合在一起。好在很多语言都为我们提供了很多健壮的代码框架。比如游戏里面的cocos2d、服务器的skynet、网站的j2ee框架、python里面的webpy、客户端软件的mfc等等。用这些框架本无可厚非,只要它能帮助我们开发出健壮的软件就可以了。

4、uml

大多数se做到前面这些,基本上就可以达到高级软件开发工程师或者资深软件开发工程师的水平,但是做到这些还是远远不够的。因为,他只是做到了软件开发的快速实现,但是在软件工程和软件架构方面还显得非常稚嫩。作为uml&rup的拥趸,强烈建议大家可以在此基础上不断学习uml,不断提高从需求到产品的组织能力、架构能力。只有做到了uml,我们才会发现个人的开发水平可以上了一个大台阶。

5、产品开发能力

会使用uml,会代码框架,说明我们可以开发出一个合格的软件。但是我们自己有没有思考过,对于市场上与此相关同类型的软件,我们的稳定性、快速性、友好型、兼容性怎么样?这个时候,我们其实了解市场上已经存在相关的软件,即这个市场是存在的。这个时候要做的,就是优化和改进自己的软件,做到了这些才能使我们的产品真正具备了销售的能力。这个阶段做的最多的工作就是重构和优化。

6、市场开发能力

市场能力其实是建立在开发能力基础之上的。有些时候,我们开发软件,对于这个软件的市场都是确定的。但是,确定的市场往往都是红海一片。此时,我们要做的是确定一下,还有没有可能开发出市场需要的其他软件?市场的客户在哪里?怎么去推广?这个时候做一个软件架构师是远远不够的。如果说做开发是确定性比较高的一件事情,那么市场开发却带来了更多的不确定性,本身充满了巨大的风险和机遇。建议大家一定要投身市场,在风险可控的情况,努力去试一试?就算失败100次,又如何!

随想录(程序语言只是SE的敲门砖)相关推荐

  1. python程序语言和机器人控制系统_机器人十大流行编程语言,机器人编程系统以及方法...

    原标题:机器人十大流行编程语言,机器人编程系统以及方法 如果您问"机器人的最佳编程语言是什么? 计算机视觉程序员会给出不同于认知机器人的答案.每个人都不同意什么是"最好的编程语言& ...

  2. 关于C#开发山寨操作系统,程序语言,浏览器,IDE,Office,Photoshop等大型程序的可行性歪论及意义...

    首先,起这么个大标题不是为了眼球,也决非本人自大,本人对技术是很一般的也就是个普通人.不过因为受一些言论,贴子,新闻等综合思考而产生. 有些人认为C#这不行那不行,只能做做"企业管理&quo ...

  3. 56岁潘石屹下定决心学Python,60多岁程序语言之父们还在敲代码,你还敢懈怠吗?...

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 比你成功的人,比你还努力. 上周,SOHO中国董事长.地产大亨潘石屹,56岁生日当天发布微博宣布进军编程语言Python. 紧接着第二天,又 ...

  4. 从程序语言排行榜来解读IT及Web的发展

    预测行业的发展不能是凭空预测,而需要有根据.因为预测本身就是个不太准的事情,再没根据的话,那就更是浮云了.下面,我尝试从程序语言排行榜来解读一下IT的发展方向及Web的未来.<2012年4月份编 ...

  5. [C++程序语言设计笔记一]面向对象编程抽象,继承,重写基本介绍

    今天是个不错的日子,不仅有人收了我做徒弟从此传授我有关C++的一些知识,由于前一段时间喜欢上了外挂的研究也用到了一些MFC的知识及一些Windows APIs编程,但是对C++还是没有从根本上认识.我 ...

  6. 计算MATLAB时间复杂度的例子,学编程数学到底有多重要?线性代数能否视为一门程序语言呢?...

    点击上方蓝色字体,关注我们 相信这么努力的你 已经星标了我 老九学堂 你身边的IT导师 学编程数学到底有多重要?在大学数学学科中线性代数是最为抽象的一门课从初等数学到线性代数思维跨度比微积分和概率统计 ...

  7. 再谈编程范式-程序语言背后的思想

    link link 编程范式 托马斯.库尔提出"科学的革命"的范式论后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词.编程范式一般包括三个方面,以OOP ...

  8. 【转】如何掌握所有的程序语言

    对的,我这里要讲的不是如何掌握一种程序语言,而是所有的-- 很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习.由于我知道如何掌握"所有"的程序语言,总是感觉这种 ...

  9. 选择学习“下一个”程序语言

    今天这篇文章筛选出一些主流编程语言,对语言特性与环境稍作介绍,希望可以帮助到一些编程初学 者与有兴趣学习编程的朋友,供大家了解与选择,少走弯路.Java.C++.C#.Python.PHP当然,这些仅 ...

最新文章

  1. JS得到对应字段 的值。遍历
  2. decltype 遇到计算结果为左值的表达式会得到引用类型
  3. 3P5 Industrial Engineering Lecture 1-2: Method of Study
  4. 【科研经验】学霸为什么不喜欢给学渣解题?
  5. Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号
  6. Verdaccio介绍及安装 -- nodejs私有npm proxy registry代理
  7. spring boot多环境配置
  8. 因云而生,全新视角看阿里云服务器硬件方升架构
  9. python文件管理
  10. 在程序员的道路上,义无反顾的努力,有思想的人,很多,好的想法,需要学习。(以此共勉)...
  11. 剑指 Offer II 042. 最近请求次数【队列方法】
  12. 英尺英寸和厘米的换算_英尺米换算(英尺英寸与厘米换算器)
  13. 【理财】富爸爸穷爸爸
  14. E4A影视APP源码电视盒子酷点TV版4.5 后端对接苹果cms
  15. 「ZBrush」学习ZB出来可以从事什么工作
  16. java integer long 转换_java - 将Integer转换为Long
  17. CPU的两种工作状态——系统态和用户态
  18. 20177101010101 白玛次仁《面向对象程序设计》第十八周学习总结
  19. 深度学习_深度学习基础知识_Internal Covariate Shift
  20. 对于干涉仪二维测向的一些要点

热门文章

  1. kubeadm源码分析(kubernetes离线安装包,三步安装)
  2. cve-2014-7911安卓提权漏洞分析
  3. PATH变量,cp,mv,cat,more,less,head,tail命令举例
  4. sql server数据库的部署
  5. 烂大街的常用Linux命令、工具
  6. 定时备份为Sharepoint做网站备份,并删除指定日期的备份
  7. POS Tagging 标签类型查询表(Penn Treebank Project)
  8. ssh服务及安全配置
  9. ASP.NET判断是否为手机登录
  10. HDU 2639(01背包求第K大值)