从技术支持中途转战软件开发,如今从事编程工作已十多有余,2014年CSDN博文大赛编程语言组冠军、CSDN Qt论坛的版主安晓辉老师从今天开始,坐镇CSDN社区问答栏目的 第十四期,届时会接受广大网友的提问,欢迎各位网友前来与安老师一起交流。
当Qt跨界牵手android,移动开发会有什么不同?初学者如何借助Qt开发Android应用?安晓辉老师将携 《Qt on Android 核心编程》一书,接受网友们关于Qt on Android的相关提问,与此同时,也欢迎大家来与安老师交流程序员入行、心态、技能等方面内容。
2014年CSDN博文大赛编程语言组冠军、CSDN Qt论坛的版主安晓辉
安晓辉( 博客), 2014年CSDN博文大赛编程语言组冠军( 小组赛文章、 决赛文章)、CSDN Qt论坛的版主(http://bbs.csdn.net→移动开发→Qt)。他于1998年保送入西安交大教改班,2002年毕业进入西安大唐电信从事售后技术支持工作,2005年3月离职,始习编程之术。在此期间,有个人文集收录于各大文学站点与论坛,部分散文、小说、书评见诸杂志与报纸。国内第一本BBS原创文集《指尖的飞翔》(兵马俑BBS原创文学精选)作者之一。网络文学选集《竹林听海》作者之一。2005年4月加盟西安信利软件科技有限公司,参野狐禅,走开发路。
2008年见Qt而倾心,用之于GUI、网络服务器、嵌入式开发,带领团队成功开发出基于 Qt 的互联网电视机顶盒。2012年移植 Qt Embedded 4.5.2 到 Android平台并应用于智能机顶盒项目。著有《Qt on Android 核心编程》和《Qt Quick核心编程》。
能文能武的技术人
CSDN:请和大家介绍下你和目前所从事的工作。
安晓辉:我始终觉得自己的身份是一个程序员,是手艺人,我觉得靠技术吃饭是纯洁、高尚、值得尊敬的,有诗为证:闲来就写青山卖,不使人间造业钱。
我从技术支持转做程序员,做到现在,已经有将近十年。一路走来,项目经理、部门经理、项目总监,很多角色都干过,现在入伙朋友的公司,算是最小的合伙人。公司在做的事情还不能说,没做出来呢,做出来了再说。不过我们正在招人,Android、ios、Java,感兴趣的朋友可以联系我(邮箱:[email protected])。
CSDN:你是如何走上软件开发之路的?
安晓辉:其实当时我转行做开发,是形势所逼,觉得自己干不了别的。写小说出版不了养活不了自己吧,搞销售又没有脸皮和嘴皮,还能干什么……干技术活儿吧,于是就决定做开发了。当时还有一个考虑,觉得软件开发是有创造性的工作,应该和写小说有差不多的乐趣。现在看来,确实有很多东西是相通的。这一点已故的文坛外高手王小波已经证实:他本人既是一流的小说家,又是一流的程序员!
犹记得我毕业那会儿通信行业很火,大中华(大唐、中兴、华为)很流行,我随着滚滚人潮就进了大唐电信,去做技术支持。干了两年,觉得自己要废掉了,整天东奔西跑插拔程控交换机、换板卡、跳线、更新版本,没有挑战。另外老出差,也不是个事儿,就想转行,不打算再做技术支持了。回到西安后,没能在公司内部转研发,我就辞职了。
大学学过PASCAL,可是很少有软件公司用这个,读了几天Java,觉得不对胃口,就去学C语言,经典的《the C Programming Language》,很对胃口(关键书薄薄的一本,感觉比较好征服)。大学时宿舍有个哥们儿从教改班转到了计算机系,擅长C,指针指针指针的满嘴跑,很高深的样子,有点儿印象,这也是我选择C的一个原因。
花了一个星期,粗读了一遍书,我就开始颠颠地跑着找工作了,目标就是软件开发。当时也不会干别的,做技术支持时程控交换机里的软件是公司的牛人们做的,我觉得这也是个不错的行当,带着憧憬就奔它去了。
理想是美好的,现实是残酷的。对于我这种半道出家的野和尚,就看了几天书,居然敢于跑到要求熟悉这个精通那个的公司去应聘,也是逼不得已。我记得花了一个多月的时间还没找到工作,不断被鄙视吧。唯一的收获就是C的笔试题做了好多,到最后终于觉得可以顺利通过一部分公司的笔试关卡了。后来面试华为,过了三面,因为没有经验,推荐我去慧通,我嫌慧通不是嫡系,就没去。整整行囊,拍拍灰尘,继续找吧。
人品总是会爆发的,只要你多坚持那么两天。再后来比较幸运,遇到了信利的谢总胜落,愿意把我招入麾下,我就这么在西安信利软件科技有限公司开始了我的软件开发之旅。
时间如箭飞逝,已经快10年了。
CSDN:通过你的简介了解到,你就读于具有深厚理工科传统的老牌名校西安交大,却是国内第一本BBS原创文集《指尖的飞翔》(兵马俑BBS原创文学精选)作者之一,也是网络文学选集《竹林听海》作者之一,能简单介绍你涉猎文学写小说的情况?
安晓辉:上大学的时候,已经丧失了学习的兴趣和动力,整日无所事事。彼时网络又刚刚兴起,痞子蔡的《第一次的亲密接触》打开了网络文学的窗户,大家都觉得网络上写小说这种事儿,会码字就成,碰巧计算机扫盲扫过了,会码字,于是就在兵马俑BBS上混起来了,做了几个文学版的斑竹。当时榕树下、红袖添香、西陆文学、网易文学论坛、故乡、天涯舞文弄墨等都还挺有人气,也混了一阵子,还拿了一届西陆文学的十大明星写手,不过水平有限,到现在基本不写了,而当时曾经擦肩而过的一些写手,如今很多都是文学界的宠儿了。
CSDN:如今走上技术之路,平时写的都是技术博文,接下来还会再提起笔?或有其他一些规划吗?
安晓辉:其实我对写小说还是情有独钟。当年红袖添香文学大赛有个哥们儿写了一长篇武侠,献给自己的女儿,据说都是在把女儿哄睡之后写的。小说写得特别好,我印象深刻。我有女儿时我还想,也要为女儿写一部武侠小说,可惜到现在还没开始动笔……武侠小说技术性太强(主要是武斗场面金古梁温已基本写尽很难出新),我是干不来了。最近在考虑以程序员为背景的小说,也许过阵子会写,也许没几天又忘了。
CSDN:你对文学用情颇深,你对技术又有着怎样的情感?
安晓辉:人的生活应该有多个支点,技术和文学是我的两个支点。我个性内敛,闷头干活的事情我喜欢,靠自己就靠得住的事情我喜欢,技术恰巧就是这类事情。我一直不觉得自己对技术有多痴迷,可我媳妇说他就害怕我写程序,因为写起来什么都不顾,这让她觉得压力很大。所以前一阵子我辞掉一个公司的总监职位时,她就表示特别的担心,因为看起来是要再干开发的节奏嘛。现在看来, 技术已经是我的立身之本了,我身上也已经被打上了深深的烙印 ,到驾校都有同学说我一看就是搞开发的……
CSDN:成功者总是在不断的学习,每个人都有自己的学习之法,你的一路以来是如何学习的?
安晓辉:软件开发会经常接触新东西,必须有足够的好奇心和兴趣,才能不断的学习进步。
至于如何学习,每个人都有自己的模式,我受现行教育体制荼毒比较深,学一门技术时,遵循的是看书、实践、再看书、总结这样一个模式。
在实际工作中,我有一个基本的理念,那就是:用到一分,你就往广里多学一分,往深里多学一分。这样时间长了,自然会不断丰富自己,脱胎换骨。
回忆过往,我高三以来一直没好好学习(对不起父母对不起毛主席啊),能进交大的教改班那是因为高一高二的底子好混了个保送名额。大学的时候基本上就徘徊在被淘汰的边缘(教改班实行末位淘汰),泡BBS(兵马俑),玩游戏(仙剑、轩辕剑、星际争霸、三国志、英雄无敌等等),踢球……就这么过了四年。所以谈到学习,真是非常惭愧。但我觉得大学生活也没白过是吧,我现在的看法是: 你知道怎么学习,那什么时候学都不晚。 不是说朝闻道夕死可矣吗。
因为大学没怎么学,什么操作系统、信号原理、模电数电、计算机组成原理、数据结构等等,都不知道考试怎么及格的,后来又干了两年技术支持,对于软件开发,实在是知之甚少啊。
八小时之内是现在,八小时之外是将来。什么意思呢,你懂得。
我其实还是一个比较爱钻研的人,毕竟初中、高中的各种奥数、奥物、奥化竞赛都拿过奖;另外我也是一个心里存不住疑问的人,所以我不但刚开始干软件开发的时候业余时间老是买各种技术书看,后来干熟练了,依然抽时间学习技术。这已然成了习惯。当你工作中用到一项技术,可能只是用其一点,那还有与这点关联的很多点,那这门技术必然还有很多相关的技术,用心的话,会想了解更多,于是,以点带面,就会持续不断地学下去。好好学习,天天向上么,这时候才发现这不是一句空话。
如果你发现了自己的学习模式,愿意学并且能坚持,我觉得没什么能阻挡你征服软件世界的脚步。每当我遇到一个问题,常常会茶饭不思,吃了也是味同爵蜡,我脑子就离不开这个问题了,直到有一个答案,很多时候我都是梦里还在思考某条路线到底能否走通某个BUG能否解决,也有不少次半夜醒来的时候。人家女孩子午夜梦回是看了《午夜凶铃》,我们干开发的,有时候半夜突然坐起来是因为不小心想到自己把雷埋在哪里了。
都说IT这行日新月异,那确实,还真没哪个行当可堪比拟。对开发者来讲,自然是需要不断学习的。但我觉得更重要的一点是:发现自己的学习模式。一旦你能够用模式来指导你的学习,有意识地践行、改进你的学习模式,那年龄我觉得也不是问题,到40岁,到50岁,依然可以跟得上技术的发展。
Qt是最佳的跨平台解决方案
2008年,当时如日中天的诺基亚公司宣布以1.53亿美元收购奇趣科技(Trolltech),并更名为Qt Software。这次收购一度被业界视作诺基亚意在加快移动设备和桌面应用的跨平台软件战略部署,加速推出互联网服务业务。但世事无常,随着诺基亚宣布放弃Symbian系统,以及IOS/Android系统的快速崛起,2011年3月,Qt的商业授权和技术支持业务被Digia收购,2012年8月,Digia宣布完成对全部Qt技术平台和知识产权的收购。
CSDN:作为一款跨平台图形界面软件,Qt开发工具可实现在多操作系统以及移动设备之间一致的跨平台用户体验,你觉得被收购后的Qt至今发展如何?
安晓辉:发展得还不错,在嵌入式和很多行业都有更好的表现,目前又支持了Android 、 iOS等移动平台,作为跨平台的解决方案,始终是最强悍的。
具体情况,在我的《Qt on Android核心编程》一中也有提到,摘录如下:
Qt 被 70 多个行业中数以千计的主要企业所使用,内部使用 Qt 的数百万计的设备和应用,你每天都会使用。
Qt 强有力地支持着来自 70 多个行业中的主要企业开发了数以百万计的产品,也是财富 500 强企业里前10个企业中的5个所选择的开发技术。 Qt 的完整框架功能(包括直观的 C++ 库、工具和 Qt Quick UI技术)使它成为汽车、手机制造商、工业自动化、消费电子产品、石油和天然气、国防和各种各样的其他领域内顶级玩家的首选技术。
CSDN:每一个工具都有适合的使用场景,Qt也不例外,对于开发者来说,是否选用一种技术,要看这个技术和他的需求是否契合。Qt适合的应用场景有哪些?
安晓辉:Qt特别适合跨平台开发,比如你要支持Windows、Mac OS X、Linux、Android、iOS等等平台,那Qt绝对是值得考虑的技术方案。
比如办公软件,要跨平台,支持Windows、Mac OS X、Linux、Android、iOS等,就可以选用Qt。又比如用于企业办公的网络会议系统,也需要同时支持桌面和移动平台,Qt也是很棒的解决方案。又比如一些行业软件,医疗、工业自动化、自动控制等,都有很多使用Qt的。当然你也可以使用它做游戏,“吃药了”这款游戏就是用Qt做的,还有很多其它的游戏也选择了Qt。
CSDN:Qt支持的平台包括Windows、Mac、Linux等桌面操作系统,QNX、VxWorks、Embedded Linux等嵌入式平台,还包括Android、iOS、WP/Windows Runtime三大移动操作系统,和Java跨平台相比有什么区别?前者的优势是什么?
安晓辉:Java在做web端应用时很有优势,跨平台也威力强大。但是目前的移动端,客户端应用,如果说你在Android上用Java,没有问题,因为Android使用Java作为基础语言构建了针对Android的一套UI框架,但是你在iOS上使用Java来做应用,在Windows Phone上使用Java来做应用,还有其它的一些平台,都是非常吃力的,没有好的解决方案。
而Qt的跨平台,在桌面应用开发,在移动端应用开发,所有平台都是一致的体验,它针对各个平台编写平台相关的QPA插件,直接与各个平台融合在一起,最终既不损失性能又跨平台,对开发者来讲,一次编写,多次编译,到处运行,这实在是太迷人了!
CSDN:日前,你出了《Qt on Android 核心编程》一书,能否谈下写这本书的缘由?期间有什么难忘的事?
安晓辉:因为我有写小说的梦,也写过不少未发表的小说,对写作其实是有情结的。我想有一本自己的书,但其实没想到会是技术书。
2008年在西安信利软件使用Qt开发机顶盒产品接触 Qt,一见倾心,她优雅从容,非常好看。之前也用过MFC、WTL、Win32等等框架,但仅仅是用而已。我用Qt做嵌入式开发,工作之外我也想研究她,看看她到底是什么回事儿,从外到里,一层一层剥剥看,所以就去读了源码,慢慢就对Qt有了较为深入的了解,形成了有问题看帮助,帮助不行看源码的习惯。
我觉得一个人技术做到一定程度,会愿意与他人分享,不介意把自己辛苦得来的技能和经验讲给他人来听。这是一种自发的行为吧,也算是一种修炼。知识这玩意儿是为数不多的越分享越多、越碰撞越好的东西。
13年底时我恢复了在CSDN的博客更新,其实这个时候我工作已经很少用Qt了,但Qt刚好出了支持Android的版本,我就想研究它。Qt还出了Qt Quick这个迷人的小姑娘,我也想研究它。于是不断地在博客上记录我的学习历程,我知道的都讲出来给大家看,不作保留。
后来电子工业出版社博文视点的策划编辑高红霞老师联系我,问我愿不愿意出书,那当然愿意啊,我有出书的情结嘛。说干就干了,我们一个电话没打过,事情就敲定了,我开始挑灯夜战,天天晚上都写,不是一点就是两点。不写的时候也在琢磨怎么写。周末也搭上了。连女儿我也很少陪她玩儿了。总之我全身心地投入了这件事情当中,也没在意老婆说的“万一卖不好岂不白辛苦”这种问题,我喜欢,我愿意这么干,我就这么干了。老婆善解人意,支持我,女儿小小年纪也支持我,这是最令我开心的事儿。
《Qt on Android核心编程》这本书就这么出来了,我人也瘦了十来斤,不过我要说的是,做了,爱了,享受了这个过程,无怨无悔。
在写《Qt on Android核心编程》的时候,我发现Qt Quick这个框架无论如何不能包含在里面了,而这么好的东西如果我不把她展示出来,那就太暴殄天物了。于是我跟高老师讲我还要做一本书,Qt Quick的,而且目前国内没有同主题的书,于是我就做选题做大纲,于是又通过了,事儿就这么成了,于是我马不停蹄又投入了新的写作。于是几个月后《Qt Quick核心编程》出来了。
请容许我讲讲这两本书吧。
《Qt on Android核心编程》主要分两部分,一部分讲述Qt核心的概念,比如信号与槽、元对象系统、网络、Qt Widgets等等,非常适合Qt初学和进阶;另一部分讲解Qt在Android上的开发主题,比如触摸、手势、传感器、JNI扩展等等,适合对使用Qt开发Android应用的感兴趣的朋友。总之这本书既可以作为Qt入门参考,也可以作为Qt移动开发的入门参考。
《Qt Quick核心编程》是专门讲述Qt Quick技术的,从QML语言、Qt Quick基本元素、Model-View、动画、多媒体、网络、Android主题……该讲的都讲了,不该讲的也讲了,总之我觉得它是业内第一本系统讲述Qt Quick的书,是填补空白之作,对于初学 Qt Quick(QML)的开发人员和想进阶的开发者都有很好的参考、借鉴意义。
CSDN:当Qt跨界牵手Android,移动开发会有什么不同?
安晓辉:有这么几点,我觉得非常重要。
1. 跨平台,之前说过了,你为Android开发的应用,稍作改动,就可以支持iOS和其它平台,想想就兴奋嘛。你只要学了Qt,就拥有了全平台的神器。
2. 开发的便利性,比方说你开发Android应用,需要模拟器,而AVD又慢得要死要活的。Qt就不同了,你直接可以在桌面环境下调试你的应用逻辑、甚至是界面,非常方便。Android就不行,因为界面是必须依赖Android系统。
3. 丰富、成熟、强大的类库 ,比如网络处理的类库,以http为例,天生是异步的,很好用。而Android提供的Http类库,比较难用,想异步,就得配上线程,不友好么,这点从我写的一篇介绍AsyncHttpClient的博文的点击量就可以看出来,大家都在寻找更好用的Android网络类库。Qt还有很多其它的类库也很强大,看我的《Qt on Android核心编程》就知道了。
4. 经验的延续性 ,比如你用过Qt开发桌面软件,用它开发Android等移动软件,你的经验一脉相承,没有陡峭的学习曲线。而就算是Java开发人员,要开发Android应用,也要重新学习Android的UI类库。
CSDN:初学者如何借助Qt开发Android应用?
安晓辉:只要针对Android的环境搭建起来了,其它的事情和桌面开发差不多,很方便。
注:更多精彩敬请关注安晓辉老师的Qt on Android专栏
漫谈程序员
安晓辉老师也是半路出家学编程,经历了一个痛苦过程,如今十年过去,一路从程序员、小组长、项目经理、部门经理就这么走着……今年他完成了两本书的写作、换了工作了,新工作也告别写代码……作为一名老程序员,在面对开发群里经常有学生问面试、择业等问题时,有感而发特开辟了《漫谈程序员》专栏,以幽默的笔调深受网友们的喜爱,由于文章诙谐指数高入云霄,在这里我们也请安老师以一个比较正式的口吻来分享,让我们来一起关注程序员成长。
CSDN:作为十年的程序员,你是如何看待程序员这一角色的?
安晓辉:程序员,就是手艺人的角色,吃的是技术饭。他当然有很多的酸甜苦辣咸,与其他行业并无不同。关键是我们自己的心态,你喜欢,你就有乐趣,如果你纯粹是把它当作一个挣钱糊口的手段,那可能就会慢慢厌倦这种高强度高更新频率的工作,要么麻木要么转行。
其实程序员没有比其它人苦逼多少。你说夜班出租车司机苦逼不,天天熬夜……你说建筑工人苦逼不,累死个人还被小市民鄙视……你说明星苦逼不,结婚了都不敢说,酒店开房还要被抓……你说国家领导人苦逼不,该颐养天年的时候还得四处奔波,还说不定哪天就被揪斗了……关键是心态,所谓此心安处是吾乡,每一行都有它的苦乐忧愁,花开富贵一季红,竹生平凡千日青,放平心态,一切都会不同。
CSDN:你也是中途踏入软件开发之路,程序员的门槛几何?与此同时,你认为普通程序员和优秀程序员的不同之处在哪里?
安晓辉:程序员没什么门槛,但是从普通到优秀,从优秀到卓越,这里面各有很长的路要走,对很多人来说,穷其一生也不一定能走完这中间的旅程。
关于普通和优秀的差别,从做事结果上看,优秀程序员做出来的软件可能有更好的易用性、健壮性、安全性、灵活性;从行为上看,优秀程序员会更积极一些,自我成就欲望强一些,最终表现在解决问题的思路、手段、能力等更强一些。
CSDN:一个程序员该如何学习技术以及选择技术方向?
安晓辉:对多数人来讲,你所做的事情决定你要学习的技术以及你将来会走的技术方向。当然有相对的一面,有些人,是先选技术后选事情,根据技术选要做的事情。但不管哪种,到最后,我个人观点,具体的技术都不再重要。重要的是,解决问题的能力。因为程序员的职责其实不是编写程序,而是解决问题。
如果非要讲如何学习技术,那还是奉行“实践出真知”吧。
至于选择技术方向,虽然说技术无高低,但还是要选择有发展潜力的吧,有些没落的,走下坡路的,就不要选择了,比如MFC之类的。需要说明一点的是,很多技术都有其特定的应用场景,我们在选择某一个技术方向时,实际上也选择了你工作的方向。这点可能会给将来的就业带来很大的影响,所以决定要学一门技术时,还是要了解一下它能解决什么问题,在什么行业得到了什么样的应用。
CSDN:有一定的技术后的准程序员们怎么找工作?以及有哪些职业风险?
安晓辉:这个话题比较大,我在漫谈程序员系列中也有谈及,感兴趣的可以 移步阅读。
其实干什么都是有风险的,对于开发人员来讲,最大的风险是什么呢?选错一门技术?干错一个项目?做错一个产品?跟错一个老板?……也许都不是,也许是没有在合适的年龄找到合适的妹纸……
对于开发人员来讲,最大的风险是:在职业规划上没有延续性地乱跳槽。
有人跳槽为了涨工资,不跳不涨么。一年都能换几次,也不管工作内容、技术路线什么的。这其实也无可厚非,是吧。龙生九子,个个不同。理解万岁。桥归桥,路归路。
我是比较迟钝的人,到了 30 多岁才第一次正式地来审视“怎样找工作、找什么工作”这个问题,可能是年龄大了吧,觉得不能再玩从零开始的游戏了。有人早慧,可能大学没毕业就明白了这个道理。真的,我有一同学,毕业时放着微软不去,坚定地找嵌入式的机会,真给他找着了,并且干得风生水起……还有个小盆友,小学时就说长大了要当校长,原因呢,是因为他的老师老打他手心,他当了校长就可以直接开掉这个老师……
当年我在参加一家公司的面试时对面试官说:要在两到三年内做到不可替代。结果被拒了……你懂的,单位都讨厌这个。可是作为开发人员,这是你时刻要牢记在心的:培养自己的稀缺性。
为什么这么说呢?物以希为贵么。如果你很牛X,干的活儿很重要,别人又替代不了,你自然受重视是吧。
CSDN:你做过五六年的项目经理,你对好产品的理解是什么?
安晓辉:说说我早前的经历吧,工作上回到老东家,是因为老板对我说要做产品,做一个视频相关的产品,具体是什么还不清楚。那时我虽然还有点儿糊里糊涂,听过很多道理,还没过好这一生。可毕竟已经不是懵懂少年,多少有了些自己的看法。觉得做产品比较靠谱,比外包靠谱,比外企有更大的可能性,没准一下子红了呢?风水轮流转,明年到我家,也许就可以鲜衣怒马走天涯……
这是我当年的一个认识吧:
“有产品做,就不要做外包;有独担一面的机会,就不要去做外企或者大公司的螺丝钉。”
当然很多人与我见解不同,理解并支持你们!王小波是罗素的信徒,罗素说,参差多态乃幸福之本源。本来么,求同存异,不能视见解与己不合的人为异端,那是法*西斯。工作中其实也是一样的。
吭哧吭哧干到了 2014 年,从 08 年到 2014 年,发生了很多变化,老婆孩子什么的都有了,人生有几个六年呢……有了白头发了……
如今,再来说一下我对好产品的理解,大概是这样的:
- 解决用户痛点
- 所处行业前景光明
- 产品有延续性,可持续性发展
好产品加上靠谱的公司,基本上就是比较靠谱的工作了,甚至可以做成事业。
总的来说,能解决用户痛点的产品就具备了好产品的基本条件。如果还能给企业带来效益,那就是真正的好产品了。这就是好产品的两面。
CSDN:怎么判断公司靠谱呢?
安晓辉:我有一些经验,用来鉴别不太靠谱的公司或工作:
- 只关注你过往能力和项目的匹配度
- 只想用你已有的技术能力解决公司遇到的问题
- 面试你的人对公司产品没有热情,自己都不了解公司的产品远景,也不了解公司的远景,说不出个一二三
- 没有新产品,招你就是维护性开发
如果新公司靠谱,有实力(有一帮牛人、有资本投入)把这个产品做好,那是最好的了。
对于如何了解一家公司呢。我认为互联网搜索、熟人打听、公司网站、招聘要求等都是途径。还有一个就是面试,一定要牢记,面试是双向的,不但是公司选择你考问你,也是你最好的了解这个公司的机会,有时机就问一些思考过的问题:为什么自己要离开现在的公司、自己想干什么、将来的路怎样规划等。
我在面试一些应聘者时,通常在最后会留机会让他们问问题,经常遇到有些求职者说我没什么问题……这么好的机会都放过了,一般这种情况,这个人我就不再考虑了……
CSDN:对于那些正在大学的准程序员和初级程序员,你最想对他们说什么?
安晓辉:假如一句话来概括的话:
不畏浮云遮望眼,风物长宜放眼量。
另外,作为开发人员,我们需要了解自己的能力边界,清楚自己能干什么不能干什么,多多发挥、打磨自己的长处。所谓自知者明自胜者强,有些短处倾其一生也是无法改变的,天生的,没必要在意。而有些长处经过打磨会越来越好,如果你不去发掘、培养它,那它也可能慢慢萎缩掉。
还有非常重要的一点,开发人员需要在软件开发之外建立另外的一个兴趣。人生需要多个支点,多样的生活会更加有趣。
未来畅想
CSDN:你如今的生活节奏是怎样的?
安晓辉:上班就是朝九晚五。我一般五点多就起床了,或者看书,或者写博客,或者干点儿别的。这是上班之前的事儿。下班之后,基本上是陪女儿。女儿睡了之后,基本上是再看会儿书、写点东西,或者研究一些技术问题,或者录制我的视频课程。
周末的话,有时陪女儿上各种兴趣班,有时出去玩一下。
CSDN:谈未来和梦想,很多人都说太空洞,但还是想听下你接下来的规划,以及你的小说梦和技术梦。
安晓辉:大学时泡BBS,写小说多一些,当时想着将来出版自己的小说,也想过开一家温馨的小书店……不过随着参加工作,慢慢都淡忘了。有一阵子我的签名档是:琐碎磨灭梦想。
可我们真的有梦想吗?
梦想还是要有的,万一实现了呢……所以,还是捋一捋生活,放空一下自己,看看什么是想要的,然后为之努力。
那我现在有什么梦想呢?我这人其实比较随性,这也行那也行,走哪儿都行,要说具体的规划基本是没有的。近两年就希望入伙的公司的产品能成。再远一些就希望能财务自由。
其实我最大的梦想,还是出版自己的小说,写出有意思的小说来。前一阵子重读王小波,感觉又不一样了,刚好那阵子想法比较多,对软件开发这10年也有很多感悟,就和老婆说要续写王小波的未竞之作《黑铁公寓》,把我老婆吓了一跳,担心我神经也会错乱。其实我真的想做这样的事情。王小波的另一个身份,也是非常优秀的程序员,这从他的小说《万寿寺》《红佛夜奔》《未来世界》《2015》等等中都能看出来,你看他行文的节奏、结构,里面包含了很多软件开发的东西,循环、迭代、递归、跳转,等等,如果从软件开发的角度来解读他的文本,将是非常有意思的事儿。
另外,我最近几年一直希望能做一些可以给女儿玩的游戏,可是相关的技术都还没来得及了解,有时间的话会学习,希望不要我做出来时女儿都上了大学。另外Qt也还有很多东西不熟悉,有时间的话会继续学习,当然也希望使用Qt做出一个跨移动平台的重量级应用来。
CSDN:你是什么时候接触CSDN的?它对你学习和工作都带来哪些影响?同时,对CSDN有什么建议?
安晓辉:翻翻我的博客,最早的文章是2008年写的。其实从2005年我做开发,就接触CSDN了,不过那时都是搜别人的博客借鉴别人的经验。
CSDN是非常棒的平台,上面有很多不错的技术博客,给予我很大帮助。我写博客后,CSDN给了我更大的帮助,一是我有一个地方可以总结、回顾自己的技术之路,二是它也让我在客观上获得了一些机会。在此一定要感谢CSDN。
我对CSDN的建议么,一个是希望CSDN更多地甄选和推荐原创、优秀的博文、博主,另外还希望CSDN可以建立回馈博主的机制以便更多的人能够分享自己的经验。
友情提醒:从技术支持中途转战软件开发,如今从事编程工作已十多有余,2014年CSDN博文大赛编程语言组冠军、CSDN Qt论坛的版主安晓辉老师从今天开始,坐镇CSDN社区问答栏目的第十四期,届时会接受广大网友的提问,欢迎各位网友前来与安老师一起交流。
当 Qt跨界牵手Android,移动开发会有什么不同?初学者如何借助Qt开发Android应用?安晓辉老师将携《Qt on Android 核心编程》一书,接受网友们关于Qt on Android 的相关提问,与此同时,也欢迎大家来与安老师交流程序员入行、心态、技能等方面内容。
参与活动请点击【社区问答第十四期:安晓辉——Qt on Android核心编程】。
若想获悉安晓辉老师更多动态,请关注:
安晓辉的专栏: 漫谈程序员、 Qt Quick简明教程、 Qt on Android和 C语言面向对象编程。
社区问答嘉宾采访上期回顾
更多精彩内容,请点击社区问答查看。
本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)
http://www.csdn.net/article/2014-12-11/2823078