一个创业者眼中的技术
(本人文采不行,时间也不多,写不了什么精彩的开场白,只能想到什么就写什么,还望各位技术牛人见谅!)
本人背景:
05年毕业,之后从事了5年的C++开发,在去年年中毅然踏上创业之不归路,至如今,头上已多了不少白发。
一年当中,自己既是CEO也是CTO,还是CHO,哈,也许你已猜到我的状况。。。
本文不谈别的经验,就说说技术:)
首先,要讨论的一句话是:技术不是问题!
这句话,很多技术人员不仅喜欢挂在嘴上,还从心底就这么认为,我以前也属于这样的技术人员,可在我经历了下面两件事后,我醒了,而且醒的很彻底。
一个是我创业时接到的第一个项目,需求看起来很简单,在经过简单分析后就觉得技术实现没问题,于是马不停蹄的开始写代码,写完一测,完全不符合预期,而且问题就出在其中一个看起来十分简单的子需求:在嵌入式板子上的两网口间转发数据包。我想你看了这个需求后也会心中可能会对我有点鄙视,这么简单的需求都搞不定,还搞啥技术呢?哈,别着急,我给你加个条件:在嵌入式板子上的两网口间转发数据包,每个数据包转发的延迟不大于10us。前面半句是客户给的,后面半句是我们最后分析出来的,当然,两者缺一不可。面对后半句需求,我傻了,真的。当时用的操作系统是Linux,之前应用层的实现肯定全费了,因为光进程调度就是ms级别的,us级的连影子都看不到,朋友就建议在内核里实现,哇哦,内核啊,老子前五年搞的都是应用层的东东,内核这么高级的东西还真没玩过,不过为了项目,为了钱,硬着头皮也要上,还好有强大的互联网和热心的技术牛人们的协助,我终于知道该怎么在内核级别写代码了,也知道该怎么跟网卡驱动协作起来,等代码一完成,一测,进步是不小,大部分数据包的转发速度立马从几百ms降到几百us,但依然不能满足需求,首先是几乎所有的数据包都得满足条件,光“大部分”是不行的,其次从几百us到10us还有不少距离,怎么办呢?打个实时补丁看,也许能改善情况呢,费了九牛二虎之力终于打好补丁了,一测,“大部分”是变成了“几乎所有”,但几百us依然酣然不动。此时我想到了换实时操作系统来开发,可板子已经被客户选定了,这中间牵扯不少商业利益,换不了板子,板子供应商也没用实时操作系统的经验,不可能专门为你搞,没有他们的支持,这边也就歇菜了。最后,有同学建议在网卡硬件上寻求解决方案,可找来找去,没有完全符合需求的网卡,厂商得专门为我们设计,可他妈得交几十万的定金,这又被pass了。也许我能找个硬件牛人帮我设计设计,可身边没这样的人,而且这个项目时间也拖得长了,客户那边已经没耐性了,最后只能作罢。如果看到此博文的牛人能解决这个问题(用什么板子都可以),请联系我,一起赚钱哦,哈。
另一个是ERP项目,帮一家企业开发仓储管理系统,当时还找了个在知名ERP企业上班的朋友帮我前期了解需求,有专家帮忙就是好,客户需求都在我那位朋友意料之内,一个下午就搞清楚了,无论需求还是技术都没什么难度,于是后面我就接手做了。从开始写代码到第一个可测版本出来还是很快的,期间客户企业也专门提供了一个接口人跟我沟通需求,自以为应该没什么问题,可等产品一到客户手上,提需求的人突然多了很多,接口人也说没办法,当时他问其他人,都说OK的,现在他们不接受了,他也没招,只能让我改,否则拿不到钱啊,好吧,我改,等改完了,他们一看,又有奇思妙想出来了,每处改动都是一点点,可一点点加起来就让人崩溃了,这中间我是耐住性子,一边改,他们一边变,硬生生的把一个三四个月的项目做了大半年,把我搞的是心力交瘁,痛不欲生啊。
第一个是纯技术的,第二个是需要人掺和的,在我这都成了问题。从此,技术不是问题在我脑海中彻底消失了。
其次:技术只是你手里的工具,是工具就可能被你抛弃,但思想却能留下来。
我搞了五年的C++,对C++感情不可谓不深,但当我在开发最近这个项目时,却硬生生的把它抛弃了,很简单,因为它太贵,我养不起。你可能嘀咕了,什么意思,什么贵不贵的,说什么呢?哈,如果你已是个打拼过几年的C++程序员,你应该知道刚出道时自己写的C++代码是多么垃圾,当过了几年后,你懂了很多,身价也突然飙升了,乐呵呵了吧,当然,这个我是要恭喜你的,因为你熬过来了。但作为一个刚创立企业的负责人,我必须考虑我口袋里的钱,第一不敢用刚出道的新人,C++代码要写的好得花不少培养成本,而且刚培养出来,他跑了,我不哭死;第二去找经验足的要价也高,我承担不起,所以光看在钱的面子上,我就不得不放弃它了。当然,理由不止这一个了。说其它理由前,得先说我选择了谁,Java,对,就是Java,人多、便宜、上手快、免费资源多,而且我要开发的是B/S系统,Java的成熟框架很多,不像C++,找不到什么知名的框架啊(别说ACE,能理解这家伙的CPPer就不多,能把玩的好的就更稀有了),所以选来选去只能非Java莫属了,至于客户端,我用了Flex,开发效率和用户体验都不错。看我这么一说,C++似乎一无是处了,非也非也!从开始接触Java和Flex,到自如运用它们写代码的时间也就一两个星期内,此内在原因就是他们和C++都是面向对象语言,都继承了面向对象之大一统思想,搞通了一种,其它兄弟语言自然也不在话下了。
屁股决定脑袋,这句话说的真的一点不错。
最后:去深入了解你所在行业的生态环境,不仅为技术的发展找到方向,也为你的人生找到方向。
一个创业者眼中的技术相关推荐
- 重新理解创业——一个创业者的途中思考
我一直认为,成功其实没什么好学习的,因为成功者所具备的天时.地利.人和,这一切都难以复制. 学习失败才是真正有意义的事情.但是,我们到底为什么要学习失败,怎么学习失败,从中学习什么? 我们特别崇尚和追 ...
- 视频教程-用Java从零开始开发一个物联网项目-物联网技术
用Java从零开始开发一个物联网项目 多年的产品设计和开发经验,带领团队完成多个知名产品.历任多家大型公司的Java架构师,对知名框架的源码均有深入研究.拥有IT一线开发.教学10多年的实战经验,能充 ...
- 一个10年IT技术人的历程-Java架构师的演变
原文:专访黄勇:Java在未来的很长一段时间仍是主流 摘要: 本文采访了现任阿里巴巴公司系统架构师黄勇,从事近十年的JavaEE应用开发工作.采访内容包含了技术人生.IT职场.程序员.Java Web ...
- 一个创业者的途中思考
loonggg 读完需要 4 分钟 速读仅需 2 分钟 大家好,我是你们的校长. 最近刚刚读完易到创始人周航的<重新理解创业:一个创业者的途中思考>这本书,说实话,其实看完之后,总体给人的 ...
- 大咖 | 清华魏少军:今天多数AI芯片创业者会成为技术变革的先烈
原文链接:点击打开链接 摘要: "今天的一部分甚至大部分的AI芯片创业者会成为技术变革的先烈." 在近日于上海召开的GTIC 2018全球AI芯片创新峰会上,清华大学微纳电子系主任 ...
- 真正的CTO,是一个懂产品的技术人
本文作者 陈睿,优知学院创始人,拥有13年互联网产品&技术经验,曾先后就职于淘宝.百度.携程. 我之前写过一个CTO的系列篇,谈过CTO的核心职责,也谈过优秀的CTO应该具备的五大特征,今天主 ...
- 2016 只剩最后一个月 你的 技术债务 还清了吗?
一夜醒来,猛然发现,2016 已经只剩最后一个月了! 回忆过去的 330 多个日与夜,哪些互联网圈的大事让你瞠目结舌? 也许是 AlphaGo 在堪称人脑游戏巅峰的围棋领域屡战告捷: 也许是 Poké ...
- 如何搭建一个拖垮公司的技术架构?
作者| Mr.K ,来源| 技术领导力(ID:jishulingdaoli) 架构师不仅拿钱多,还受到程序员的崇拜.妹子的仰慕. 他们走路带风.出场自带BGM,吹啊吹,我的骄傲放纵.唯一的缺点,就是费 ...
- 如何判断LSTM模型中的过拟合和欠拟合 By 机器之心2017年10月02日 11:09 判断长短期记忆模型在序列预测问题上是否表现良好可能是一件困难的事。也许你会得到一个不错的模型技术得分,但了解
判断长短期记忆模型在序列预测问题上是否表现良好可能是一件困难的事.也许你会得到一个不错的模型技术得分,但了解模型是较好的拟合,还是欠拟合/过拟合,以及模型在不同的配置条件下能否实现更好的性能是非常重要 ...
最新文章
- 学习笔记Kafka(五)—— Kafka 开发环境配置及Producer API
- 看似简单但容易忽视的编程常识
- python表情符号编码大全_Emoji的编码以及常见问题处理
- 博士毕业论文英文参考文献换行_不用写毕业论文?一年制硕士真的不是闹着玩的吗...
- python index false_整理了 Python新手 最容易犯错的 10个坑!
- 衰减学习率真的有用吗?
- 初学 JAVA ,编程实例【人会说话,中国人说中国话,美国人说英语】
- linux内存不足,swap交换分区创建
- 中国最经典广告语大全
- php 后天的时间戳,Linux中时间戳转换命令
- Clone 1. 肿瘤克隆进化之前世今生
- 大数据时代的“小数据”
- Excel怎么在指定文本后面插入短横线符号
- 华为服务器jbod修改启动项,服务器设置jbod
- 【杂记】数据存储架构
- Unity官方案例之星际航行游戏(Space Shooter)学习总结
- Python--print(xx)内容为空,打印不出内容;原因是文件句柄对象在迭代后,对象内的数据会逐渐清空
- stm32 app 连上阿里云
- [日推荐] 『Streeter』极乐商店邀你一起来尬舞啊!-store.dreawer.com
- 刷脸支付在新零售行业线上线下加速融合
热门文章
- [Django个人网站开发]·编写你的第一个 Django 应用-第 1 部分
- 哪些开源协议的项目可以在商业项目中使用
- mysql 刷新_MYSQL FLUSH 刷新缓存
- c 服务器文件预览,服务器下C:\Windows\assembly内的内容变成一个一个文件夹显示的...
- 心急赚钱的人,为什么普遍赚不到什么钱?
- javascript基础练习
- Permission(使用与框架使用)
- You don’t have permission. To view or change permissions。。。
- jquery的each()几种用法
- mysql sql执行错误#1436 Thread stack overrun