前几天受客户的要求,从合肥到上海去出差,主要是解决去年给客户端开发的一个邮件客户端软件的一些BUG还有功能性问题。
出差感觉比较好的一点就是一般都是报销车费吃住什么的,对于不是经常跑动的人来说,如果出差工作不是太累的话,算是一次旅游。
对我们程序员来说,实际上很难得四处跑,基本上都是在大公司一天到晚面对着电脑,因此这次去上海我还是感觉挺不错的。
到了公司,和那边接上了头,上海某公司,公司也不算大,都是年轻人,大部分还都是上海交大的硕士研究生,应该也算是一个创业型的公司,比较杂乱符合IT公司的标准。
和我沟通的是整个项目的负责人Jeff,也只是一个研三的学生,但是感觉气场还是可以的,沟通起来也没什么问题。在他身上我学到了一点就是一定要
学会和善于沟通,很多问题一定要表达清楚,哪怕很难的东西,如果你能够用简单的一句话就能够让别人明白,这就是一种沟通的本事。而很多情况下,一个很简单的东西,非要说成很难,或者词不达意,这就完全偏离了沟通的本质,当然这种模糊的情况在很多地方也是适合的。比如在公务员系统,听说很多话就不能说明白。但是在程序员里,我觉得两者要兼而有之,首先,要表达清楚,第二,对于一些的确有难度或者耗时的工作也要说清楚,很多时候就是因为说的太简单轻巧,才导致后面自己不能按时完成的窘境。
这次出差主要是解决用C#写的客户端的一些BUG还有代理功能的问题。对于C#的BUG问题比较好解决,就是根据客户的要求修改或者增加一些功能。但是对于代理功能这一块就比较难了,就是利用SOCKS5协议来收取POP3或者IMAP的邮件。我之前好不容易找到的一些代码只支持匿名的代理连接,
后面也的确发现,只能使用匿名代理才能完成。测试的代理服务器用的是CCPROXY破解版,用来做SOCKS4和HTTP代理的测试还是很不错的。
在这里还碰到了一个比较大的问题就是环境问题。不像其他行业和工作一样,计算机程序开发有时候对环境要求很严格。我开始以为自己的开发环境只要是C#就可以了。后面在公司提供的电脑上配置环境的时候发现,我的C#使用了sqlite.dll的动态链接库,而我使用的sqlite.dll是32位版本,公司的电脑是64位版本。我换成sqlite.dll64位的版本后,发现又多了其他问题。短时间内根本找不到解决方法,而我给自己安排的出差时间也只有两天,算上半天的坐车,实际上只有一天半做开发,而在配置环境的时候,已经用完差不多半天了,真正可用的就是一天时间。就有点紧张了,也开始想办法,第一就是安装虚拟机,也就是在64位电脑上安装vmware,然后继续安装32位xp,在虚拟机中开发,但是后面发现不可取,安装太慢。估计安装完就到明天了。还好幸运的是,我一直带着自己的超薄电脑,里面环境齐全,就是开发速度会慢一些,毕竟是笔记本嘛。
没办法,还是使用自己的笔记本电脑来开发,公司给的电脑就用来查查资料。比较幸运的是,在剩下的一天的时间里,我顺利完成了工作。而且还学到了关于代理检测的一些其他知识。
总结一下:
一、程序员出差,一定要注意环境和数据。比如一些备用素材库、软件或者测试数据一定要带好。在没有特殊的情况下,最好随身带上自己的笔记本,虽然会累一些,但是往往能达到事半功倍的效果。
二、多思考,多想办法。很多客户只会从需求的角度来考虑问题,而不会考虑能不能实现或者实现难度的问题,这个时候就非常需要自己的思考,这也就是低端玩家和高端玩家的区别,不仅仅懂技术就可以了,更重要的是学习一种更好的思维方式,这块也是我很欠缺的地方。
三、喜欢自己的生活,喜欢自己的旅途~~~。
其中涉及到lumisoft.dll和C#socks5代理,还有一些关于C#本身的开发问题可以到网站www.itbuluoge.com联系我。