很早就听说过这样一句话,不会写程序的程序员不是一个合格的程序员。
从上大学的时候就开始学习编程,刚开始的时候的确很吃力。学习英语就已经很头疼,要记那么多单词,还要学习编程语言,也要记那么多语法,那些关键字啥的咋看咋不顺眼,咋看咋不亲切,每次用到的时候都得翻翻书。可是后来,慢慢的那些关键字敲的多了也就熟练了,也慢慢的发现那些小程序写出来了之后会给自己带来如此多的成就感,虽然现在看来那时候写的东西都不值一提,但是那个时候能享受到如此乐趣也不错哦。其实,那时候还没有真正的接触编程。
接下来,学习了专业课,在老师的带领下,我们开始了准程序员生涯。专业课涵盖的知识面很广泛,从微机原理、操作系统、计算机网络、数据库原理等这些基础课程到汇编语言、C、C++、C#、Java等这些编程语言课程,再到数据结构、密码学、信息论、软件工程等这些高深的理论课程,一年多下来,脑子里都是除了计算机,就是程序,如果还有,那就还是程序。虽然那一两年过的很累,因为课程都安排的满满的,晚上也被用来做各种实验,但是的确也学到了很多东西,感谢老师们的喋喋不休,正是因为他们才让我们走进了程序员这个圈子。生命中的第一次拿奖杯也是因为参加了一次三校“网页设计”联赛,自己所学的知识还赢得了如此殊荣,让我对编程更加感兴趣。
再后来,报名参加了一个就业培训班。也许,在有些朋友的眼里,参加培训班是迫不得已,找不到工作不报个班啥的毕业了咋整啊。可是,我当时倒不是那么想的,在学校接触到的东西有限,如果能够参加一个培训班,不仅能系统地学习编程知识,还有机会做项目,认识一些同道中人,不是也很值得吗?在培训班的那一年,我们都过得很紧张,但是也都很充实。经过一年的节假日和课余时间,我们完成了就业培训班的全部课程,涵盖了JavaEE软件领域的主流技术,涉及到Unix、Oracle、JavaSE、JavaEE、SSH等技术。记得刚进大学之后不久,就听到院长这样一句话“如果大学期间的代码量能达到10w行,找份好工作肯定没问题”。等到培训快要结束的时候,我就自己做了一个统计代码量的小工具,结果Java的代码量6w行左右,不算其他HTML、SQL之类的,虽然还没有能达到10w的标准,但是还有剩下的大半年时间。培训完之后紧接着我们就赶上了找工作,噼里啪啦,跑了几十家招聘会下来,自己也成了传说中的面霸。不过还好,最后培训班毕业的同学们都找到了挺好的工作。
找到工作之后,终于可以松一口气,自由一段时间了。那段时间,学校也没什么课程,整天的生活开起来都是那么自由,自由的让人感到空虚,因为刚从培训班回来,总觉得生活突然一下子少了点儿什么。虽然培训班的课程很丰富,但是也不能涵盖所有的主流技术。在培训班没有学习IBatis,有空就看了看,经过前面的学习积累,学习新的知识其实没有想象中的那么难。之前听说过Android就业形势很火爆,于是就自己捣鼓Android,捣鼓了一个多月,也算是入门了,能够写出来小的应用程序。闲暇之余,翻出了几年前注册的CSDN号,没事儿的时候在论坛里泡泡,一次偶然的机会做个了小项目还赚了一个笔记本,现在想起来,那时候真的是很积极,也很努力。
再后来,就到了大学的最后一个学期,还没开学就开始到就业单位去实习,开始接触真正的商业项目,之前在培训班做的演示项目无论是技术复杂度,还是业务复杂度都要简单得多。还别说,有良好的编程基础就是好,虽然公司的框架从未谋面,但是一上来就能在几天之内上手开发,也还算不错。之前学过的那些技术,虽然能用到的不多,但是也能让自己对整个项目有个宏观的认识,知道哪些模块都是用什么技术实现的。经过两三个月的实习,就回学校了。最后的那段大学时光总是让人恋恋不舍,此处省略n万字。
毕业之后,就到单位报到,顺理成章的成为了一个程序员。对了,毕业之前又对自己 的代码做了一次统计,小半年之后代码量竟然达到了12w,呵呵,也算是对得起自己吧。到了公司之后,就加入到软件研发的队伍中来了,一个模块接一个模块,一个项目接一个项目,虽然工作多多少少都还是有些压力,但是我对编程的兴趣依然不减,我还是很喜欢编程。以前喜欢编程是因为写出来的程序能给我带来成就感,现在喜欢编程是因为做出来的项目能给客户带来价值的同时,也能让我得到许多回报,除了薪水之外的,还有比如技术经验,业务经验等等,我相信这些积累对我以后的职业生涯会起到至关重要的作用。
在一次和别人喝酒的时候,听到这么一句话“要把编程当做一门艺术来对待”。确实啊,编程也是一门艺术。作为一个程序员,虽然我们不能弹奏出动听的旋律,但是我们能写出整齐的程序;虽然我们不能建造出高楼大厦,但是我们能抽象出整个天下。很多老同学都说做软件的都挺厉害的,接触到的都是高科技,也算是吧。但是程序员的确也很辛苦,不仅是个脑力活,也是一个体力活,加班经常有的事儿,熬夜也是必须的,技术日新月异,白天工作太忙没有时间学习,晚上就抽时间学一会儿习吧,呵呵。尽管如此,还有越来越多的人加入到这个圈子里来,因为程序员也有让人向往的一方面,比如良好的工作环境,比如有竞争力的薪水等等,也许现在还有许多人没有享受到这些,但是,我相信,只要坚持不懈的努力下去,总有一天,这一切的一切都不再会是浮云。
路过的朋友们,如果你也是一个程序员,请把编程当做一门艺术,并且享受编程为你带来的快乐吧~
分享到:
相关推荐
**知识点:** 良好的编程规范能够提高代码的可读性和可维护性,同时也是专业程序员必备的技能之一。 - **命名规范:** - **类名:** 首字母大写,采用驼峰命名法,如`ClassName`。 - **方法名和变量名:** 首字母小写...
### JAVA程序员之路——专业程序员的成长历程 在IT领域中,JAVA作为一门强大的编程语言,不仅在企业级应用开发中占据重要地位,而且在全球范围内拥有庞大的开发者群体。对于想要成为JAVA程序员的朋友来说,了解JAVA...
### 计算机软件开发行业——程序员的竞升之路感悟 #### 一、引言 在计算机软件开发行业中,程序员的职业发展路径具有明显的层次性。本文档试图通过一个简化的模型来探讨程序员从入门到高级阶段的成长过程。该模型...
《程序员的呐喊》的作者是业界知名的程序员——来自Google的Steve Yegge,他写过很多颇富争议的文章,其中有不少就收录在本书中。《程序员的呐喊》是他的精彩文章的合集。 《程序员的呐喊》涉及编程语言文化、...
《深入编程内幕——Visual C++》是一本专为C++开发者设计的高级指南,它深入探讨了Microsoft的Visual C++编程环境以及C++语言在该平台上的应用技巧。这本书不仅涵盖了C++的基础语法,还深入讲解了Visual C++特有的...
在《冒号和他的学生们——程序员提高班纪事》这本书中,作者深入浅出地介绍了编程学习过程中的重要概念和技术要点,并结合实际案例帮助读者更好地理解和掌握编程思想。下面将从几个关键方面对书中涉及的知识点进行...
在编程世界中,选择一门语言仅仅是个起点,而掌握编程思想才是通往卓越程序员之路的关键。"C++编程思想"这本著作,不仅涵盖了C++语言的基础知识,更深入地探讨了如何利用C++来培养和提升编程思维。下面,我们将详细...
思考快你一步——用编程轻松提升逻辑力》是一本全面而实用的C语言教程,旨在帮助读者通过学习编程,不仅掌握一门强大的编程语言,还能提升自己的逻辑思维和问题解决能力。无论是初学者还是有一定经验的程序员,都能...
5. **指针**:C语言的指针是其强大之处,也是初学者的难点。理解指针的工作原理、如何动态分配和释放内存,以及如何通过指针进行数组、结构体等数据类型的处理,对于编写高效的嵌入式代码至关重要。 6. **内存管理*...
这一层次的程序员不仅仅是掌握了一门或多门语言,更重要的是具备了系统架构的能力。他们能够设计出高效稳定的软件系统,并且对于操作系统、网络通信协议(如TCP/IP)等有着深刻的理解。架构师的角色往往要求他们在...
《斯坦福大学开放课程:编程方法》是一门深入浅出的计算机科学入门课程,旨在教授学生基础的编程技能和概念。这门课程的讲义涵盖了多个关键知识点,适合初学者和有经验的程序员来巩固基础。 首先,"编程方法"...
标题和描述中的知识点主要围绕着IT行业的核心领域——软件开发,特别是从个人角度出发,探讨了成为一名合格且优秀的程序员所需要具备的素质、态度以及必备的知识体系。以下是对这些知识点的详细解析: ### 一、软件...
《实战SAP程序开发——从实例学SAP+ABAP编程》是一本专注于SAP系统开发的实践指南,特别强调了使用ABAP语言进行编程的学习方法。SAP(System Applications and Products in Data Processing)是全球领先的企业级软件...
### C语言深度剖析——程序员面试笔试必备知识点 #### 一、引言 随着信息技术的快速发展,C语言作为一门历史悠久且应用广泛的编程语言,在现代软件开发领域依然占据着重要的地位。然而,很多程序员对于C语言的理解...
在笔试面试中,算法大多情况下也是必考部分。熟悉常用的基础算法是开发者的基本功。 除了提高代码质量与面试加分外,学习算法也可以锻炼思维能力,提高开发者的逻辑思维能力与抽象建模能力。在技术迭代发展飞快的...
C语言作为一门基础且强大的编程语言,其编程规范和良好习惯对于写出高效、可维护的代码至关重要。以下是一些在C语言编程中应该遵循的重要原则和习惯: 1. **注释清晰**:尽管有些程序员认为注释是多余的,但良好的...
本篇文章将围绕“从C到嵌入式C编程语言——入门·实用·深入”这一主题,探讨嵌入式C编程的基础知识。 首先,我们要理解C语言的基本概念。C语言是一种结构化编程语言,它的语法简洁明了,允许程序员直接操作硬件...
JAVA 是一门面向对象的编程语言,类的初始化顺序是 JAVA 程序员和 JAVA 工程师面试中一个非常重要的知识点。本文将详细讲解类的初始化顺序,并提供了相关的测试代码,使读者能够更好地理解和掌握这个知识点。 在 ...