从用人企业的角度来看,当然希望应聘者具备“造火箭”的能力,就算入职后主要的工作是“拧螺丝”,但万一什么时候需要“造火箭”呢?有的公司会养个技术大牛,平日里也悠哉悠哉没什么事,你可能觉得人家吃白饭,可公司服务器挂了谁都搞不定的时候,他一出手三两下收拾利索了。
养兵千日,用兵一时。你要是天天都干“造火箭”的事,要么,是你们公司有问题;要么,是你的能力有问题。前者是救火,什么情况之下才会天天救火?琢磨下这事正常吗,消防队员常驻,这是什么建筑?后者是弱鸡,自己本事有限,老板给的任务就是“造汽车”,你执行时觉得是“造火箭”,小马拉了大车。
再者,面试问的问题难一点,正常。就像你找女朋友,她漂亮,她可爱,她温柔,她善良……她这么多优点了,你也希望她是有个土豪老爹不是吗。面试一看,哎呦,小伙子技术棒棒哒,问点更难的没准儿有惊喜,合理。更重要的是,我问你什么你都对答如流,我一会儿怎么和你谈工资,你这么牛!稍微有点经验的面试官就一定会问你点更难的问题,问你点你不会的问题,打压你一下,否则你骄傲得和孔雀开屏似的,我咋和你砍价?这是手法问题。
不过对于面试官说的一些话,倒是真戳中了现在的一些现象,如今高校人才越来越多,但工作岗位是越来越少,怎么制定一个合理的学习计划,让自己长期保持一个靠前的竞争力,对于很多未毕业和毕业不久的年轻程序员来说,是最关键。
看看这个,你就明白了,希望对你有帮助!
一、为何要学编程?
每个人的动机不一样。大致有:
1、为了找个好工作;或为了有更好的机会和更好的发展。
2、看到别人超厉害,所以也想学。
3、实际工作中很多场合需要。
4、从小就立志做个程序员,做软件工程师。
5、振兴中国的软件事业。
。。。。。。
================================================
二、如何学编程?
1、多看好书。
差书误人子弟,不但浪费时间和精力,而且打击人的信心,差书使人很久都不会,让会让人怀疑自已的学习能力。
现在的书很多,但好书很少,特别是被大家公认很有价值的好书,更是少之又少。历经多年时间考验和市场风雨不残酷洗礼而仅存的巨著,更是极其稀少。中国历史上文学小说类书本多如牛毛,但仅存的巨著,也只不过<<红楼梦>>等四本名著而已,编程方面也是如此。
2、多动手。
这一点很重要。而且特别重要。“纸上得来终觉浅,绝知此事要躬行。”陆游的千古名句说的就是这个道理,并且同样适合于编程方面。
================================================
三、用什么语言最好?
这主要取决于应用领域,每种语言都有自已的长处和不足。
1、汇编语言和C语言在单片机及工控领域用较多。另外C语言也是一种通用语言,是学C++/c#的起点。
2、C++系统编程等多个方面,最常用的编译器是VC。
3、C#/java网络编程方面新兴的。
4、VB通用。
5、还有Delphi等。。。。。。
个人建议:从未编过程的,就从学vb开始。有基础的可直接学c++/VC。
===================================================
四、有什么好书?
几年前,台湾著名技术作家侯捷先生曾经写过一篇影响很大的书评文章,叫做《MFC四大天王》。文章的意思是说在MFC的浩瀚书海中,只要认真研读和学习其中四本,就可以“五岳归来不看山”。侯先生虽以MFC为例,但是这个道理却同样适合于MFC之外的很多具体技术领域,这不能不说是一个有趣的统计现象。
通常在某一个具体细分的技术领域,会自然而然地出现3-5本顶级著作,它们彼此互相配合,形成一个完整的体系。对于学习者来说,只需要认真研读这几本书,就足以升堂入室。我乐于将这种现称为“四书五经现象”。对于读者来说,如果能够找到该领域中的“四书五经”,则无论在时间上还是金钱上都是最经济的选择。好书几本,胜过烂书几捆,这个体会想必大家都有。在此,帮助大家遴选各个技术领域里的“四书五经”。
编程的书可谓汗牛充栋,其中经典也是不泛其数,但绝大多数的过来人,都一致认为,要想很快的入门并尽快的投入到编程实践中,只要其中的四到五本也就够了,即只看经典中的经典,圣经级的书就可以了。
所谓活到老学到老,程序员是个终身学习的职业,要不断的看书,直到放弃编程的那一天。所以,您要读的好书也绝非以下推荐的这些书哟,呵呵。
一句话,由于我们的时间、精力、金钱都是有限的,如何以最小的代价换得最大的收获。
================================================================
五、经典好书分类热销榜
1、java
java编程语言(第三版)---java四大名著----James Gosling(java之父)
java编程思想(第2版)----java四大名著----Bruce Eckel
java编程思想(第3版)----java四大名著----------------Bruce Eckel
java 2核心技术 卷I:基础知识(原书第7版)---java四大名著-----Cay Horstmann
java 2核心技术 卷II:高级特性(原书第7版)----java四大名著-----Cay Horstmann
Effective java中文版------java四大名著--------Joshua Bloch
精通Struts:基于MVC的java Web设计与开发---孙卫琴
精通Hibernate:java对象持久化技术详解---孙卫琴
Tomcat与java Web开发技术详解------------孙卫琴
java与模式------------------------------阎宏
2、c#
C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”
C# Primer中文版--------Stanley BLippman---C#语言“倚天屠龙双剑”
NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---NET平台四大天王
C# Windows程序设计----------Charles Petzold“windows编程泰山北斗”------NET平台四大天王
NET程序设计技术内幕-------------Jeff Prosise---NET平台四大天王
NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---NET平台四大天王
3、C++
C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”
C++ Primer (第3版)中文版----c++八大金刚---Stanley BLippman
C++ Primer (第4版)中文版----c++八大金刚---Stanley BLippman
C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai MJosuttis
C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”
深度探索C++对象模型---c++八大金刚----Stanley BLippman
Essential C++中文版---c++八大金刚---Stanley BLippman
Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers
More Effective C++中文版----c++八大金刚------Scott Meyers
C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel
C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel
C++程序设计--------------------------谭浩强
C++ 程序设计教程(第2版)--------------钱能
C++ Primer Plus(第五版)中文版---Stephen Prata
广博如四库全书The c++ programming language、c++ Primer
深奥如山重水复Inside the c++ object model
程序库大全The c++ standard libray
工程经验之积累Effective c++、More Effective c++、Exceptional c++
c++八大金刚:
1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者
2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,圣经。
3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++百科全书代表。
4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。
5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。
6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。
7、The c++ standard libray---c++标准库的百科全书。
8、设计模式:可复用面向对象软件的基础------good!
4、c
C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian WKernighan“C语言之父”
C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata
C程序设计(第三版)---------------------------谭浩强
C语言大全(第四版)---------------------------HERBERT SCHILDT
C语言接口与实现:创建可重用软件的技术-------------DAVID RHANSON
C语言参考手册(原书第5版)--------------------------Samuel PHarbison
C程序设计教程---------------------------------HMDeitel/PJDeitel
C陷阱与缺陷-----------------------------------Andrew Koenig
5、VB
Visual Basic NET技术内幕-----VB编程三剑客-----------Francesco Balena“vb首席大师”
Windows程序设计-Visual BasicNET语言描述--VB编程三剑客-----Charles Petzold“windows编程泰山北斗”---
NET框架程序设计:Visual BasicNET语言描述--VB编程三剑客--Jeffrey Richter“windows编程泰山北斗”---
Visual Basic 6编程技术大全------------------------Francesco Balena“vb首席大师”
Visual BasicNET 从入门到精通-------------------------Petroutsos,E
高级VISUAL BASIC编程-----------------------------------MATTHEW CURLAND
6、Delphi
Inside VCL(深入核心——VCL架构剖析)----------李维
Delphi 7高效数据库程序设计--------------李维
面向对象开发实践之路(Delphi版)----------李维
7、VC
Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---
Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---
Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---
深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷
MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff Prosise
Visual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski
深入解析MFC-------------MFC四大天王”-----------George Shepherd
Visual C++NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski
8、vf
Visual Foxpro程序设计参考手册-------------------张洪举
专家门诊——Visual FoxPro开发答疑160问-------------------张洪举
Visual FoxPro 60/90解决方案与范例大全-------------------张洪举
Visual FoxPro软件开发模式与应用案例-------------------张洪举
9、黑客
应用密码学(协议算法与C源程序-----------Bruce Schneier
网络信息安全的真相-----------Bruce Schneier
黑客大曝光:网络安全机密与解决方案(第5版)--------STUART MCCLURE
软件加密技术内幕------------看雪学院
加密与解密——软件保护技术与完全解决方案------------看雪学院
加密与解密(第二版)--------段钢
10、汇编
Intel微处理器结构、编程与接口(第六版)---------Barry B Brey
8086、奔腾机汇编语言程序设计---------Barry B Brey
Windows环境下32位汇编语言程序设计(第2版)-----------罗云彬
IBM-PC汇编语言程序设计(第2版) 本书是国内优秀教材--------沈美明 温冬婵
IBM PC汇编语言程序设计(第五版) 这本书籍是国外优秀教材-------PETER ABEL著,沈美明 温冬蝉译
11、驱动开发
Windows WDM设备驱动程序开发指南------------------------------------ Chris Cant
Windows 2000/XP WDM设备驱动程序开发(第2版)--------------------------武安河
WINDOWS 2000/XP WDM设备驱动程序开发-------------------------------- 武安河
12、网络
计算机网络第四版中文版----网络编程三剑客--------------Andrew STanenbaum
TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客
UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客
用TCP/IP进行网际互联-----------Douglas E Comer
高级TCP/IP编程-------------------Jon C Snader
C++网络编程-----------------------Douglas Schmidt
UNIX环境高级编程(第2版)--------------------Richard Stevens
13、算法
计算机程序设计艺术-------DonaldEKnuth----------算法“倚天屠龙”双剑
算法导论-----------------Thomas H Cormen--------算法“倚天屠龙”双剑
离散数学及其应用----------Kenneth HRosen
具体数学—计算机科学基础--------DonaldEKnuth
14、图形编程
Windows 图形编程----------------FENG YUAN --图形编程界的Charles Petzold之书
15、数据结构
数据结构 C++语言描述》5800(Data Structures C++) William Ford,William Topp 刘卫东 沈官林
数据结构算法与应用-C++语言描述》4900Sartej Sahni 汪诗林 孙晓东等机械工业出版社
16、软件工程
设计模式--可复用面向对象软件的基础
重构—改善既有代码的设计
17、 *** 作系统
深入理解计算机系统(修订版)-------RANDAL EBRYANT
18、Unix
UNIX 网络编程 卷I 套接字联网API(英文版 第三版
UNIX 编程艺术
UNIX环境高级编程(英文影印第2版-----UNIX编程“圣经
UNIX环境高级编程(英文影印版)(第2版)
UNIX环境高级编程(第2版)
UNIX环境高级编程(第2版)---UNIX编程“圣经
UNIX网络编程 第1卷:套接口API(第3版)
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX 网络编程(第二版)第2卷:进程间通信
UNIX编程环境
UNIX 网络编程 卷I 套接字联网API(英文版 第三版
UNIX系统编程
UNIX环境高级编程
UNIX 网络编程 卷I 套接字联网API(英文版 第三版)
UNIX网络编程 第1卷:套接口API(第3版)
UNIX 网络编程(第二版)第2卷:进程间通信
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API
UNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)
UNIX环境高级编程
Unix技术手册
19、Linux
Linux内核设计与实现
Linux内核完全注释
LINUX内核分析及编程
GNU/Linux 编程指南(第二版)
Linux设备驱动程序(第三版)
嵌入式设计及Linux驱动开发指南——基于ARM 9处理器
Linux设备驱动程序 第三版(英文影印版)
Linux内核设计与实现(第2版)
Linux内核设计与实现(英文影印版)(第2版)
linux技术手册
20、游戏编程
Windows游戏编程大师技巧(第二版
游戏之旅--我的编程感悟
OpenGL超级宝典:第三版
OpenGL编程指南(第四版)
java 游戏高级编程
J2ME手机游戏编程入门
游戏之旅——我的编程感悟
游戏开发中的人工智能(英文影印版)
3D游戏:卷2 动画与高级实时渲染技术
面向对象的游戏开发
java 游戏高级编程
3D游戏编程大师技巧
游戏编程精粹
面向对象的游戏开发
3D游戏 卷1:实时渲染与软件技术
3D游戏:卷2 动画与高级实时渲染技…
J2ME手机游戏编程入门
Direct3D游戏编程入门教程(第二版…
21、移动开发
Windows Mobile手机应用开发
SYMBIAN OS C++手机应用开发
Windows Mobile手机应用开发--傅曦 齐宇 徐骏
SYMBIAN OS C++手机应用开发 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣译
SYMBIAN OS C++手机应用开发---------------RICHARD HARRISON著,周良忠译
Windows CEnet内核定制及应用程序开发---------周毓林 宁杨 陆贵强 付林林
嵌入式系统Windows CE 开发技巧与实例--傅曦
Palm OS编程实践---绝版
22、单片机
单片机轻松入门----------------------------------周坚(平凡老师)
单片机典型模块设计实例导航-----------------------求是科技
例说8051----------------------------------------张义和 陈敌北
KEIL CX51 V70单片机高级语言编程与ΜVISION2应用实践-----徐爱钧
单片机应用程序设计技术(修订版)--------------------周航慈
8051单片机实践与应用-------------------------------吴金戎
MCS-51系列单片机实用接口技术---------------------李华
23、串并口通讯
Visual C++/Turbo C串口通信编程实践------------------龚建伟
VISUAL BASIC与RS-232串行通信控制(最新版)----------范逸之
24、电子
无线电识图与电路故障分析轻松入门(第二版) -------------------胡斌
无线电元器件检测与修理技术轻松入门(第二版) -------------------胡斌
图表细说电子技术识图-------------------胡斌
图表细说电子元器件-------------------胡斌
图表细说元器件及实用电路-------------------胡斌
================================================================
六、怎样成为一名程序员
通过以下4个阶段的训练, 没有任何编程基础人就可以成为一名普通的程序员。
第一阶段:掌握一种编程语言
学习内容:学习任意一种主流的编程语言。例如C++语言。
学习目标:熟练掌握一种语言的语法和基本的编程技巧。
学习时间:3个月左右
注意事项:编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指Visual C++ 60、Visual Basic 60、Delphi 70等包括了源代码编辑器、程序编译器在内的集成化、可视化的软件开发工具。C++源程序可以在Visual C++ 60里编写,也可以在记事本里编写,而同一个C++源程序可以用Visual C++ 60编译、执行,也可以用C++ Builder 50 编译、执行,所以: C++ 不等于 Visual C++ 60
第二阶段:掌握一种编程工具
学习内容:学习任意一种主流的编程工具。注意编程工具要和第一阶段学习的编程语言一致,例如你学习的编程语言是C++,那么编程工具要选Visual C++ 60或者C++ Builder 50。
学习目标:熟练掌握这种编程工具基本用法,例如:菜单、组件、程序跟踪调试、编写Windows程序等。
学习时间:3个月左右
注意事项:这个阶段侧重编程工具的使用,同时进一步熟习编程语言,最后达到能熟练编写各种基本的Windows程序。
第三阶段:掌握“算法与数据结构”这门课程
学习内容:算法与数据结构,推荐许卓群的《数据结构》,高等教育出版社出版。
学习目标:熟练掌握各种常用的算法与数据结构
学习时间:4个月左右
注意事项:这是一门不可或缺的软件开发课程,曾经有一本经典计算机专业书籍叫做《数据结构+算法=程序》,这说明了数据结构和算法的重要性。它能帮我们建立良好的程序分析与设计能力。
第四阶段:实现一个模拟的小型软件项目
学习内容:软件项目的开发过程
学习目标:掌握软件项目的基本开发过程和方法
学习时间:4个月左右
注意事项:自己完成一个模拟的小型软件项目,强烈推荐做一个MIS(管理信息系统)软件,参考用书推荐“中小型信息管理系统开发实例系列丛书”,人民邮电出版社,它的例子详实有效,以它为基础再加以扩展,就可以做出实用的MIS软件来。此丛书包括多种开发工具,大家可以选择适合自己的:《VISUAL FOXPRO60 数据库系统开发实例导航》 《java数据库系统开发实例导航》 《VISUAL BASIC数据库系统开发实例导航》《VISUAL C++60数据库系统开发实例导航》 《ASPNET数据库管理系统开发实例导航》 《DELPHI数据库系统开发实例导航》《POWERBUILDER 80数据库系统开发实例导航》。
最后将完成的模拟软件刻成光盘,作为自己的作品去面试,以此踏上自己光辉的职业程序员之路!
Android程序员的职业规划,怎么说呢?一句话叫做:早知如此,又何必当初。命运有些是自己可以掌握的,有些可能需要运气和机会。
一、路径可达
先说说路径可达这个词吧?有些人会觉得他的路看不到未来,有些人就可以清晰的看到他的方向。如果你现在所做的工作过两年会不会有所成长,达到你的目标。如果答案是否定的,那么说明现在的工作是没有上升通道的,就需要改变。当然安于现状不思进取是另外一回事。时刻反思自己所走的路,然后迅速调整,可能会少走很多弯路,毕竟时间不可逆。
二、时间规划
我有时候会想我五年后在哪里?做什么?大部分人对于这个都会比较模糊。因为时间跨度太大。五年时间相当于整个生命长河其实比较短,但在职业规划中确是很长的段,特别是刚毕业的那五年。从时间规划来讲肯定会用到时间的切分。宏观的东西只有落地到一件件事上才是有效的,才算得上完整的规划。但是话又说回来人是有惰性的,人对于这种有限制的东西有天然的排斥感,执行起来非常痛苦,即使开始执行起来很有激情,过不了几个月,所有的计划都缩水了,这同时也导致了很多时间的浪费和做事情的盲目性。所以计划的时效性和执行很重要,这里又会涉及一个词:“执行力”。
没有计划也导致学习变成一个一个孤立的点,完全没有串连性。因为你是想到学什么学什么,而不是计划着学,一段时间后可能会有一些积累,但是永远深度不够。这可以做一个简单的实验,把自己脑子里的东西理一理,如果时间需要很长说明整体知识体系已经有些混乱,可以对比一下 *** 作系统的磁盘整理。如果一个人能很好的管理时间那么必成大牛。好学生好在哪里,排除智商的因素外,就是时间管理和善于思考。我觉得我自己最大的问题:时间管理,自律性,沟通能力。这三块是我觉得自己最缺乏一定程度上是致命的,很大程度上会决定我未来的所发展的高度。
三、项目经理还是架构师
在程序员中一直有个讨论就是将来要做项目经理还是做架构师。这两条路的侧重点不一样,所以积累的东西也可能不同。项目经理更强调综合能力,比如说协调能力,沟通能力等一系列偏管理的能力。而架构师可能更专注于技术本身,技术上的宏观方向。两条路有重叠,但是更多的是区别。有些项目经理可能就不会写代码。但是同样可以带好一个项目,一个团队。
我曾经也问自己要是以后这两条路走哪条,其实都可以尝试一下。比如说给一个项目让我带带,我能否把它带好,其实需要机会,同时也需要自己去争取这样的机会。所以我的答案就是如果有机会的话两条路都可以尝试走走,就是两个方向的一些能力都可以进行积累。很多人认为项目经理是一个职位,我倒觉得是动态的,这个项目中你做项目经理,另外一个项目中可能又是开发工程师。所以不永远是项目经理,也不永远是开发工程师。
就程序员而言,专注技术是没有任何问题的,先技术后管理。管理这个东西总的说有点虚无飘渺,各都有各的一套理论,比较难以评估。但是技术是可测量的,通过一定的努力技术水平都会有定的跃升。记得在《肖申克的救赎》里面说到地质的形成只需要两个条件:压力和时间。其实对于学技术也是一样的。只要肯学一定会达到某个水平。到大牛级别的确实需要一些悟性和天分。
四、我的选择
我为什么觉得自己应该走架构师这条路,这和我职业终极目标是契合的。这里先说一下架构师做什么?架构师负责整个项目甚至整个系统的构架(这一句话等于废话)。一般型的项目可能这个设计项目就做掉甚至可能就不需要架构。但是系统复杂度上升的时候,会涉及到系统之间的交互,还有技术的可行性和整个设计的方案。这个时候架构师就出场了。另外的工作就是承担一定的培养新人的工作。所以架构师都需要具备比较好的口才,很多人都说程序员不会说话,错了,那是低端的,到了高端的程序员口才都很好,看一下那些程序员大会中侃侃而谈的架构师们,是不是有种“高端大气上档次”的感觉。这后面会发现有一个发展方向就是“培训师”,还可以写书,其实这些都可能是一些“副产品”。技术到一定的境界很多事情到都是水到渠成。
架构师写代码吗?当然写。他们肯定不会写那些简单的代码,他们一般写什么代码?框架,一般来讲优秀的框架都是一个人或者极少人写出来的。比如说Linux的核心就是一个人写出来的。好的代码绝不是人堆出来的。你给100个初级程序员也整不出一个Struts来。这里会衍生出另外一条路,就是开源框架,很多牛人都是开源社区的爱好者。都或多或少的参与了一些开源项目。甚至把自己写的一些东西开源出来。一般来讲能做到这个级别那是相当厉害的了。
五、领域方向
我记得以前总有人问我你最擅长的领域是什么?这个问题一问我就懵了,因为我从来就没想过这个问题。可能本身还没到分领域的级别,还处于一种“原始积累”阶段。技术学到一定阶段的时候是分领域的。领域之间会有一些交叉。
我所知道的大方向是“高性能,大数据量,移到平台“。这是我给Java这所分的三个方向。其实我上面所说的三个方向不一定是同一个维度。但是我认为写Java的如果没有沾上这三个方向中的一个,一定没有前途。高性能和大数据量的处理需要比较多的技术储备。很多人说写个Java就是CRUD(严格来讲,对于计算机本身所有的 *** 作都是CRUD)。可是在高性能情况下所涉及的问题一下成指数级增长。各种“水平扩展”,“服务化”,“容灾”,”缓存”等各种牛B的词汇就来了,你写一般的CRUD最多也就知道个SSH,这是不一样的。比如说做大数据量的处理一定会知道Hadoop,然后就是云计算,云存储。反正什么牛B什么来。移动平台和上面我所说的维度不一样,因为移动平台相对应的是PC平台。但是由于移动平台的发展时间很短。所以能搭上这趟快车也有不错的发展。要是早些年(2012年以前)进入移动平台的开发,现在同水平的程序员工资肯定更高。这是平台发展所带来的红利。虽然三年前我预见到了移动平台的无可限量,但是那时候就像一个一无所有的人,还管它什么移动平台还是PC平台,能写代码做项目就OK。以至于我学了一个月的Android就偃旗息鼓。
不管怎么样技术的底层都是一样的,所以扎实的基础是必要的,这就是为什么算法和数据结构是永恒不衰的。很多人说算法和数据结构无用那就是无知的表现。这个无知就像在讨论读大学有没有用一样。
六、总结
上面所说的一些东西可能都会比较虚,很多人都可能明白其中的道道,比如说到时间管理,这个估计从学生时代就在讲。但是真正的执行还是千差万别。所以又回归到哪里?回归到人本身。后来我想明白一件事情,即使道理再明白,没有好的执行仍然等于空谈。这里我回想起刘未鹏的《暗时间》。里面非常细致的讲了对于时间的管理。这个我读大学的时候同样在一本书《读大学,究竟读什么》里面也有所论述。当然两个方向是不一样的,一个是程序员的思维,另外一个是文科生的思维。但是道理只有一个,时间利用率的本质是什么。
另外就是实践,强烈的实践。我记得大学的时候读《人性的弱点》真是心潮澎湃,可是过不了多久我就忘了书中的内容。所以没有把书中的一些东西深刻的印记在脑海里并转化成你自己的东西,它永远只是知识。
一名合格的程序员需要掌握哪些技能呢?\x0d\\x0d\熟练掌握开发工具\x0d\\x0d\做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVA One很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。\x0d\\x0d\熟知数据库\x0d\\x0d\为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库 *** 作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。\x0d\\x0d\对 *** 作系统有一定的了解\x0d\\x0d\当前主流的 *** 作系统是Windows,Linux/Unix,熟练地使用这些 *** 作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解 *** 作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的 *** 作系统,是一个很好的学习平台,Linux几乎具备了所有现代 *** 作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对 *** 作系统有一定的了解后,你会发现自己上了一个新的台阶。\x0d\\x0d\懂得网络协议TCP/IP\x0d\\x0d\在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/>
以上就是关于如何理解程序员行业的一句话 : 面试造火箭,工作拧螺丝全部的内容,包括:如何理解程序员行业的一句话 : 面试造火箭,工作拧螺丝、怎样成为计算机高手、Android程序员的较好的职业规划应该是怎样等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)