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

2024-04-29 00:48

本文主要是介绍如何在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文档并不懂就问。我就是这样做的,而且效果也很不错。不过我并不是完全坐着读文档,大部分的时间我都会自己做一些东西以更好的理解背后的工作思想。我个人是一个动手学习者,有些人可能不是,但是动手帮助我获得了成功。而你可以选择更适合你自己的方式。


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


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


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


结论


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


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


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


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

原文地址:点击打开链接

这篇关于如何在12周内由零基础成为一名程序员的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944703

相关文章

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

JavaScript装饰器从基础到实战教程

《JavaScript装饰器从基础到实战教程》装饰器是js中一种声明式语法特性,用于在不修改原始代码的情况下,动态扩展类、方法、属性或参数的行为,本文将从基础概念入手,逐步讲解装饰器的类型、用法、进阶... 目录一、装饰器基础概念1.1 什么是装饰器?1.2 装饰器的语法1.3 装饰器的执行时机二、装饰器的

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We