软件开发之路的十字路口

2019-07-13 06:47发布

从嵌入式开始,到目前仍然在做嵌入式开发,底层的,上层的; 其实鄙人心很大。 给目前的公司服务快2年了,习的相当多的技能,仍需感谢老大King。 当年做单片机的,后来做stm32的单片机; 再后来培训了嵌入式Linux。 一路走来,心不定,没有想到要做哪样事情坚持到底,不知各位看官是否跟我一样。 熟悉了编译Linux内核,文件系统,驱动,上层C语言开发,网络协议开发等内容后,我想到了编译Linux发行版。不错这是个比较大的工程,所以一直纠结是否要做下去; 当时编译了个ramdisk,在vmware虚拟机启动能进入命令行后,就在纠结,是否成立开发桌面的小组,故有了论坛bbs.codertown.cn。然后发现,身边的朋友似乎对这根本不感兴趣,一个人又很难坚持,毕竟需要花大量的时间精力去做,而且前人已经有很多成果,是不是要花90%的努力去完成10%的工作。 纠结到此,故而有了此文。 在目前的技术状态,似乎达到瓶颈,需要突破。而当我选择做一件事情之后,它是不是能带给我突破,由此付出的代价和你的收获是否正相关? 想过做以下的事情: 1、开发一款Linux下的社交软件,由于当前一些社交软件都是基于jabber,操作复杂,并不方便于日常使用,曾经有一段时间,我甚至都仿照QQ的模样,设计出了界面,用QML编写的,没有通信逻辑,没有服务器,只是界面;而后来由于蘑菇TT的出现,让我思考是不是可以直接移植,弄个Linux版本,这样就好很多,但是更多想的是需要去分析他的协议,还不如自己来。这么想的原因是,希望这个软件能和物联网连接起来,不管是控制还是交流。后来,公司事情多,新产品忙着给客户测试,所以这个想法就拉下了。搞的过了这么长时间,又懒得再开始,这是人的惰性么? 2、上面提到的编译Linux发行版,这么想的原因基于亮点,1、编译嵌入式Linux内核、文件系统都会;2、曾经接触过Linux from scratch,觉得可以编译,至少有问题就解决。然后开始,由于LFS编译的工具软件多,所以选择了busybox。后来就在vmware虚拟机上能用,这个意思就是能进入命令行操作,下一步就是加入图形界面。本身对qt有用过,所以知道KDE。了解了KDE后发现,这个工程太庞大,需要做好xorg,还有N多软件。俨然就是一个大工程,非一人之力能完成。又停下了。 3、本身处在通信行业,行内都知道,现在智能家居火,但是市场反应不好。提到这里,所以都在做智能网关,智能路由器等等,由于本身相关,所以也曾想要去做,但行业积累不够,产业链比较复杂,故而纠结。 4、平时诸多想法,移动互联网如此火,虽然明白其中虚假繁荣多。热钱使浮躁的中国又陷入了创业潮,激起了心中的热火。 相信很多路人也是跟我想法相似比较多。就我个人性格而言,拿起就很难放下,又有个毛病就是对别人说你很牛的时候,感觉特爽。渐渐意识到,手里拿的太多,反而不容易上路,站在十字路口,徘徊的时间,多过脚踏实地的去干一件事的时间。所以,到了是该放下的时候了,不然真的就是负重难行。 有个朋友说,要做你擅长的事情,这是个定心丸,相信对大部分人都一样。涉及的领域过多,在你不擅长的事情上操心过多,导致诸事难成,结果就是碌碌无为。人一辈子就那么多时间,应该怎么去规划,走你自己想走的路,确实是一门哲学。朋友的话,想必也是经历太多而得到的智慧。 如此,就想方设法去扔掉那些似懂非懂的东西,要耗费大量时间的比如编译什么Linux发行版;对于移动互联网,需要边走边看边分析,趋势在哪里;对于智能家居、智能网关之流有机会可以多学习,这是和嵌入式有关又和通信有关,可以深入;本身是网络方向,所以像连接软件、P2P可以继续开发。 这是对自己下的药,希望能减轻一些选择的压力。扔下的东西也可以从中获取启发,究竟该怎么选择,怎么分析,怎么适合自己的路,以及怎么在技术上有所突破。