我是如何在12周内由零基础成为一名程序员的(转)

2023-11-13

我是如何在12周内由零基础成为一名程序员的

我的故事

在海军陆战队服役超过10年后,我于去年7月份退役了。随后在8月份找到了一份赌场的工作做公关,到今年2月中旬的时候又被辞退了。到5月中旬的时候我在DE协会找到了一份临时的“初级用户体验工程师”工作,而到了8月底我则成了正式的“用户体验工程师”。

当我丢掉赌场的那份工作时,我就在想公关这行可能真的不适合我。我想做一名程序员。于是我开始节衣缩食学习编程。家人对我的情况非常担心。从2月份到5月份的那段时间,我几乎只要是没睡着就是在学习编程,学习Linux以及计算机科学。我自学Python,自学Django。我学了一些函数式编程和命令式编程。对Linux命令行有了一个不错的了解。

我没有做的

有人问我:“你如何在11周内学会了Django?”

事实上,我并没有针对Django本身去学。而是在为了使得用Python编写应用更加容易的情况下学到的。也就是说完全出于偶然。因此我不想被称作一名“Django开发者”。换句话说,如果我过去是在花大量的时间去专门学Django本身,而不是去学如何使用Django工作,我可能远没有现在的编程能力。

以下是好奇的朋友们给我的一些问题以及我的回答

你是以网络资源开始的还是以书本资源开始的?

我都有用。这包括DjangoprojectStackOverflowMIT关于计算机科学的开放课

你的每天或者是每周时间是怎么安排的?

有时每天8个小时,有时12个小时,有时16个小时,总之每天都要花很多时间。因为没工作,又是单身父亲,所以会特别有意志特别有激情。这样的一个境况使得我能十倍努力的工作,不玩游戏,不看电视,甚至整天不睡觉,完全沉浸在代码,编程里。

你有指导老师吗?

是的我有。他是一个非常聪明而且成功的人,几乎在我成为程序员路上的每一个方面都给了我指导。这其中包括很多非常具体的编程知识(比如Python&Django),还有职业建议等。

之前有过什么特别的经历对于你现在自学成为程序员有什么帮助的吗?

没有很多特殊的经历。我很早之前对电脑有过狂热的爱好,学过一点QBasic&VisualBasic,后来又断断续续的弄过一点Python,但大部分时间都没怎么弄。除此之外没有其他的了。

你怎样选择学习Django的?

这个很简单。因为我想要模仿的一个人就是通过Django取得了很大的成功。

可以分享一下你的学习过程吗?

我想重申一下我并不是一个自学天才也没有什么很特殊的天分。我只是很努力的学习罢了,因为我穷困潦倒而且没有其他选择。我几乎消耗了所以可以帮助我达到现在这个地步的资源——一个既可以让我赚钱又喜欢的工作。这就是我的学习过程。

想了解一下你具体学习Django的过程,或者给我一些建议或推荐一些学习资源(HTML/CSS,JavaScript)?

事实上,我唯一的建议就是动手去做。我真的花了很多时间学习,而且我也享受学习的过程。

正如我在上面已经说过,我没有刻意去学Django,Ruby on Rails或者Noir。我想帮助我成功的一个重要因素是学习语言以及其背后的工作思想,然后再通过一个网络框架去更好的学习那门语言。因此对网络框架的学习都是我在学习编程语言中偶然所得的。

我建议想学的朋友去看看 irc.freenode.net,去读读Django文档并不懂就问。我就是这样做的,而且效果也很不错。不过我并不是完全坐着读文档,大部分的时间我都会自己做一些东西以更好的理解背后的工作思想。我个人是一个动手学习者,有些人可能不是,但是动手帮助我获得了成功。而你可以选择更适合你自己的方式。

你是如何向公司展示你自己的技能的?是给他们看你的项目了吗?

Github,Github还是Github。我觉得强调的再多有不过分,做一些东西,放到Github上去,让人们知道你很富有激情也很聪明好学。

另外还有网络。参加一些行业活动,发微博,写博客,和你周围的圈子进行互动。在我看到我现在这份工作的前一周,我就曾在一个论坛上发布过一个简短的演讲,这也使得有些人注意到了我。

结论

如果要我概括我的整个学习过程的话,我想以下几点值得一说:

1.问问题,有好奇心,富于热情
2.学习一门语言,而不是一个网络开发框架
3.努力学习
4.构建一个网络,参加行业活动,写博客等,告诉人们你是一个值得共事的人
5.(选择性的)将你自己放到一个没有退路的地方,破釜沉舟

最后我想说的就是我觉得自己非常幸运。我现在还算不上一个很棒的开发者,而且我的职业也才刚刚开始。但是我很高兴通过自己的努力改变了我的生活轨迹。我也希望我的经历可以帮到你们。

后记:有人可能会对文中提到的神秘老师感兴趣,作者Matt并未在文中说明他是如何遇到这位老师的,不过在读者评论下面他给出了回复。Matt是通过经常逛这位前辈的网络论坛认识他的。后来随着逐渐的熟悉便开始寻求他的帮助指导,最后也才有了Matt今天的程序员之路。

转自 :http://www.36kr.com/p/62584.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我是如何在12周内由零基础成为一名程序员的(转) 的相关文章

随机推荐

  • 写代码的心得

    一 初级阶段 管他三七二十一 需求直接开干 程序能跑通能干活就行 二 中级阶段 拿到需求心里过一遍 80 的架构和接口已经梳理定义完毕 尚有部分细节的没想明白怎么实现 边开发边想 边写边重构 等开发完 架构也定义清晰 三 高级阶段 拿到需求
  • 编写出一个通用的人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。然后对Person 类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能

    编写出一个通用的人员类 Person 该类具有姓名 Name 年龄 Age 性别 Sex 等域 然后对Person 类的继承得到一个学生类 Student 该类能够存放学生的5门课的成绩 并能求出平均成绩 最后在Main函数中对studen
  • vue点击当前元素添加class 删除兄弟元素的class

    在vue中当我们要实现点击元素动态添加类名时 我们不能像JQ那样去用 xxx addClass class siblings removeClass class 实现 那我们应该怎样去做呢 解决方案 1 在data里面申明一个属性 默认值最
  • LeetCode-1780. 判断一个数字是否可以表示成三的幂的和【数学】

    LeetCode 1780 判断一个数字是否可以表示成三的幂的和 数学 题目描述 解题思路一 将n转为3进制 如果没有2出现那么返回true 例如12 110 3 返回true 21 210 3 返回false 解题思路二 0 解题思路三
  • 计算机毕业设计-基于SSM的个性影片推荐管理系统

    项目系统开发的技术 Java语言 Java主要采用CORBA技术和安全模型 可以在互联网应用的数据保护 它还提供了对EJB Enterprise JavaBeans 的全面支持 java servlet API Java java serv
  • 重磅发布

    微众银行区块链积极听取社区意见和建议 基于多年研发FISCO BCOS底层开源平台的经验 沉淀了一套 FISCO BCOS应用落地指南 百科式地为FISCO BCOS的应用落地提供操作指引 现将该指南开放回馈社区 获取指南 可在文末添加 小
  • HashMap和LinkedHashMap的区别

    java为数据结构中的映射定义了一个接口java util Map 它有四个实现类 分别是 HashMap Hashtable LinkedHashMap TreeMap Map主要用于存储健值对 根据键得到值 因此不允许键重复 重复了覆盖
  • 用Flutter构建漂亮的UI界面 - 基础组件篇

    1 前言 Flutter作为时下最流行的技术之一 凭借其出色的性能以及抹平多端的差异优势 早已引起大批技术爱好者的关注 甚至一些闲鱼 美团 腾讯等大公司均已开始使用 虽然目前其生态还没有完全成熟 但身靠背后的Google加持 其发展速度已经
  • 基于SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系

    一 简介 1 过滤器 依赖于servlet容器 在实现上基于函数回调 可以对几乎所有请求进行过滤 但是缺点是一个过滤器实例只能在容器初始化时调用一次 使用过滤器的目的是用来做一些过滤操作 获取我们想要获取的数据 比如 在过滤器中修改字符编码
  • 【人脸识别】基于主成分分析PCA算法人脸识别门禁系统含Matlab源码

    1 简介 人脸是反应人身份的最直接的 最可靠的信息资源 通过人脸我们可以很快辨识一个人 这就是所谓的人脸识别 最初的人脸研究人员是一些从事社会心理学的工作者 从20世纪50年代开始有一些文献资料陆续发布在各种学术网上 人脸识别开始了最初的发
  • 软件工程——结构化分析:一种自上而下的分析方法(包含习题)

    什么是结构化分析 数据流图 数据字典 功能分解结构图 过程描述 结构化分析的优势与挑战 结合不同方法以适应不同场景 总结 习题1 银行计算机储蓄系统 习题2 机票预定系统 习题3 患者监护系统 习题4 复印机的状态转换图绘制 习题5 高校计
  • 一文详解分布式系统的分区

    为什么要分区 数据的复制是冗余的过程 冗余会增加可用性 并且可以有效均衡读取负载 而数据的分区是一个整体转换为局部的过程 这种拆解就像你拥有大量图书 但你的书架放不下 所以需要再加几个书架存储是一个道理 将整体拆分 局部存储在多个较小空间内
  • spring中创建bean的方式

    一 常见的bean创建方式 1 基于xml配置bean 2 使用 Component派生注解 3 使用 Configuration和 Bean注解 1 常见的使用xml中setter方法创建bean bean xml文件中配置bean时 加
  • 史上最全的OpenCV入门教程

    一 Python OpenCV 入门 欢迎阅读系列教程 内容涵盖 OpenCV 它是一个图像和视频处理库 包含 C C Python 和 Java 的绑定 OpenCV 用于各种图像和视频分析 如面部识别和检测 车牌阅读 照片编辑 高级机器
  • JS实现奇偶数的判断

    奇数和偶数的判断是数学运算中经常碰到的问题 比如 有变量x 如果x 1则为奇数 为2则为偶数 这篇文章主要讲解通过JavaScript来实现奇偶数的判断 方法一 求余 if else的形式 var num parseInt prompt 请
  • 人物专访

    把算法应用到各行各业中 这是我从创业初期就有的梦想 华院计算创始人 董事长宣晓华表示 文 科创板日报 黄心怡 成立于2002年的华院计算 可谓国内算法和AI的最早探索者之一 多年来始终致力于算法技术的研究和应用 面对当前的大模型浪潮 宣晓华
  • keyshot保存为ksp_keyshot渲染教程:keyshot教你如何简单的渲染冰与水

    摘要 keyshot是一个互动性的光线追踪与全域光渲染程序 keyshot的渲染的教程有哪些呢 下面是小编整理的关于keyshot渲染教程之keyshot教你如何简单的渲染冰与水 keyshot是一个互动性的光线追踪与全域光渲染程序 key
  • Windows解决camelot报错OSError: Ghostscript is not installed

    文章目录 解决方案 1 安装并配置Ghostscript 2 添加环境变量 3 重启python应用 解决方法也很简单 就是安装并配置Ghostscript 解决方案 1 安装并配置Ghostscript 首先访问 https ghosts
  • LeetCode--初级算法--数组篇-存在重复

    题目 给定一个整数数组 判断是否存在重复元素 如果任何值在数组中出现至少两次 函数返回 true 如果数组中每个元素都不相同 则返回 false 示例 1 输入 1 2 3 1 输出 true 示例 2 输入 1 2 3 4 输出 fals
  • 我是如何在12周内由零基础成为一名程序员的(转)

    我是如何在12周内由零基础成为一名程序员的 我的故事 在海军陆战队服役超过10年后 我于去年7月份退役了 随后在8月份找到了一份赌场的工作做公关 到今年2月中旬的时候又被辞退了 到5月中旬的时候我在DE协会找到了一份临时的 初级用户体验工程