您的位置:首页 > 职场人生

与一位有着成功经验的程序员之间的对话(转)

2007-09-12 09:36 274 查看
我想大多数人曾经有过学习没目的,学习很被动的体验

大多数人也曾感到不知所措,所以我们应该多听听过来人的意见

下面的内容是我和一位朋友之间的对话

由于是转述,所以不方便详细透露他的个人信息,只好简单说说吧:大学本科毕业,毕业之后再靠着坚持不懈的努力进了三菱电子,以下简称T

我就简称W

T:你是?

W:我只是想学习一下你的成功经验

T:哦,你学的什么

W:JAVA

T:学了哪些课程?

W:C语言,线性代数,外语,数据结构与算法(下面简称数据结构),专业英语,JAVA,

T:那么你学的怎么样呢?

W:一般吧,上课虽然听的懂,但感觉很乏味,课程太多,不知道该怎么学,

所以我就想自学了,但感觉效果也不好啊

T:恩,我先来讲数据结构吧,因为它很重要,你数据结构的知识如何

W:只能说学过,学的怎样没想过

T:做过书上相关的习题吧?比如冒泡算法 杨辉算法

W:做过啊,你的意思是说要多做题目吧,我知道啊,但还是学不好啊

T:呵呵,其实学好数据结构很简单的

首先,你得明白数据结构有多重要

W:怎么说呢?

T:其实JAVA只是工具而已,算法是关键

编程思想是靠数据结构来建立的

况且JAVA语法其实很快就可以基本学完 但是算法都能透彻 至少4到5个月

讲点实际的吧,现在数据结构题目常在面试时候出现,所以一定要学好

你要想能够在中大型企业上班就必须精通数据结构,

小型企业你可能通过了面试,

但为了能够有发展空间,所以进中大型企业是每个人的目标

如果你不会数据结构与算法的话你怎么通过面试呢

W:哦,我明白了,那么我该怎么学呢?我确实做了不少练习的啊,却还是不行

T:你已经知道了多写代码很重要,但是你做到以下几点了吗

W:什么

T:1,当你看到类似问题的时候 可以知道选择用哪些算法

2,并且可以比较出 他们的优劣

3,算法在遇到什么样的问题时候用 他们有哪些优势 哪些劣势 比如哪个相对耗费资

4,直接买好书,好的书都会写的详细,比如数据结构JAVA版

W:买书吗?我买了不少书的,但感觉太多书总是在重复一些基础知识

T:呵呵,其实你可以好好利用图书管和书店的资源啊

W:怎么利用?

T: 1,看,可以广泛涉猎和精确的查看,特别是重要的信息

2,抄,主要抄好的理论知识和海量的编程题,其实在平时练习时也该这样的

3,拍,买个数码相机吧,其实用手机也行吧

W:前两个还很不错,但第3个```````有点麻烦啊

T:题目多时绝对不会感觉决麻烦,我再讲讲外头的工作吧

W:我不太了解,你简单讲讲吧

T:首先讲讲什么是外包以及分类:

外包第一种:就是外国的公司把程序的框架都做出来 最底层的繁重的敲代码的工作交给我们程序员做,那样的工作 你只要会JAVA语法就成 甚至不用会算法 但是 这样的公司不锻炼人 呆一年和呆十年一样的

外包第二种:一些公司把一些大致的模型都写好拉 你完成下面分支些小的程序 就成 这样的地方 你把数据结构的学好就成

外包第三种: 公司直接把 客户需求给你 你分析 用什么方法做 有那些算法 然后在转换成程序代码 这样的地方 呆一年 工资至少张三翻

W:能讲讲数据库吗

T:做好了的程序需要用数据库连接和输导

数据库用数据挖掘的知识

不过对于初级程序员来说用不到

你只要把数据库的基本知识掌握了就可以

数据库不太需要数据结构的知识

但是数据库用SQL语言

而且Oracle , SQL Server . MySQL中MYSQL最简单了,

你先学好其中一种吧,就是它拉

Oracle是负责大的项目 SQL Server是做中形项目的 MySQL是做小项目的

W:听他们说要学操作系统,现在要学吗

T:有些公司对操作系统有需求 不用XP 却用LINUX 这个就要在工作的时候再补充拉

W:自学那肯定要买书吧,《THINKING IN JAVA》怎么样啊

T:去书店抄题目非常好,但买书才是根本

《THINKING IN JAVA》是一位大师的作品 ,但对于你来说太难了点

买一本重视基础基础和多本重视实际练习的书吧

其实要是你去书店或图书馆手抄练习题

这样的话题量可以得到保证,不过还是买书的好

通常是越多越好,但别买自己还没学或看不懂的书

W:你一直在讲多做题目,但做来做去也不知道做的题目大致分什么类型

T:哦,题目应该分两种吧

一种是 直接把需求给你 让你做出来

一种是 把需求很模糊的给你 需要你把实际问题分析出来 然后换成代码 这种是很锻炼人的 不过有点难度

介绍一本好书吧:本书是专门用于JAVA 把面向对象的关系的需求好好理解的书

是我当年学的时候看的 《Beginning Java Objects中文版》

W:哦,一些好书我也可以看网上的书评吧

我还想问问数学和外语

T:数据结构本身就是离散数学的应用

你先基本掌握,要重视逻辑思维的锻炼

系统的学应该在就业以后

英语好的话会很容易的可看清代码的意思

而且一些公司直接接外国的定单

所以必须招英语好的

而且好的工资是一般的程序员的高很多

英语对程序员 最直接的提高是

可以直接看英文书籍

W:应该怎么学啊

T:最新的技术和著作都是外文的

所以 想了解和学习 最新的技术 不会英语是不行的

但是只要能看懂就成

而且目前来说 你还涉及不到

但是作为交流 英语在IT业也是非常重要的

英语重要 但只是辅助作用

你到了一定位置 想继续往高发展 英语是必须的

但是 和技术方面来说 没有太大的直接冲突

W:哦 总体来说 英语对于做IT的人来说 很重要

那么数学呢

T:数学应用最多的是 离散数学

但是 当你往做整体布局的时候 可能还会牵涉到 线型代数

但是 现在来说为时过早

W:也就是说我目前还是把 数据结构学好 就能找到初级程序员的工作拉

其它的以后系统学习吧

T:这句话不太队,有点功利性,但是目前是最简单的道路了

W:哦,还有就是数据结构与语言之间有什么关系呢?

T:数据结构是 编程思想 语言只是工具

首先必须用数据结构建立思路

然后才能用工具把他完成

一种算法 至少你要作个十道左右的题才成

但是一般的书籍上有个 3,4道就不错拉

所以必须到书店多抄习题

最好是 找那种直接连客户需求的都带了的习题

就是 所说的应用题

比如 鸡兔同笼

另外多思索

有什么好处 有什么坏处

每个算法 都必须有这样的一个过程

这个阶段 必须一点点的来 再慢也不能着急

W:恩,我就是有一点急

正在慢慢改

T:这个过程过了 前途就一片光明拉 进步就会有飞跃拉

有些工是绝对不能省的

一旦有不会的 可以去找书 现在书写的非常全面 一定能知道到答案

目前阶段你需要了解的就这么多了

W:太感谢你了!!!希望我能有你那么聪明

T:程序是个积累的过程

不是光靠聪明的

W:哦,那么你能总结一下你的诀窍吗

T:大量的看各种书籍 大量的写代码 就是我成功的秘诀 也是大多数人的秘诀

而一本书的精髓就几页 我用的办法就是海纳百川

买相机 借书都是为了这一个目标 在家里看一本书 再努力眼界也是有限

往往 很多不明白的 在其他书里会非常容易的得到答案

(其实很多不明白的 多请教人也可以非常容易的得到答案)

诀窍容易学,但能不能受苦就不好说了

W:7个月便自学成功,你受过不少苦吧

T:仰天作叹气状(呵呵,自己虚构的,你别拿番茄丢我啊)

当时的我是每天上午带着瓶子水和面包去图书馆 书店

下午或者晚上回来 先敲代码 然后把经验 再记下来

坚持下来很不容易

有时候 一打代码 就打一夜

视力都下降拉

还要封闭自己很长 一段时间

既然找到了适合自己的学习路线

当然要努力拉

那段时间我几乎与世隔绝

而且 我工作了以后 也一直保持着这种学习状态

这是做一个IT人必须具备的素质

W:再说说一个IT人将来可能的发展吧

T:各个层面都需要人才 做需求分析

做框架 做销售 做调试 都需要人 都是高薪 金领

看你自己适合做什么 就朝哪个方向去努力

但是不管你做什么 技术都是必须要有的

也许你虽然不太了解 但以后会慢慢熟悉的

W:我想我已经明白了不少

T:我的话只是起到一个借鉴作用,

里面观点可能不够全面

所以多请教一下别人吧,

特别是那些有成功或失败经验的人

在此,我还想对已经工作的同行业朋友们说一句:

多帮助一下还在学习道路上面奔波的学弟们吧

你的一句话,一张帖子可能会改变一个人的一生

W:谢谢!

T:今天就聊到这吧

W:呵呵,不好意思,打扰你了,那我先下了,88

T:88
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐