现在,越来越多的学校将编程作为基础学科之一,编程也越来越“年轻化”。那么,对于我们成年人是否还有学习的必要呢?我们来看一下这位31岁创业成功还依然坚持学习编程的精彩故事吧。
作者 | Pablo Olóndriz
译者 | 弯月,责编 | maozz
出品 | CSDN(ID:CSDNnews)
以下为译文:
我从来都不是一个好学生。学校的课程让我感到非常无聊,所以我不愿意听,更不愿意背诵那些对我来说无关紧要的知识——这些课程根本无法吸引我的注意力。
我唯一真正热衷的课程是计算机科学,其实当时我们的计算机课程也没有十分有趣的内容。每个人都上了这门课,就像音乐和美术课一样。但是对我来说,能够在如此有趣的机器上玩耍本身就是一件乐事。
当时,我们家有一台装有Windows 3.1的计算机,唯一支持的编程语言是BASIC。我曾尝试研究BASIC,但由于当时世上还没有Google,所以我很快就觉得自学是不可能的。我搞不明白如何通过在屏幕上敲单词创建程序,也没人能向我解释。我还自学了Linux、黑客和Windows终端。这些东西非常有趣,但是,我仍然不明白这些东西能干什么。
后来,到了十几岁的时候,我下定决心要去大学学习计算机工程,但是高中粉碎了我的梦想:我的成绩简直惨不忍睹,尤其是数学。除此之外,学习计算机科学会把我变成一个“书呆子”,对于追女孩子毫无帮助,于是我毫不犹豫地抛弃了这个梦想。我不想变成一个“书呆子”,而且我想认识很多女孩。
没错,无知少年的头脑就是如此简单。
所以,我抛弃了梦想,改变了我对自己的规划,不再对计算机感兴趣。在抛开“专业激情”后,我不知道接下来该怎么办。
我的理性思维逻辑如下:
上学,上高中,上大学,找工作,挣钱。
所以,说到底挣钱才是王道。那时的我不觉得工作是一件有意义的事情,因为我不明白工作的意义,我觉得工作只是一种赚钱的手段。
我并没有考虑如何才能获取高薪的工作。相反,我想:
问:哪种职业会研究如何赚钱?
答:商业管理。
尽管我觉得研究很无聊,但我发现了其他兴趣,首先是创业,其次是股票市场。对于19岁的我来说,华尔街的世界似乎非常酷。后来,我发现我不愿意一天天地坐在电脑前,盯着屏幕上的图表,于是很快我就放弃了炒股的想法。
然而,企业家的种子却发芽了。试想一下:创办一个企业,为其他人创造就业机会,最后还能赚到很多钱。光是这个想法就让我不能自拔。
我也想掌握这种魔力。
然而,当我第一次在社交媒体公司实习时(那是2010年,Facebook红透了半边天),我意识到互联网业务才是当前和未来的发展趋势。
互联网业务基本上不需要实体设施:不需要办公室、文件、机器,甚至很多时候都不需要员工(如果有需要你可以雇佣自由职业者)。你需要的只有:计算机、服务器、某些软件和互联网。
这些东西可以带来1000倍的效益:固定成本与其他行业的实际成本相比微不足道。在大多数情况下,高昂的固定成本降低了企业的利润。
另一方面,互联网业务的市场是全球性的,且易于扩展。对于一家销售实物产品的公司来说,如果你想销售更多产品,则必须在创造和制造这些产品上投入更多的资金。如果你出售服务,则销售额受限于你有限的时间(或员工的时间)。
从理论上讲,在互联网业务中,为了在一夜之间卖出更多商品,你只需修改网站的某些“内容”,然后扩大规模。有时,你只需投入几美元获取功能更强大的服务器,即可处理流量的增加。今时今日,你甚至不需要自己的网站,很多做YouTube视频的人都证实了这一点。视频、在线课程、电子书、软件等等,你几乎可以无限地“复制”。要想出售两个在线课程,你只需为客户提供访问托管课程的平台,根本无需创建两个课程。这是互联网业务最大的不同之处。
第三,你可以节省时间,大量的时间。许多人需要在通勤上(从家到办公室)花费一个小时,每天往返需要2个小时。那么1年呢?每天2小时 x 每周5天 = 每周10小时。1年有52周,因此,每周10个小时 x 45周 = 1年450小时。
想象一下,你可以节省出450个小时的通勤时间,投入到更多的工作当中。
450小时 / 每天8小时 = 56天。
因此,一个不需要通勤的人每年可以多工作56天——将近2个月!或者,你也可以利用这些空闲的时间来做自己喜欢的事情。这种差距还是很惊人的。
而且,我只计算了通勤时间。
除此之外,还有通过自动化任务节省的时间,因为我们可以利用互联网服务,只需点击一个按钮,或自己编写代码来实现自动化。
计算机的使用可以带来更低的费用、赚更多的钱、更多的空闲时间,所以我深深地爱上了互联网业务。
因此,大学毕业后,我进入了一家社交媒体公司,并成为了社区经理。后来,我加入了另一家小公司,并学习了互联网营销的基础知识。于是,25岁的时候,我开始尝试创办自己的公司,与此同时我还学习了SEO。头几年,我惨遭失败,经历了两次破产,穷得只剩下1欧元,但我学会了如何应对焦虑。
我只有不断前进,经历与人合伙,再到一个人,再与人合伙,再到一个人。期间我不得不寻找各种各样的小活儿——我这个年龄段的人都不想做的活儿,只是为了赚取微薄的收入,然后不断前进。我经历了数不清的沮丧、焦躁和绝望,但也品尝了些许的快乐。这是一种疯狂又骇人的经历。
最后,我终于挺过来了。
所有企业都有两大基本支柱:产品/服务,和营销。失去任何一个支柱,都会遭遇困难重重。在公司刚成立之初,凡事我都喜欢亲历亲为。也许是因为一开始我没有钱可投资,我别无选择:我需要打理好一切。我必须学习如何设置网站、设计网站、将其定位在Google上、创建内容、与其他公司建立合作伙伴关系、管理财务、设计策略并为客户提供服务。
但是,往往在这种情况下,我会更加专注于营销而不是产品创造。好多次,我甚至还没有产品,就充当中介,把客户送到了其他公司以换取佣金。这就是加盟的好处!
但是,现在我想知道如何创建产品或在线服务,以及如何编写代码,
既然我不知道如何编程,那么又是如何建立互联网业务的呢?多亏了WordPress。我相信,对每一个新手来说,WordPress都是最简单的建立网站的工具。我顺利地结合了SEO和WordPress。
但是,在这期间发生了两件事:一方面,我有点后悔没有认真地学习编程。我从小就喜欢编程,为什么现在不可以重拾旧梦呢?
另一方面,最初我创建WordPress是为了托管博客,因此在创建内容之外的网站时,就会感觉到WordPress的功能非常有限。而且我还没有提到在网站规模变得越来越大时,你会不停地感到头痛。突然间发生故障,出现不兼容的情况,速度变慢……
我所能做的就是找一个懂编程的人,把我的网站迁移到其他技术上,停止使用WordPress,并处理好所有的业务。
实际上,根据业务的游戏规则,这些都是我“应该”执行的操作。
发展业务的最佳方法是:雇佣某些领域的专家,让他们来为你服务。然后,由我来负责整体的战略以及“自上至下”的业务管理。
但这不是我想要的——管理人不会给我任何满足感。
我喜欢动手的感觉,即使在电脑前也是如此。我觉得如果我出生在另一个时代,就有可能从事木工之类的手艺。但是如今一切都是代码。虽然我们看不到,但代码无处不在。你的手机、电视、冰箱、信用卡、身份证、家庭警报器、汽车、路灯以及计算机上都有代码。
由于我喜欢亲历亲为业务上的所有事宜,而且在创建任何想法时不受限制,所以我想学习编程。
如今,距离我认真开始学习编程已经有半年的时间了,目前我正在学习:
HTML:创建网站的结构;
CSS:设计网站;
Javascript:实现功能。
我想成为“全栈开发”,简言之:“掌握建立一个功能性网站的所有技术。”
我一直在通过在线课程和书籍自学编程技术,但是编程并非易事。有时候,如果你想继续前进,学习就会变得非常复杂。
在遇到太过于复杂的时候,我就用下面这句话提醒自己:
“我坚信,我遇到的看似正常的程序员实际上都是反社会的人,他们经验丰富,却受到了压抑,因学习编程而受到创伤……”
如今,每当我遇到难题时,都会想起这句话。因为我感觉学习编程带来的挫败感仿佛来自另一个世界,所以我不记得曾几何时也有过这样的感觉。
刚开始的时候,一切都很复杂,所以你需要将整体分成小块,然后逐个理解这些小块。当你开始理解这些小块,并能写出少量代码时,就可以将你脑海中的想法变成屏幕上的代码,这个过程能为你带来难以置信的满足感。编程能让你对很多人产生敬畏,但是当你也沉迷于其中时,你就会意识到,只要投入大量时间就可以学懂,就像生活中的其他技能一样。
我之前所说的手艺并不是在开玩笑。编程是一门艺术。当你熟悉代码,知道如何阅读代码时,你就会发现很多编程之美。
许多人会称我为疯子,但是当你站在艺术品面前时,无论这个艺术品是一座大教堂、一副画、一本书还是一首歌曲,你心灵深处的震撼是无法用语言表达的,阅读一段优秀的富有创意的代码亦是如此。
在我开始学习编程时,最让我感到惊讶的一件事情是:编写代码的方式并不唯一。你可以用数不清的方式来实现一个功能,至于最后选定哪种则完全取决于你的知识和创造力。
我可以给你一个极端简化的Javascript例子。假设你是亚马逊,一位客户在你的网站上保存了一份圣诞礼物清单:
let giftList = ['book', 'gloves', 'alarm clock'];
现在,我们需要将礼物逐个从列表中拿出来,并显示给客户,只要他记得这个列表并完成购买即可。
为此,我们必须重复“遍历”的动作,从列表中取出礼物(由于这个列表中有3个对象,所以我们需要重复3次)。我们可以这样写:
for (let i = 0; i < giftList.length; i++) {
console.log(giftList[i]);
}
也可以这样写:
giftList.forEach(item => {
console.log(item);
})
还可以这样写:
for (item of giftList) {
console.log(item);
}
即便你不懂编程,也没关系,几个月前我也不懂。但是你可以看到,编写代码的方式有很多种。
除了成为企业家之外,有时我还喜欢在自己的博客上写文章(西班牙文)。几天前,有位读者给我发来了一条非常优美的消息,结尾是这样的:
“……因此,我只想鼓励你继续写作。你可以为人们做出很多贡献,也许这是你生命中的使命。你拥有领导者的气质,可以服务他人,帮助他人。你已经通过写作和所有承担的项目做到了这一点。”
让我感到震惊的是结尾的那句话:“所有承担的项目做到了这一点……”我为此感到十分惊讶,因为尽管我很乐意,但是我从没想过我承担的项目帮助过他人。
也许确实如此,而且我确实在朝这个方向努力,只不过我没有意识到而已。就像你正在从事的工作一样(无论这份工作是什么),即使你认为只是“职责所在”,但有可能你已经帮助到了很多人,只是你不自知罢了。
就在不久前,我还搞不明白自己从事的工作有何意义。建立互联网业务只是为了赚钱和有空闲的时间。
我知道赚钱和空闲的时间也并非毫无意义,尤其是在当今发达国家的世界里“空闲时间”诚然可贵,然而,我并没有感到心满意足。
如今,我感到心满意足了,对编程有进一步了解的渴望再次激发了我的希望,我相信我不仅可以从编程学习中受益,而且可以还帮助其他人。
最后,在我看来,人生最重要的仍然是内心的充实。
这就是我学习Web开发的原因:
“如果有人告诉我软件是一门人文科学,软件的本质是帮助使用计算机的人,那么我早就改变了自己的观点……”——学校没有告诉你的真相。
原文:https://hackernoon.com/why-am-i-learning-to-code-at-31-sd5i324s
本文为 CSDN 翻译,转载请注明来源出处。
【END】