无偿加班

by Michael D. Johnson

迈克尔·约翰逊(Michael D.Johnson)

我如何赚到我的第一百万美元(无偿代码) (How I made my first million dollars (in pro bono code))

I gaze down at the Potomac River from a glass-walled conference room.

我从一间玻璃墙的会议室里凝视着波托马克河。

It’s my third week of interviews with the same firm. I’m moments away from securing the kind of prestigious consulting gig that most fresh grads from New England dream of.

这是我在同一家公司采访的第三周。 我距获得新英格兰最新鲜的毕业生梦dream以求的那种享有声望的咨询演出片刻不远。

Business casual. Room to grow. They’ll even throw in an extra week of paid leave every year for volunteer work.

商务休闲。 成长的空间。 他们甚至每年还会多花一周的带薪休假来从事志愿工作。

The commencement speeches are still fresh in my memory — the speakers always reminding us to “give back” and to “change the world.”

开场白演讲仍然记忆犹新,演讲者总是提醒我们“回馈”并“改变世界”。

My wife and dog moved down to D.C. with me so I could do just that. Give back. Change the world.

我的妻子和狗和我一起搬到DC,所以我可以做到这一点。 归还。 改变世界。

And now all that stands in my way is a panel of type-A personalities in suits.

现在,阻碍我前进的是一组西装式的A型人物。

But they’re running late, and I drank way too much coffee to just sit here staring at the river. So I open up Reddit on my phone and start scrolling. An article catches my eye. I click through and start reading it.

但是他们来晚了,我喝了太多咖啡,只能坐在这里凝视着河水。 因此,我在手机上打开Reddit并开始滚动。 一篇文章引起了我的注意。 我点击并开始阅读。

I won’t realize this until later, but that final interview I’m waiting on? It won’t even matter.

直到以后我才意识到这一点,但是我还在等那个最后的面试吗? 没关系。

Instead of spending one week a year doing volunteer work, I’ll soon spend 52 weeks a year doing it.

与其每年花一周的时间从事志愿工作,不如我将每年花52周的时间来做志愿者。

I’ll lead a program that will go on to ship more than a million dollars worth of pro bono code in its first 18 months.

我将领导一个程序,该程序将在头18个月内交付价值超过一百万美元的公益代码。

I’m on the phone with Quincy Larson, talking with him about his article. His central idea is that new developers can get real world experience by building projects for nonprofits.

我正在与昆西·拉尔森 ( Quincy Larson )通话,并与他谈论他的文章。 他的中心思想是,新开发人员可以通过为非营利组织构建项目来获得现实世界的经验。

Quincy tells me that so far his theory about volunteers helping nonprofits with pro bono code is just that — a theory.

昆西告诉我,到目前为止,他关于志愿者使用公益代码帮助非营利组织的理论仅仅是一种理论。

And it’s a theory with a lot of detractors.

这是一个有很多批评者的理论。

He’s spoken with countless companies who coordinate volunteerism for nonprofits, and they all tell him the same thing — it will never work.

他与无数协调非营利组织志愿服务的公司进行了交谈,并且它们都对他说了同样的话-它永远行不通。

Sure, they say, pair programming and agile software development are proven ways to ship code. But to do it with volunteers? And to do it remotely?

他们说,可以肯定的是,结对编程和敏捷软件开发是行之有效的代码发布方式。 但是要与志愿者一起做吗? 并远程进行?

“There are a million moving parts that could fail,” they tell him. “Without a budget and financial incentives, that initial burst of good intention just isn’t sustainable.”

他们告诉他:“有一百万个运动部件可能会失效。” “没有预算和财政激励措施,最初的良好意愿爆发是不可持续的。”

As I talk with Quincy — pacing around my newly-rented studio apartment just miles from the White House — my mind races with ideas.

当我与昆西交谈时(在距白宫仅数英里的新租用的一室公寓周围步伐加快),我的思想飞速发展。

Just one successful project.

只是一个成功的项目。

One proof of concept.

一种概念证明。

That’s all this would take.

这就是所有这些。

There are probably a thousand nonprofits in my neighborhood alone. They all want to be situated as close to the federal cash cow as possible. I can reach out to them. Convince them to take a chance on our idea.

仅在我附近,可能就有一千个非营利组织。 他们都希望尽可能靠近联邦摇钱树。 我可以联系他们。 说服他们抓住我们的想法。

“I can help you,” I tell Quincy.

“我可以帮助您,”我告诉昆西。

I’ll find the nonprofits and manage the projects. He’ll leave the details to me.

我将找到非营利组织并管理项目。 他会把细节留给我。

The sun rises over the National Mall.

太阳升起在国家广场上。

On the other side of the country, Quincy is winding down a pair programming session with a developer in Korea. He sends me “cheers” through our chat room system, then stumbles off to bed.

在该国的另一边,昆西正在结束与韩国开发商的一对编程会议。 他通过我们的聊天室系统向我“欢呼”,然后跌跌撞撞地上床睡觉。

I take a sip from my steaming coffee and open Free Code Camp’s shared inbox. We’ve got an email from a nonprofit roller derby league in Portland.

我from了一口热气腾腾的咖啡,然后打开了Free Code Camp的共享收件箱。 我们收到了来自波特兰的一个非营利性滚轮德比联赛的电子邮件。

The stakeholder wrote that their league has been using volunteer management software, but that it lacks reporting and multi-user access. And it doesn’t offer the flexibility they need so they can track their skaters as they move throughout the system.

利益相关者写道,他们的联盟一直在使用志愿者管理软件,但是缺乏报告和多用户访问权限。 而且它没有提供他们所需的灵活性,因此他们可以在整个系统中移动时跟踪他们的溜冰者。

“We heard about you on Twitter,” she says. “We‘re hoping you might be able to help.”

她说:“我们在Twitter上听说了您。” “我们希望您能够提供帮助。”

I don’t know the first thing about roller derbies. But I do know that we can build an app with the functionality she described. And it would be a great project for a couple of new developers to add to their portfolios.

我不知道有关滚子德比娃娃的第一件事。 但是我知道我们可以使用她描述的功能来构建应用程序。 对于几个新开发人员来说,添加到他们的投资组合中将是一个很棒的项目。

I set up a time later in the day to speak with her. My plan is to get more details about their workflow and learn all the failings of the software they currently use.

我当天晚些时候安排时间与她交谈。 我的计划是获得有关他们工作流程的更多详细信息,并了解他们当前使用的软件的所有故障。

On the phone, I reassure her, “I understand your concerns. I know this all seems hard to believe. We’re really not going to charge you a dime. I’m telling you the truth. That’s not how we make money.”

在电话中,我向她保证,“我了解您的担忧。 我知道这一切似乎难以置信。 我们真的不会向您收取一角钱。 我告诉你真相。 那不是我们赚钱的方式。”

What I don’t tell her is that we don’t make money at all, yet. The entire operation is being run on Quincy’s savings.

我不告诉她的是,我们还没有赚钱。 整个操作都在Quincy的节省下进行。

Still, she’s skeptical. It’s much harder to convince her than I thought it would be. What we’re offering sounds too good to be true.

尽管如此,她还是持怀疑态度。 要说服她要比我想象的要难得多。 我们提供的东西听起来太好了,难以置信。

But she goes ahead and tells me more about her organization, and what they need their volunteer management system to do. I’m able to convince her that we aren’t pulling some sort of bait and switch.

但是她继续前进,并向我详细介绍了她的组织以及他们需要他们的志愿者管理系统做什么。 我能够说服她,我们并没有采取任何诱饵和行动。

She draws a heavy breath. “All right,” she says. She pauses for what feels like an eternity. “Let’s do this.”

她深吸一口气。 “好的,”她说。 她停下来感觉像是永恒。 “我们开工吧。”

There’s no time to celebrate after we hang up. I need to decide which developers in our open source community are the best fit to tackle our first project.

挂断电话后没有时间庆祝。 我需要确定开源社区中的哪些开发人员最适合解决我们的第一个项目。

At this point, Free Code Camp’s curriculum consists of a mere 200 hours of tasks, such as “Complete Stanford’s Computer Science 101 course” and “Solve all the algorithm challenges on CoderByte.” This is a far cry from the 1,200 hours of in-house coding challenges that we’ll ultimately require before developers can start our nonprofit projects.

此时,Free Code Camp的课程仅包含200个小时的任务,例如“完成斯坦福大学的计算机科学101课程”和“解决CoderByte上的所有算法难题”。 这与开发人员开始我们的非营利项目之前最终需要的1200小时内部编码挑战相去甚远。

I open up my database and find two people who’ve completed the 200 hour curriculum, live in similar timezones, and are available for the same number of hours each week. I send them both emails to schedule a time to talk.

我打开数据库,找到两个人,他们完成了200小时的课程,住在相同的时区,并且每周有相同的小时数可供使用。 我向他们发送了两封电子邮件,以安排通话时间。

I explain the project to them over the phone, and how all of this is going to work.

我通过电话向他们解释了该项目,以及所有这些工作将如何进行。

Of course, I’m not actually sure how all of this is going to work. It’s not like there’s some standard-issue instruction manual for running fully pro bono projects, remotely, with volunteers who are new to software development.

当然,我实际上不确定所有这些工作如何进行。 这并不是像一些标准发行说明手册那样,与刚接触软件开发的志愿者远程运行完全无偿的项目。

But I keep my anxieties to myself. And we start the following day.

但是我对自己保持焦虑。 我们从第二天开始。

I open up my calendar, then immediately apologize to my wife. She won’t be seeing much of me today.

我打开日历,然后立即向我的妻子道歉。 她今天不会见到我很多。

I’m serving as the agile project manager for 13 ongoing projects, and hosting five sprint meetings today.

我目前担任13个正在进行的项目的敏捷项目经理,并且今天主持了5次sprint会议。

The final meeting — which starts at midnight — is with a nonprofit based out of Indonesia. If all goes well, this meeting will conclude with us shipping our first finished project.

最终会议于午夜开始,与来自印度尼西亚的一家非营利组织进行。 如果一切顺利,那么本次会议将结束,我们将交付第一个已完成的项目。

The organization, Kopernik, distributes devices to rural villages, such as water filters, stoves, and solar-charged lamps. Women in these villages making a living by selling these devices. In a subsidized form of entrepreneurship, this “Wonder Women program” stimulates local economies and speeds up the spread of life-changing technologies.

该组织Kopernik向乡村分发设备,例如滤水器,火炉和太阳能灯。 这些村庄的妇女通过出售这些设备谋生。 以“创业妇女”的补贴形式,该“妇女奇才计划”刺激了当地经济并加速了改变生活的技术的传播。

Kopernik uses an old, paper-and-pencil-based receipt system in the field. They lose a lot of data this way, but at least it still works when villages lose their internet connection — which they often do for weeks at a time.

Kopernik在现场使用了一种旧的,基于纸笔的收据系统。 他们以这种方式丢失了很多数据,但是至少在村庄失去互联网连接时,它仍然可以正常工作,而这通常一次只能运行数周。

Over the course of 10 one-week development sprints, we’ve built a Chrome extension that records sales data locally, then bulk uploads it as soon as the device has access to the internet. Thanks to this app, Kopernik will have better data to show their efficacy next time they apply for additional grant funding for their Wonder Women program.

在10个为期一周的开发冲刺过程中,我们构建了一个Chrome扩展程序,该扩展程序可在本地记录销售数据,然后在设备可以访问互联网后立即批量上传。 借助此应用程序,Kopernik下次可以为“神奇女侠”计划申请额外的资助资金时,将拥有更好的数据来展示其功效。

As the meeting ends, the stakeholder from Kopernik surprises us with a short thank you video. She says they made it for us, as a small token of their appreciation.

会议结束时,来自库珀尼克(Kopernik)的利益相关者用简短的感谢视频使我们感到惊讶。 她说,他们为我们做到了,以示感谢。

It’s all the payment we need. A short time later, we deliver the roller derby management system. No thank you video this time, but an incredibly grateful nonprofit nonetheless.

这就是我们需要的所有付款。 不久之后,我们提供了滚筒德比管理系统。 这次没有谢谢您的视频,但是仍然是一个令人感激的非营利组织。

It becomes clear to me that we’re onto something big.

对我来说,很明显,我们正在走向更大的目标。

And this is just the beginning.

而这仅仅是个开始。

There are thousands of nonprofits who could ultimately benefit from the sort of internal tools that we’re building at no cost.

成千上万的非营利组织最终可以从我们免费构建的内部工具中受益。

But there’s no way we can help them all if it’s still just me setting up these projects and running these meetings.

但是,如果仍然只有我来设置这些项目并运行这些会议,我们将无法为他们提供所有帮助。

To reach that level of scale, I’ll need help.

为了达到这个规模,我需要帮助。

I’m on hold with the Project Management Institute. I’ve been reading the experience requirements for their new Agile Certified Practitioner (PMI-ACP) certifications.

我被项目管理研究所搁置了。 我一直在阅读他们的新敏捷认证从业人员(PMI-ACP)认证的经验要求。

If my understanding is correct, leading our agile nonprofit projects will count toward the 2,000 hours of agile experience required of project managers.

如果我的理解是正确的,领导我们的敏捷非盈利项目将计入项目经理所需的2,000个小时的敏捷经验中。

And if these hours count, we should have no problem recruiting volunteer agile project managers to help us code for a cause. After all, they’ll stand to gain the same real world experience as our developers.

而且如果这些时间都算在内,那么我们就可以毫无问题地招募敏捷的志愿者项目经理来帮助我们为原因编码。 毕竟,他们将获得与我们的开发人员相同的真实经验。

The hold music cuts out, and the man hops back on the line. He tells me that yes, these nonprofit projects will count toward the PMI-ACP.

暂停音乐停止播放,该名男子跳回线路上。 他告诉我,是的,这些非营利项目将计入PMI-ACP。

Boom! I can’t help but slap my hand down on my desk. I thank him and end the call.

繁荣! 我不禁将手放在桌子上。 我感谢他并结束通话。

I immediately start pounding the digital pavement. I create a Google form, then hit up Reddit and LinkedIn, putting out a call for volunteer agile project managers.

我立即开始夯实数字路面。 我创建了一个Google表单,然后创建了Reddit和LinkedIn,并呼吁志愿者敏捷项目经理。

My plan is to put together an entire team of project managers, so that we’ll be able to take on as many projects as possible.

我的计划是组成一个整个项目经理团队,以便我们能够承担尽可能多的项目。

Only five months ago, all of this was just a theory—a theory that experts had met with skepticism.

仅在五个月前,所有这些还只是一种理论,专家们对此表示怀疑。

And yet I’m staring at a spreadsheet of 30 applications. And I realize that this is what it feels like to be part of an open source community that’s going places.

但是我盯着30个应用程序的电子表格。 我意识到这就是成为即将到来的开源社区的一部分的感觉。

It’s on. We can scale this.

开了 我们可以扩大规模。

I’m on a call with a nonprofit based out of New York City. I glance at their application in my database. They’re spending a bunch of money on software that’s too cumbersome to use. They’ve applied for a pro bono Code Grant to replace it.

我正在与纽约市以外的非营利组织通话。 我看了他们在我数据库中的应用。 他们在笨拙的软件上花了大笔钱。 他们已经申请了无偿代码补助来替换它。

“How much are you paying for this software, again?”

“您再次为该软件支付多少钱?”

“Around $12,000 per year,” she says.

她说:“每年约12,000美元。”

“And nobody will use it?”

“没有人会使用它吗?”

“It takes 25 clicks to edit a line on a client record,” she says.

她说:“需要25次点击才能编辑客户记录中的一行。”

I’m no UX designer, but that number makes me wince.

我不是UX设计师,但这个数字让我畏缩了。

I ask her what other solutions they’ve tried. She tells me there are only two existing solutions for what they do. One is the program they’re using. The other is prohibitively expensive.

我问她,他们尝试了哪些其他解决方案。 她告诉我,目前只有两种解决方案可以解决这些问题。 一种是他们正在使用的程序。 另一个非常昂贵。

After asking several more qualifying questions, it becomes clear that they’ll need a custom solution.

在问了几个合格的问题之后,很明显他们将需要定制的解决方案。

I don’t see any red flags, so I give her the good news: we can give her organization a Code Grant for pro bono development. She’s delighted and relieved, and says she’ll share the news with her team.

我看不到任何危险信号,所以我给她带来了一个好消息:我们可以为她的组织提供无偿开发的Code Grant。 她很高兴和放心,并说她将与她的团队分享这一消息。

I tab over to my database of volunteers. I’ve interviewed all of these applicants personally, but I probably didn’t need to. They’ve completed 1,200 hours of full stack JavaScript challenges and built 30 projects. They’re more than qualified.

我浏览了我的志愿者数据库。 我已经亲自面试了所有这些申请人,但我可能没有必要。 他们已经完成了1200小时的全栈JavaScript挑战,并建立了30个项目。 他们不仅仅是合格的。

Then I call Jason from our agile project management team. “I’ve got an education-focused nonprofit in NYC who needs an app with bulk data imports, the ability to edit those data, and CSV export functionality. You interested?”

然后,我从敏捷项目管理团队打电话给Jason。 “我在纽约市有一个以教育为重点的非营利组织,他需要一个具有批量数据导入功能,能够编辑这些数据以及CSV导出功能的应用程序。 您有兴趣吗?”

He tells me he’s always interested.

他告诉我他一直很感兴趣。

I send him the contact info for two of our volunteers who requested to work on education-based nonprofits.

我向他发送了我们的两名志愿者的联系方式,他们要求从事基于教育的非营利组织的工作。

Jason schedules a scope conference to start the project. It’s our twenty-third.

Jason安排了范围会议来启动该项目。 这是我们的二十三岁。

Then he and I rush off to another app delivery conference.

然后,他和我赶去参加另一个应用交付会议。

That’s when I realize: when you apply a conservative hourly rate of $100 to developers and project managers for these 500-hour projects, we’ve shipped over a million dollars in pro bono code.

那时我才意识到:当您对这500个小时的项目向开发人员和项目经理应用保守的每小时100美元的费率时, 我们已经交付了超过一百万美元的免费代码。

And that’s just what these nonprofits saved in development costs. It’s hard to estimate how much time and money we’ve saved them in increased productivity.

这就是这些非营利组织节省的开发成本。 很难估计我们为提高生产力节省了多少时间和金钱。

The solutions we’ve built for them are helping them raise money more effectively. In some cases, a two-hour process becomes a two-minute process. We’re giving them better insight into their teams and logistics. We’re helping them carry out their missions more effectively.

我们为他们建立的解决方案正在帮助他们更有效地筹集资金。 在某些情况下,两小时的过程变成了两分钟的过程。 我们为他们提供了对他们的团队和物流的更好的洞察力。 我们正在帮助他们更有效地执行任务。

The meetings are done for today, and the sun is still shining. I grab a leash and take my dog down to Rock Creek for a swim.

今天的会议已经结束,阳光仍然照耀着。 我抓紧皮带,带我的狗去岩溪游泳。

If you liked this, click the? below so other people will see this here on Medium.

如果您喜欢这个,请点击? 下面,以便其他人可以在Medium上看到。

And if you’re with a nonprofit, apply for a Code Grant today.

如果您是非营利组织成员,请立即申请“代码资助” 。

翻译自: https://www.freecodecamp.org/news/how-i-made-my-first-million-dollars-in-pro-bono-code-86f911040484/

无偿加班

无偿加班_我如何赚到我的第一百万美元(无偿代码)相关推荐

  1. 要求员工自愿无偿加班 特斯拉真是拼...

    [TechWeb]3月19日消息,据国外媒体报道,电动汽车厂商特斯拉在今年1月份宣布了裁员7%的消息,随后也对线下门店进行了调整,消息人士上周透露他们又裁减了招聘团队的半数员工. 但在经过大量裁员之后 ...

  2. 我为什么不无偿加班,你也不应该

    From: http://thecodist.com/article/why_i_don_39_t_do_unpaid_overtime_and_neither_should_you 发布时间:02/ ...

  3. mysql无偿献血_献血的好处1、无偿献血者可以享受免费用血的待遇,献血者本人自...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 献血的好处 1.无偿献血者可以享受免费用血的待遇,献血者本人自献血之日起五年之内免费享受五倍无偿献血量的医疗用血,五年之后免费享受与无偿献血量等量的医疗用 ...

  4. 普通人卖什么才能赚到人生的第一桶金?

    我们都是平凡人,包括我,也可能包括你!作为平凡人,在没钱.没资源.没产品这三座大山前,如何改变自己,改变命运呢? 改变命运,除了是精神上的,更重要的是能赚到钱,赚到足以让你过的不错的钱.怎么做呢?萃见 ...

  5. 19岁白帽子通过bug悬赏赚到一百万美元--转

    出处:https://news.cnblogs.com/n/620858/ 19 岁的 Santiago Lopez 通过 bug 悬赏平台 HackerOne 报告漏洞,成为第一位通过 bug 悬赏 ...

  6. 【转】有的共享软件赚了一百万美元,而为什么你没有?我的软件推广成功之路...

    有的共享软件赚了一百万美元,而为什么你没有? 转自:http://blog.csdn.net/wangjiwei2010/article/details/1267044 译:DreamGoal 原作: ...

  7. java在线支付---09,10,11,12_在线支付_分析易宝支付网关的应答协议与处理代码,完成用于处理支付响应的Servlet的初步编写和调试,完成处理支付网关响应结果的Servlet,支付实现

    09_在线支付_分析易宝支付网关的应答协议与处理代码 创梦综合技术qq交流群:CreDream:251572072 对支付结果返回的数据加密生成md5-hmac public static boole ...

  8. 不完全性定理 元数学和自然数_开读哥德尔原著第一章——哥德尔读后之十

    不完全性定理 元数学和自然数_开读哥德尔原著第一章--哥德尔读后之十 把R.B.B的导论弄完,终于轮到读哥德尔原著的英译文本了,今天开读原著的第一章.R.B.B的导言给了人很多哥德尔定理的背景知识,但 ...

  9. lisp工具箱for中望_CAD二次开发LISP视频_小懒人CAD工具箱_CAD插件_CASS插件_LISP代码...

    CAD二次开发LISP视频_小懒人CAD工具箱_CAD插件_CASS插件_LISP代码 LISP教程,CADLISP开发视频,LISP视频 CAD二次开发视频 CASS开地教程 LISP视频 LISP ...

  10. 19 岁白帽子通过 bug 悬赏赚到一百万美元

    19 岁的 Santiago Lopez 通过 bug 悬赏平台 HackerOne 报告漏洞,成为第一位通过 bug 悬赏赚到一百万美元的白帽子黑客.他的白帽子生涯始于 2015 年,至今共报告了超 ...

最新文章

  1. 使用delphi 开发多层应用(十二)使用kbmMW webserver 返回JSON
  2. Kubernetes各组件的功能
  3. Linux ALSA声卡驱动之三:PCM设备的创建
  4. 【.Net Micro Framework PortingKit – 12】SysTick驱动开发
  5. Sharepoint 2010 隐藏基本搜索中心搜索结果左侧的分类条件
  6. Sql 存储过程加游标结合的使用
  7. 在c++中一个空类占用的字节数
  8. C++ —— C++引用
  9. NodeJS管理利器 - pm2常用命令
  10. 【Python】Python figure显示的两种方式
  11. 如何升级PowerShell
  12. linux mv时间,简介Linux中cp和mv搭配{,}在shel_l当中的用法
  13. 如何列出引用SQL Server中给定表的所有外键?
  14. 简繁体在线切换JS插件
  15. Atlas Control Toolkit更新发布V1.0.60914.0
  16. 测试人员问一个功能对不对,深入分析
  17. Myeclipse10安装反编译软件笔记
  18. 把mdb文件导入SQL Server 软件的解决方法
  19. 看看故障诊断文献中的故障设置方法-中文论文篇
  20. OpenStack环境下安装Mistral

热门文章

  1. 解决:qrc文件中删除资源文件后编译失败
  2. .net VB中字符串按照换行符号俩来进行分割
  3. Oracle 索引层级,十六、oracle 索引
  4. 【140815】VC编程技巧280例 电子书下载
  5. 《现代控制系统》第四章——反馈控制系统特性 4.3 控制系统对参数变化的敏感程度
  6. Python之txt数据导入
  7. 计算机图形学常用知识点,计算机图形学基础重点
  8. 【知识图谱】08KBQA问答系统(python+fuseki+jena)
  9. MATLAB常用求导和求偏导函数
  10. 高数习题第七章总练习题(下)