如何找需求练技术
肖舸老师
被很多同学问,怎么才能知道用人单位的需求。
这个给个建议哈:去CSDN 或者其他什么网站的项目外包栏目看看,里面的需求,就
是别人肯付钱的需求,自己试着实现一下,比较练技术。如果能卖出去,就表示技术练差不
多了,可以凭这个项目经验找工作了。个人感觉,这个项目经验在找工作的时候,有时候比
学历证书管用。
嗯,这里面有几点请注意:
1、不要做外挂!不要做木马!不要去破解!这短期内能帮你赚钱,但长期看,相当于
自己封杀自己这辈子到达程序设计巅峰的机会。靠偷东西,是没有办法受人尊重的。就算以
后赚很多钱,脑门上还是写了个“贼”字。
2、不要去评价对方要求合理不合理,他肯花钱,就是客户,客户永远是正确的。
3、不要去嫌钱少,你觉得你已经很努力了,用了很多技巧,用了很多技术,但是,你
干的活,对客户产生的价值,就只有那么点。
4、有些太大的需求别怕,比如20000 做个带VoIP 的IM 软件之类的,那明显不是给你
的,是某些人,希望做套IM 系统,但又舍不得花钱,希望用这点钱,诱惑某个正在做这个
IM 软件公司的员工,把公司的源代码偷出来卖给他的,这是一种诱惑,算是引人犯罪,别
理他,堂堂正正地做人,比什么都强。
5、别怕别人的回复,很多人回复,说是什么什么的成熟团队,其实可能就做过一两个
项目而已,你找几个朋友也可以,尝试给客户发发电子邮件,低调一点,慢慢谈,刚开始甚
至免费做,就期待对方给你一个机会。只要做过,你已经赚到项目经验了,已经获得很多了。
6、不要想着一个人做事,有人看见一条自己合适做的,激动万分,生怕别人知道了,
恨不得这条消息马上下线,免得有竞争对手,其实,有竞争才有进步,找几个同学,一起做,
你会发现,你的同学比你聪明的。学着欣赏他们,以后你就是项目经理。
7、不要气馁,千辛万苦做出来,对方客户一句话,不要,很正常,市场竞争就是这样,
千万别跳楼,自己再来就是了。大不了重新来过,怕个P 啊!
8、用心做事,既然做了,目的就是卖钱,不是过家家,不是开玩笑,用尽全部心思,
让客户买单,不管最后结果如何,只要你做了,就问心无愧,而且,你会发现这个过程给你
带来的,比你卖的钱要多得多!
IT 学生解惑真经
CSDN 学生大本营http://student.csdn.net 出品
9、最后一条,如果你赚到钱了,有低年级的小弟,请教你如何赚钱,把我这篇文章推
荐给他,这不是培养竞争对手,是把软件外包这块市场越做越大,钱是赚不完的。帮别人就
是帮自己,以后你做项目经理,如果你手底下的技术骨干是你这么培养起来的,你说轻松不?
1、计算机其实就是能以恒定品质不断重复输出服务的机器而已;
2、编程的内功,就是对这个世界的抽象化理解能力以及描述能力;
3、编程序,就是拆解问题,但讲究个拆解的技巧和方法,以前人做过的,别做,尽量用,没有的,做过一次,尽量保留下来,供下次使用;
4、写程序,就是遇到需求,能迅速抽象,理解其共性,并能以清晰的语言描述出来;
5、写程序时拆解,是把问题简单化,不是说把一个问题描述得晦涩难懂。
感谢您分享您对编程的理解!
编程是有它的趣味之所在的,到一定的时候,真的是会顺水顺舟,水到渠成。
一直一来寻找的编程之精髓:程序融于生活,编程提炼人生。
1:我们不要急躁,修炼内功。
2:编程趣味生活中无处不在,编程能带领我们触摸到社会的各个角落,跻身编程不枉人生
3:玩转编程后,让人生变的轻松愉快
因此,我最后给这位同学的建议是这样的:
1、想学习,选准自己的方向,比如Java。
2、买点入门的书,查字典也需要,不要多了,1~2 本就够
3、网上有很多解密的教程,不管是PPT、PDF 还是录像,下一个,下的时候,先不忙
去挑选哪个好,随便一个,只要别人做出来,就有真东西,大家别不信,很多人,挑课程能
挑一个月。
4、捏着鼻子把这些东东一股脑看完,我的习惯是边看边写笔记,眼过千遍,不如手过
一遍。看书也喜欢抄书,一般一本书抄一遍,怎么都会了。5、每章的习题都做,就是给自己下任务,一定做完,做不完不睡觉。
6、这么坚持两个月,我不太相信效果不如培训班,最惨了,这不还有学生大本营嘛,
有问题你问嘛。
那我们怎么办呢?我这里给大家几点建议:
1、任何时候,努力学习和做事,都是对的,大家到了公司,先努力做事,争取早日成
为技术骨干,拥有自己的核心竞争力。这是保证自己安全的关键,也是以后升职加薪的关键。
2、上述问题,在我们还没有取得任何成绩的时候,其实是没有意义的,大家无需理会,
先做出成绩来。要让老板提防你,首先你也得有让他提防的东西啊,你说是不?
3、做出事情来,可能会升职加薪,可能也不会,不排除受到打压的可能性,建议大家
遇到了,平常心对待,先看看呆的下去不?呆不下去,换个公司也无所谓,这时候,你前期
的努力就体现出来了,一个做过事的人,和一个没有做事的人,面试时5 分钟就能看出差距,
面试官都是人精,你放心,你的水平他看得到的。
4、如果事情不好也不坏,老板既没有炒我,也不给我升职加薪,那就继续,也许我们
的努力还不够,还不足以让老板重视,加油。当然,还有个重要的问题,你对这家公司需要
的技术,业务是不是已经学完了?没有就坚持做事,学习,什么都学会,什么都能做,老板
还看不到,叫做他瞎了眼,那个时侯再闪人,效果会更好。5、当然,自古知兵非好战,我们也不是为了跳槽而跳槽,在公司一天,就认真做事,
平时的态度也要端正一点,多说点公司的好话,觉得不对的地方,私下,记住是私下,给老
板发封电子邮件,语气平和点,站在公司的立场上,帮老板改善公司的状况,老板会感激你
的,这一来让老板认识到你的重要性,二来给老板吃颗定心丸,表示你还是支持公司的,老
板会报答你,用升职加薪来报答你的。
6、不管公司同不同意,努力构建自己的不可替代性还是没错的,毕竟我们的寿命比很
多公司都长,公司和老板不可能养我们一辈子,有了本事,到哪都能吃饭。因此,先做好自
己。
7、当然,既有了不可替代性,又不让老板担心的员工,同时还不断帮老板提升工作的
人,就要换个名字了,这种人一般叫做公司的“核心骨干”,或者干脆叫老板的“心腹”,如
果你是老板,你会怎么对待这种员工?
简述 C和 C++的学习历程
肖舸老师
总是被同学们问到,如何学习C 和C++才不茫然,才不是乱学,想了一下,这里给出
一个总的回复。
一家之言,欢迎拍砖哈。
1、可以考虑先学习C。
大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解
决问题的专家。做一个有用的程序员,做一个赚钱的程序员。我们的价值,将体现在客户价
值上,而不是语言写得好不好看。
C++是C 的一个面向对象的解释,C++为C 扩充了大规模工程应用,复杂的系统结构的
组织和掌控方法,但是,我认为,C++骨子里还是C 的。
毕竟,解决具体问题,每个函数内部,都是用C 的方式写程序,还是面向过程的。
因此,想要学习好C++,我的建议,先学习C,先学解决问题的能力,再讨论解决大问
题的能力。就是先学习怎么走路,再学习怎么跑步。
2、学习C 的过程中,一定要理解结构化编程思维。
为什么呢,我前面有文章说过,软件语言的发展过程,就是一个数据私有化的过程,大
型工程应用,强调高内聚,低耦合,模块化设计,保持代码最大的灵活性和安全性。
这是现代工程化开发的核心和灵魂。
因此,利用C 这门语言入门,借此理解结构化开发思维,可以说是个很方便的路子。
因为C 的函数,本来就是为重用做准备的。同时,全局变量和cpp 内部私有变量的差别,
其使用原则,这些都能学到很多结构化开发思维。
3、开始学习C++
C++不难学的,很多人觉得C++难学,其实是因为它在C 之外,又提供了很多的概念,
尤其是对象,很难以理解。
不过我经过这么多年,把这个问题反而看淡了,我认为面向对象相对面向过程,仅仅是
结构化程序设计的一个具体体现,是编译器提供手段,强迫程序员必须遵循数据私有化的一
个实例,C++和C 的关系,最核心的莫过于此。
IT 学生解惑真经
现在我们回到C 再看看,如果我们把一个全局变量,写到一个cpp 里面,并且在对应
的h 文件中不声明,它是不是就只有这个模块可以使用?它是不是就是私有变量,以这个理
解,类能明白了吗?
4、学习C++的深入技巧
C++在类的基础上,经过这么多年的发展,其实提供了很多深入的概念,看起来很复杂,
其实我看也很简单。比如模板,我的理解就是“类的类”,大家说是不是?
既然模板理解了,STL,ATL 这些,静态模板库,动态模板库,还难理解吗?就是一大
堆类的类,可以借此实现很多应用中需要的类,不需要程序员再自己写而已。
ok,STL 都理解了,泛型开发还难吗?所谓泛型开发,其实就是我做一个模板,来定义
一套算法规则,但是呢,我希望这个算法规则,能进一步抽象,对核心数据类型不要限死,
我把各种数据套进去,都可以用,这样,仅算法这部分,我不需要重写了。你想想是不是这
个道理?
学到这里,C++和C,其实已经差不多了。再学语言,就是求全责备,过于钻牛角尖了。
5、学习应用开发
前面说了,学习语言,目的不是让别人认为自己是专家,是为了写程序赚钱。因此,语
言学完,要学习应用开发。
什么叫应用开发呢,我会一门语言,但是,客户不懂,客户说的很直接,在Windows
下给我写个程序,我要什么什么功能。为啥Windows呢?因为我习惯。
OK,很多时候,应用开发要尊重客户习惯,一般说来,语言这个东东,还是要结合具
体平台的开发,才能开发出有意义的应用程序卖钱。那么,一般说来,客户端是Windows
系统,服务器是Linux,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm,S60,Linux,
WinCE,等等。要根据自己的目标客户来定。
当我们选定目标平台后,有一个问题,选什么语言,很多时候,学生和商用程序员差别
就在这里,学生一般没得选,自己会啥就用啥呗,企业里的程序员不会,要先评估需求,看
哪个语言更合适,不会的语言,要去学。
ok,假定我们选了C 和C++,那么,我们需要选择开发平台,Windows 下不用说了,VC,
这是最好用的,Linux 下呢,gcc,其他的也差不多。
假如我们开发VC,并且使用C++,这个时候,才需要考虑学习MFC 了,因为这是微
软的标准类库,至少Windows 平台下,它最权威,你看见没有,我们从学习开始,走了多
少步,才走到MFC?是不是MFC 不是学习C++上来就必须学的?
6、学习MFC
IT 学生解惑真经
CSDN 学生大本营http://student.csdn.net 出品
学习MFC,很多人一上来就开始看其体系架构,看得一头雾水,那个模块关系依赖图,
我到现在都看不懂。
呵呵,其实不是啦,和学语言一样,我们学MFC 的目的,也不是希望成为MFC 的专
家,而是要利用MFC 开发Windows 应用程序,为我们赚钱。看见没?MFC 是手段,不是
目的,目的是开发Windows 程序。
其实Windows 下,有一套很标准的C 接口,叫Win32API,这个才是Windows 的标准
编程核心,因此,学习MFC,真实的目的是理解Windows 程序开发,建议可以先学习
Win32API,看来我们又回到C 了哈,呵呵。刚开始学C 有用吧?
7、Win32API
其实Win32APi 不难学的,因为虽然它很大,有很多接口,但不是必须的,我们真正做
个简单的Windows 应用,其实用不到这么多的。做个简单的Dialog,然后实现个功能,你
遇到的接口函数,其实绝大多数,就是以后常用的了。把常用的记熟练,就ok 了。
关键是,这个时候要通过WinMain 方式,去理解Windows 的事件机制,这是核心,其
实说起来简单得要死。就是以前你的程序,由于没有系统支撑,很多事必须自己做,比如检
查鼠标和键盘输入,你需要写个死循环,自己不断去看,而Windows说,这些事你不要做
了,我来做比你好。你没事就玩去吧,我把和你相关的消息放到一个队列里,就是你的事件
队列,你自己没事去找找看,有没有新消息来,有就做事,没事就玩好了。很简单是不?
当然,Windows 是多任务操作系统,有时候,我们的逻辑需要并发一些功能,比如说,
我在等鼠标键盘消息的时候,需要再看看打印机准备好了没有,这里就需要理解并行计算了,
这和语言无关,和操作系统无关,这是另外一个话题,这里不多说了,你可以自己找找线程
开发的相关资料看。
看见没,为了学习好Windows 编程,其实我们不仅仅需要学习语言,还要学习操作系
统,并行计算原理,内存原理,可能有时候还需要学习网络通信,等很多知识,所以说,单
凭学习语言,是成不了商用程序员的,一个合格的程序员,需要理解的东西,太多了,要广
为学习。
当我们把Win32API,以及基本的窗口化程序设计理解了,就可以回到MFC 继续学习
了。是不是有点递归返回的意思?呵呵。
8、回到MFC
原来学MFC 很难的,因为其封装了太多细节,很难理解透彻。不过还好,我们有侯老
师的深入浅出MFC,去找本来看看,如何从Win32API 的纯C 编程,改变为MFC 的C++
方式,看这个最快,基本上前6 章看完,已经会了,这里我就不多说了。
9、COM
COM、COM、COM,我最头疼的COM,呵呵。
COM 就是一种远程过程调用,即你请求的代码是在另外一个进程中运行的,通过某种
通信协议来回传递参数和结果。仅此而已。DCOM 进了一步,服务者可以在另外一台计算
机上。在公司开发中,大家可能各做一块,如果要合作,Windows下建议多使用COM。( 我
个人喜欢socket 通信哈)
简单说,COM 提供了一种机制,可以跨进程通信,甚至跨机器通信。不过,为了传递
各种类型的参数,COM 可谓是无所不用其极,它发明了智能指针,可以指向任何类型的数
据,同时,为了实现智能指针,它使用了大量的C++泛型设计,看见没,C++的基本功就起
作用了,还用到了ATL。
学习COM,要注意一个接口的概念。由于开发者是不同的人,调用程序和服务程序,
可能不是同一种语言,OK,不能简单提供一个C 或C++的.h 文件来解答接口,因此,COM
提供了标准接口,使用者在程序内部,以查询方式获得可用接口,进而以接口ID 调用。很
累人的。
学会了COM,就可以多理解一点ActiveX 了,那么再学习一点dll(动态链接库)的知
识,我们就已经可以写OCX 控件了。一般说来,OCX 控件是个很好的设计,哪都能用,一个软件的模块,最理想是开发成这个样子,比exe 灵活。
10、没了。按少林派说法,学了上述这些,其实已经算打过18 铜人阵了,已经可以下山助明主,
扫奸佞,扭转乾坤,解万民于倒悬了。
不过,关键是你通过上面的过程,是不是已经学会了学习的方法,再遇到新的东东,是
不是已经不难学了?这大概就是武学中的悟性了,有了这个根基,以后只要慢慢修炼,估计
20 年后,可与天下英雄一较短长了。