HackerNews:过去的两三年,我感到很不充实。我从事视频制作/编辑工作已经6年多了,大概从4年前开始,我对这份工作感到厌倦,每天都精疲力尽的。因此,我辞职之后来到了加拿大,从而清醒一下我的脑袋,理清一下我的思路。
我现在暂时是一个建造工人,现在我才意识到之前那份工作是多么好(拥有独立的办公室,优厚的待遇,再加上同事彼此认可,等等)。
但是我还是想进入IT这个行业,我的生活早已被电脑包围了。在13岁的那一年,我就开始尝试网络编程、开发网络应用,而且,我还建立起我的博客,还有静态网站。从今年一月起,我开始学习使用Python进行编程,使用 HTML,CSS 等等。但是现在遇到的问题是,每天工作后回家再去学习,进展非常缓慢,有的时候真的觉得自己快要撑不下去了。现在我已经28岁了,一边干着建筑工人的活,一边梦想成为一个程序员。我担心的是在不久的将来,我的物质资源支付不起自学计算机的冲动!
现在,我还不知道该如何去开始。对于现在的生活,我感到害怕和沮丧。虽然我真的非常想成为一名程序员,但我担心我的起步太晚。
productionQA:我比你小一岁,但是我和你的处境是一样的。我身边有很多16岁左右的实习生,他们的编程时间都长达10年,可想而知他们是有多么厉害。有的时候我会觉得自己太落后于形势。而且我也没有专业的 CS 学校学习过,但是,我喜欢自学,与生俱来的喜欢自学,所以我学习编程知识很快。为了巩固我的知识,我进入了一个培训中心,这样的话我就能更方便的进入到企业工作。
话虽这么说,但是这些都是以花大量时间为代价的,我的大部分空闲时间都是用来编码的,虽然我不喜欢做一个全职工作者,但是我还是很享受创造和构建代码而带来的感觉。
我讨厌测试,更不喜欢在别人的代码上面继续工作,我愿意自己构建,而且我喜欢尝试新的东西。下面的话就是我总结的为什么我能在这个方向跟随脚步走下去的原因:
- 我有科技梦想(创建新的事物,开创自己的公司)
- 如果我的梦想失败了,我会重新设定接下来30年里将要发展的方向,我宁愿在28岁的时候继续开始,也不愿意在接下来的5年后悔我的决定。
- 努力进入一个可以驱动世界科技进步的公司工作,和精英在一起共事。
- 最重要的一点就是,千万不要觉得现在做某事已经迟了,你看看有很多大企业的创始人在创办企业的时候都已经年过半百了。人的潜能是很巨大的,不要觉得做一个决定很难。我们的生命很短,短的可怜,在有生之年做自己喜欢的事情吧。
homeliss:你的困惑简直道出了我的心声,我任然清晰地记得,当初我辞去在牛肉加工厂剁牛肉的工作,到一个网站上“做了一个”程序员。我能做到,你也能!
和你一样,我之前也认为缺少专业的计算机知识和没有编程朋友是***的障碍。而我当时的计划是这样的:
- 构建5个小的Apps之后放到我的简历里,而这些简历又是为特殊的终端用户构建的。
- 一般情况下为一些我信任的开源项目做一些贡献。
- 参加一些有很多程序员出息的讨论会议。(我参加过 Python and Functional Programming 会议)
- 我没有在 Stackoverflow 或者其他的博客上花太多的时间,因为这些平台并会给你带来很多业务。
我参加了这些会议的时候并没有交太多的朋友,但是我相信你100%能交到很多,这些会议都是由当地的软件公司组织的,所以你有时间的话可以多多参加是有好处的。
raylee2007:我的情况是这样的,
- 30岁,孩子刚刚也满2周岁了。
- 从事企业Mis编程刚刚满一年(我是29才入行,入行前是一名销售)。
- 具备一定的编程基础知识(C语言、数据结构、操作系统、sql,数据库等我都在大学课程学过),但还有很多东西,特别是企业里面使用的东西我不会,自学Java,Servlet,SSH,Ibatis等。
我来讲述一下我成为程序员的过程。
1、编程是你的兴趣所在,当然,你想混口饭吃也是可以的,但是它会让你觉得更无趣。
2、路线:(由于之前是不知道黑马训练营有详细的路线图)我是问我的同学(现在就职于百度)他的历程,他是怎样走过来,我们必须知道“路”是怎么走的。
3、入门:基本按照黑马训练营的路线图,一直学下去就可以了,这个过程***制定相应的目标,跟着计划走。
4、学习建议:有空的可以直接去读书,没空的(在职的)可以直接学习到SSH,基本就可以找到一份编程工作了,如果想薪水高,后面会说到。
5、入职必须条件:
- 独立完成一个项目模块(能够完成几个更好)。
- 能够清楚描述项目的所有,例如:遇到什么问题,怎么样解决。
6、面试:优秀的程序员很多,但是会吹的优秀程序员就很少了。
我承认,暂时我不是一个优秀的程序员,但由于职业关系,我比较会吹,吹的自己像一个很有经验,做过项目的人,所以侥幸进入我现在的公司。
7、就职:其实在工作的过程中,你会发现,以前学过的东西很多都用不上(如SSH),我现在是用公司平台(flex+ibatis+spring),但是你会遇到更多新的问题,这个时候你就需要去解决问题,所以,解决问题的能力才是整个就职当中最关键的能力,我解决问题的过程是这样的:百度(比较符合国人习惯)--> 官方demo --> 官方API中文版 --> 官方API英文版 --> 问(论坛、同事、同学等),***实在不行,换一套思路看看实现效果。
8、提高自我:现在来说说怎么样才能升值?我觉得方法是回归基础,现在我觉得特别多的东西不会,特别是设计方面的,软件设计、软件工程、数据结构、操作系统原理等等,先把基础弄好,然后再搞设计模式、编程习惯、编程***实现等,学到一点用一点,实践与理论结合,有自己一套解决问题的思路。
对于方法:我觉得现在做翻译和开源是非常不错的,特别是开源,能学到很多很多的东西。