65.9K
CodeProject 正在变化。 阅读更多。
Home

我是如何开始从事技术布道的

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.60/5 (2投票s)

2015年11月17日

CPOL

11分钟阅读

viewsIcon

8046

我想分享我的故事,这样那些想进入这个领域的人,或者那些没有技术背景的人,就能明白存在这样一条路。

这个问题我被问过很多次了,所以我想把它写下来,方便分享。我也问了一些同行,听了他们的故事,因为他们都有独特的背景,而且这确实是一个有趣的职位,有很多不同的途径可以达到。

我想分享我的故事,这样那些想进入这个领域的人,或者那些没有技术背景的人,就能明白存在这样一条路。

教育程度

首先,我没有工程学或计算机科学背景。我在纽约的一所小型公立大学(SUNY Oneonta)学习了传播学。2009年毕业后,我回到纽约理工大学(NYIT),在那里我开始了我的大学生涯,并完成了我的MBA信息系统管理专业的第一年。直到大学快结束的时候,我才发现你可以学习计算机。

在读MBA的时候,我尝试了一年的计算机科学课程,但作为一个研究生,我不得不学习为新生设计的数学课程,而我却一门都没通过。(我在高中数学的平均分是65)。就这样,那个梦想破灭了。与此同时,经济崩溃了,没有人招聘。我意识到这不是上学的最佳时机,我的学生贷款债务正在增长到近4万美元。大部分债务来自我从未完成的研究生课程。

总结

如果你上学,请确保这是你真正想学的。 那笔学生贷款债务会伴随你一生。对于你只是在想“也许我想做这个?”的事情,这是一笔巨大的投资。

坚持不懈

Joe Dirt说得最好:“生活就是一座花园——去挖掘吧。”我也是这么做的。我重新回到了建筑行业,在纽约做了大约5年。我讨厌那份工作。工作时间太长,从长岛到曼哈顿的通勤时间太疯狂,而且工作内容根本不吸引我。单程就要花我2个小时——这还不算上班时间,每天就是4个小时。我经常只是扫地或拆墙,直到后来我才在工作中学会了木工或项目管理之类的技能。

我从小就热爱电子游戏,但不知道如何进入这个行业。有一天午餐时间,我在网上看到了GDC(旧金山年度游戏开发者大会)的广告,并意识到这是一个不错的起点。话虽如此,我在午餐时就预订了机票和酒店,并花了350美元买了一张展会通行证。我当时很穷,住在妈妈家,几乎没钱还学生贷款,但我看到了这是一个进入我感兴趣领域的机会。直到很多年后,我才真正意识到那次旅行将如何改变我的人生轨迹。

总结

投资自己。 我这次旅行花了大约2000美元,而我当时已经很穷,深陷学生贷款债务,但这对我来说是一个我愿意冒的风险,去投资我的未来。不过,这比大学学费便宜多了。

GDC 2010

不认识任何人让这次活动对我来说有些孤单。我都是独自用餐,并在展厅里举行的几场免费讲座中静静地坐着。尽管如此,我学到了很多东西,当我在听Crytek的CryEngine演示时,我意识到我听不懂他们说的任何一个词,但我还是做了大量的笔记,并暗下决心,明年回来的时候,我一定要弄懂所有那些术语的意思。纹理、材质、 phong 着色器?对我来说,这就像在说克林贡语一样,我根本不知道发生了什么。

离开时,我从GDC的书店里拿了两本厚厚的书——《精通虚幻技术I和II》。之后,我就沉迷其中了。我一回家就下载了Epic新发布的Unreal Development Kit(UDK),那是他们游戏引擎的免费版本,然后一口气读完了那两本书。我读了每一页(总共1000多页),并完成了每一个教程,有些教程还做了不止一次。其中一位作者Zak Parrish后来去了Epic工作,他还制作了许多关于如何在引擎中进行3D建模和构建场景的视频,我永远感激他制作的那些详尽的视频。没有它们,我早就放弃了。

总结

学会忍受不适。我感到孤单,身在异国他乡,每时每刻都在学习新东西。

博客

在这个过程中,我开始在WordPress上记录我的工作,并利用他们的免费服务器写下我正在构建的项目。我会在博客上分享我偶然发现的有用的教程,也会发布我自己学习过程中的教程,以及正在进行的作品的图片。我做的第一件事就是尝试在UDK中创建《洛克人2》中的泡泡人关卡。你可以在这里读到相关内容。

不久之后,我意识到我实际上需要了解编程才能让角色获得更多功能。我已经完成了大部分环境的建模和绘制,但我需要知道如何编程才能让我的角色射击并真正与其他角色互动。我通过3DBuzz.com上的教程自学了3DS Max,并通过各种网站自学了Photoshop。我开始阅读其他教程,然后,我用Epic的脚本语言Unreal Script,编写了自己的教程。我完全不懂如何阅读代码,但我能根据别人做的事情拼凑出一些片段。代码中的注释也有帮助。这也是我为什么如此详细地注释我的代码的一个重要原因——为了帮助他人。

所有这些博客都得到了回报,因为Packt Publishing的一位编辑发现了它,并问我是否愿意写一本关于虚幻引擎游戏编程的书。我不想拒绝挑战,于是我答应了,而关于学习编程的事情,我打算之后再说。我以为我可以边做边学。

总结

写博客是有效的。真的。它为我带来了职业生涯中三份工作,并开始了无数段友谊。

写书

在接下来的三个月里,也就是2012年秋季,我如饥似渴地阅读我能找到的所有资料来学习编程。每天通勤去曼哈顿的路上,我都会阅读关于编程和Unreal Script的博客。然后下班回家后,我会为这本书撰写教程。在最后的6周左右,我把自己锁在公共图书馆里,不停地编写代码。经过3个月的工作,我完成了一本书。这帮助我建立了自信,相信自己能够快速学习新东西。

总结

不要害怕挑战自己。给自己设定一个艰难的目标,并坚持下去。

写游戏

我从GDC回来的一周,我在Joystiq(一个现已被Engadget收购的视频游戏博客)的粉丝Facebook群组里发了一条消息,说我想开始一个关于视频游戏的博客,并询问其他人是否愿意加入。几个小时内,就收到了大量的回复,我决定和最先回复的4个人一起合作。后来这个博客发展成了Armless Octopus,主要涵盖Xbox Live独立游戏(XBLIG),但后来也扩展到了整个独立游戏领域。

XBLIG的定位是由Mike Wall(现在是我最亲密的朋友之一,当时是博客的总编辑)提出的。在此之前,我从未听说过XBLIG,因为它还很新,隐藏在Xbox 360市场的角落里。但Mike是许多游戏的粉丝,并且能够发掘出很多精品。团队开始制作播客,并坚持每周报道新发布的游戏。许多游戏后来登陆了其他更大的平台,但我们也发现,像IGN、GameSpot、Joystiq这样的主流媒体也希望获得关于这个细分市场的报道。我们通过报道这些游戏和背后的开发者,帮助满足了这一细分市场的需求,而主流媒体也会引用我们的内容,从而为我们的网站带来流量。对所有参与者来说都是双赢!

我从这次经历中学到了很多,包括如何制作播客、如何与其他作者互动并从他们的角度看问题,以及整个行业是如何运作的。但最重要的是,我学会了接受批评。在内容发布之前,我们会互相校对彼此的作品,并提出建设性的意见。Mike是一位出色的作家,他总是能改进我想要表达的任何内容。我有限的写作能力很大程度上要归功于他,这对我今天非常有益。

总结

学会接受批评。与他人合作让我能够从他们的角度看问题,同时也允许他们对我进行批评,这提高了我的传播能力。

真正学会编程

在我加入之前,XBLIG就已经非常活跃了,有MVP(微软对那些乐于助人的个人的一种认可)和一群才华横溢的开发者。然而,他们的大部分作品都隐藏在商店里,并且有很多奇特而荒谬的名称。XNA,微软为了让开发者将游戏发布到Xbox 360上而创建的C#框架,是推动这个社区发展的动力,我将其作为范例来真正学习编程。我刚刚写完那本关于虚幻引擎的书,但其中使用的语言只用于那个工具。而有了C#,我可以触及多个平台。

我给了自己3个月的时间来学习C#并发布我的第一个游戏,我做到了。我从2012年3月开始,创建了一个Pong游戏的克隆版,名为Piz-ong。这是基于Ian Stocker(Magical Time Bean,以Escape Goat闻名)的建议,他建议从Pong开始,因为它很简单,并且能教会我基础知识。在这个过程中,许多社区成员都在我遇到困难时指导我并回答论坛问题。特别是Jim Perry,他是一位XNA MVP(现在也是我们第一批ID@Xbox MVP之一),他全程指导了我,对我非常耐心,甚至每天晚上都会帮我审查我的构建,我们会通过电子邮件以.zip文件的形式来回发送。

我们有一个很棒的社区,我的第一个游戏也在主机上发布了,但此时是时候更进一步了,我想回馈这个给了我这么多东西的社区。

总结

找到一位导师,然后回馈。对我来说,那就是Jim Perry,我至今未曾见过他本人,但他牺牲了大量的个人时间来帮助我这样一个菜鸟学习编程。

更多 Web 开发实践

这篇文章是微软技术布道师和工程师的Web开发系列文章的一部分,内容涵盖了实用的JavaScript学习、开源项目以及互操作性最佳实践,包括Microsoft Edge浏览器和新的EdgeHTML渲染引擎。

我们鼓励您在包括Windows 10默认浏览器Microsoft Edge在内的各种浏览器和设备上进行测试,可以使用dev.microsoftedge.com上的免费工具。

我们工程师和布道者的更深入的学习

  • GitHub 上的编程实验室:跨浏览器测试和最佳实践
  • Microsoft Edge Web Summit 2015(来自我们的工程团队和JS社区)
  • 哇,我可以在Mac和Linux上测试Edge和IE! (来自Rey Bango)
  • 在不破坏网络的情况下推进JavaScript (来自Christian Heilmann)
  • 让Web正常工作的Edge渲染引擎 (来自Jacob Rossi)
  • 通过WebGL和Microsoft Edge释放3D渲染能力 (来自David Catuhe)
  • 托管Web应用和Web平台创新 (来自Kevin Hill和Kiril Seksenov)

我们的社区开源项目

  • vorlon.JS(跨设备远程JavaScript测试)
  • manifoldJS(部署跨平台托管Web应用)
  • babylonJS(轻松制作3D图形)

更多免费工具和后端 Web 开发内容

© . All rights reserved.