编程如何入门(创世纪新篇)

万事开头难,人人 都梦想成为像比尔盖茨,乔布斯这样的编程大师,但进入软件开发领域也是很艰难的,就像一个神学院的学生不知如何祷告。当然,如果你还是一名刚刚入门的程序员,那么我相信你深刻理解没有经验或者没有太多经验想找一份工作是如何困难。如果你已经在软件开发这一行干过一段时间,那么我相信想要在这个竞争激烈的行业鹤立鸡群又是如何困难。

我接触过很多刚刚入门的开发人员,他们非常迷茫,因为他们不知道该往哪里投入自己的精力来发展自己的职业生涯,也不知道未来的方向在哪里。选择是如此之多,让人眼花缭乱:有那么多的技术,有那么多的道路。那么那一条才是正确的呢?

正确的思考方式

下面我会给出一些具体的建议,但是在此之前,你得确保你是在用一种正确的思考方式考虑自己的职业生涯。

职业生涯中相当重要的一点是,企业意识:要将自己的职业当做一家企业。这家企业雇用了你。企业意识有助于你,对于什么时间应该做什么,以及何时该投 资自己的职业,做出正确而客观的决定。有很多开发人员只是将软件开发这一职业当做一份临时的工作或者仅仅就是一个饭碗——这种想法毋庸置疑是目光短浅的。 不知各位发现没有,同样一个决定,劝别人我们能轻易讲出一大堆道理,但是轮到自己头上却很难?究其原因就是,劝告别人的时候我们往往能够站在客观的立场 上,不会有担忧、恐惧等多余情绪的干扰。

企业意识的原理与上面相似,它能让我们更客观地做出决策。

建立企业意识

话说,为什么我们不能一开始就建立起企业意识呢?

如果没有亲身经历过,是很难积累经验的。现在的大多数软件开发岗位都会要求具备一定的经验。那么,作为一名经验有限的新手开发人员,我们又该如何 “具备”一定的工作经验呢?通常情况下,我们要想成为一名软件开发工程师,需要一个很幸运的机遇,可能是一个 QA 或其他职位,然后依靠自己的辛勤努力和学习。这是一段相当漫长的历程。

下面介绍一下我的捷径。

假设自己的“企业”聘用了自己。这一点都不难,甚至都不用写任何资料、提交任何手续。然后我们就可以接业务了。该怎么做呢?我的意思是,不是玩玩, 而是真的能赚到钱。当然,我们的最终目的不是赚钱,而是积累经验。我们完全可以不辞掉现有的工作,只是利用自己业余时间搞项目,这样我们就能在简历上理直 气壮地写上自己的真实经历了。

未来的雇主是不可能问出“你的项目赚了多少”这种愚蠢的问题的。(即使他们真的问了,那也没有必要说出来。)所以自己搞的项目能不能赚钱不必太介怀。当然,如果想接些有一定收入的活计,也 ok。

可以为亲戚朋友建网站。也可以和一些当地企业谈谈是否需要开发一些应用程序。怎么得到的业务并没关系,记住你的目的是增加自己简历的肉感——我的意思可不是让你在简历上吹牛。

开发移动应用

开发移动应用不但能增加经验值让你的简历亮起来,还能挣点小钱,并且让你以后在面试中有侃侃而谈的资本。

我经常建议开发人员在起步阶段一定要接触下移动应用,因为移动 app 一个人也能干,而且这不但能让人有始有终地经历建立一个应用程序的过程(这种经验是很宝贵的),还能成为展示你代码能力的确凿证据。

任何公司在招聘的时候最担心的就是这些个口若悬河的开发人员是不是真有本事。而你,完全可以通过展示自己写的源代码,来打消这种顾虑。当然,如果你已经创建了一家 app 网上商店,就更好了。

如果你对开发移动应用感兴趣,可以先看看关于这方面内容的基础教程:《 Introduction to Android》 以及《 Beginning iOS 7 Development》。

下面这两本是我强烈推荐的进阶教程:

  1. 《Professional Android 4 Application Development》
  2. 《iOS Programming: The Big Nerd Ranch》

通过写移动应用程序,除了给你的简历增色不少,还能让你对自己更自信,开发软件的技能更为娴熟。

当然,一开始这可能有点难以上手,而且学的人也很多,但是我们不能否认的是,这是一个相当明智的投资行为,因为现在的移动设备发展势头很猛,关于这方面的人员需求一直在增加。

规划你的职业生涯

我经常说,推销自己很有必要,因为这能让软件开发人员获得更好的就业机会,拿到更高的薪酬。我的建议是,我们要好好规划自己的职业生涯,而不是仅仅只是为了找工作。如果你早早地就给自己做好了定位,明白自己想要站到的高度,你之后的职业生涯将因此而受益匪浅。

我的一个妙招是写博客。越早开始越好。我常常懊悔,要是我能早 5 年或者更早开博客就好了。我遇到的每一个写博客的开发人员谈起这事都深有同感。不要只是创建博客,要使用博客。争取每周写一篇,哪怕你没啥有意思的内容, 也要坚持下去。几年之后,你将会是一名超棒的作家,回顾往昔,能看到各种思绪发展的历史痕迹,自己逐步进化进阶的酸甜苦辣。

规划职业的关键在于坚持,因为这是一场持久战。创建博客、树立品牌等等,会让你之后的职业生涯走得更长更远。所以,不要磨蹭,start now!

良师益友

正确的建议和讨论能指引我们正确的方向、节约大量的时间。我建议你和一些有经验的软件开发人员交朋友,向他们请教,向他们学习。

当你有需要的时候才去交朋友是很难的,而且也不是你想让对方成为你的导师,对方就一定会接受。俗话说,教会徒弟饿死师傅,做导师有时候并不会教你很多。关键是要有所回报。

下面是我的一些建议:

请吃饭。话说,很多感情都是在饭桌上建立的。

评论自己欣赏的软件开发人员的博客。如果你提出了有见地的意见,他们会关注你。

交换。你有没有其他领域的知识是别人感兴趣的?是不是可以用健身和减肥的知识换取软件开发方面的信息?最好的结果就是双方能够各得其利。

用户群体。有很多的用户群体遍布世界各地,你可以成为其中的一员。如果你能定期上去,那么就能和其他用户接触,发展友谊。

阅读

阅读,是人类进步的阶梯,是一个能让人靠自己的实力真正出类拔萃的方法。阅读合适的软件开发书籍有助于我们理解概念,而这如果光靠自己想可能要花费几年的时间,还能让你吸取众多成功软件开发的经验,集百家之长。

下面是我为入门软件开发人员列出的书单。

  • Code Complete》(《代码大全》)——代码结构的经典之作。
  • Clean Code》(《代码整洁之道》)——主要讲述如何写好代码的关键概念。值得一读。
  • Design Patterns》(《设计模式》)——掌握之后将在你之后的职业生涯中大显身手。
  • Programming Pearls》(《编程珠玑》)——好好阅读,虽然很难,但是以后你会知道这些努力是值得的。
  • 《Agile Software Development, Principles, Patterns, and Practices 》(《敏捷软件开发原则、模式和实践》)。

最后祝各位好运,希望我的建议能对各位有用。万事开头难,但是如果我们选择了一条正确的捷径,那必将走的更顺更快,所能成就的职业生涯更辉煌。

end

希望大家有所领悟吧

时间: 2024-06-22 01:41:25

编程如何入门(创世纪新篇)的相关文章

joomla代码编译入门(创世纪新篇0

            采用版本Joomla1.5. 第一步,在administrator/components/下建立com_reviews文件夹,然后创建toolbar.reviews.html.php 代码如下: <?php defined('_JEXEC' )or die('Restricted access' ); class TOOLBAR_reviews{ function _NEW(){ JToolBarHelper::save(); JToolBarHelper::apply(

MFC建立应用程序启示录(创世纪新篇)

MFC是vc+的核心部分,需要一定的编程功底. Windows编程基础 编制一个功能强大和易操作的Windows应用程序所需要的代码肯定会比一般的C++程序要多得多,但并不是所有的代码都需要自己从头开始编写,因为Visual C++不仅提供了常用的Windows应用程序的基本框架,而且可以在框架程序中直接调用Win32 API(Application Programming Interface, 应用程序接口)函数.这样,用户仅需要在相应的框架位置中添加自己的代码或修改部分代码就可实现Windo

MySQL外键关联(创世纪新篇)

数据库外键 01.mysql> show create table country\G  02.*************************** 1. row ***************************  03.       Table: country  04.Create Table: CREATE TABLE `country` (  05.  `country_id` smallint(5) unsigned NOT NULL auto_increment,  06. 

wifi编程实例(创世纪篇)

开发WiFi程序,可以使用vc++,也可以使用Android语言开发. 这里以Android开发环境为例; one,WIFI网卡的状态 WIFI网卡的状态信息都以整型变量的形式存放在 android.net.wifi.WifiManager 类中,有以下状态: WIFI_STATE_DISABLED WIFI网卡不可用 WIFI_STATE_DISABLING WIFI网卡正在关闭 WIFI_STATE_ENABLED WIFI网卡可用 WIFI_STATE_ENABLING WIFI网卡正在打

c#项目开发启示录(创世纪新篇)

网站管理员下个月就要去进行Java开发了,以后C#碰的就少了,平时一些经验都记在OneNote里面,现在收集整理出来,因为只能利用交接工作的打酱油的时间,...... C#开发: 1.目标平台的选择:32位操作系统在编译VS里的程序时,根据需要设置项目属性的"目标平台"为x86.如果设置为AnyCPU,则在VS 2005里面是不能"编辑并继续"的. 在选择x86和AnyCPU都可以在32位操作系统上使用. --选择x86在64位服务器上运行,可能会造成类库无法加载的

cocos 2d-x游戏开发启示录(创世纪新篇)

cocos 2d-x可以在pc电脑window,mac操作系统上开发游戏,也可以在移动设备上开发游戏,比如Android,windowphone等上开发,集成开发环境是:visual studio,eclipse,游戏引擎包括:粒子场景,物理引擎,瓦片区域等等. cocos 2d-x支持三种脚本语言:如c++,JavaScript,lua,你至少要熟悉一门脚本语言. 下面以cocos 2d-x的lua脚本语言开发一款<黑人小心>的游戏.开发工具是cocos IDE 先看看效果图: 1.项目结构

PHP笔记学习节选(创世纪新篇)

if ,true,false,return value. php之SQL语句中的模糊查找 主要通过LIKE(不区分大小写)关键字实现模糊查找.LIKE条件一般用在指定搜索某字段的时候, 通过"%"或者" _" 通配符的作用实现模糊查找功能,通配符可以在字段前面也可以在后面或前后都有.只通过LIKE是无法实现模糊查找的,因此通配符的作用不可忽略. 下面是三个实例: 搜索以PHP开头: SELECT * FROM table WHERE title  LIKE  'PH

打工日记选(创世纪新篇)

十年一觉扬州梦 曾记起我坐车离开深圳以后,决定南下东莞去投靠老乡. 于是就有了我的东莞长安之行.那次是我第一次去东莞. 曾经在读书的时候,就听说院子里有很多的老乡在东莞的长安进厂. 记得我以前在家里的时候,朋友阿文就写了一个他在长安进厂打工的地址给我.呵呵,想到这些,我喜形于色,像是在黑暗中见到了光明!我决定去樟木头投奔他. 但是,只有一个工厂的厂名和厂址,而我又对东莞一点都不熟,这让我又感到有很大的压力.心想这样去,也未免有些鲁莽和冒险了.但是为今只计也只有这步可走了,只好豁出去了,就算是赌一

支付宝在Android应用程序的调用(创世纪新篇)

许多商城网站付款要调用支付宝的接口. 但是这类教程较少,而且支付宝提供的接口一直在更新,可能支付宝那边是为了让接口更容易被调用吧,以前有些老的教程稍微跟现在接口有些不能"对号入座",今天就介绍让大家以最快的速度掌握如何调用支付宝接口的方法. 到支付宝官网,下载支付宝集成开发包,看懂里面的关键代码 由于android设备一般用的都是无线支付,所有我们申请的就是支付宝无线快捷支付接口.下面是申请的地址,下面还有下载接口开发包的地方 下载集成开发包,解压发现里面有客户端的demo即说明文档,