成为非营利性程序员的感觉

2021-01-17 06:06:16

这是成功守则,这是一个问答环节。 Triplebyte的系列文章,我们邀请软件工程师讨论他们独特的编程途径,并分享有关行业学习和工作的见解。

在本版中,我们采访了加利福尼亚YIMBY的数据和政策分析师Darrell Owens,他对公共交通API的着迷激发了永久编程的职业。

现在,我是加州YIMBY的政策分析师和数据分析师,该组织是全州范围内的众议院倡导组织。与典型的软件公司不同,它不专门开发软件。它只是一家在工作中使用技术和软件的公司。

我是负责发现策略或项目影响的人,这是许多软件工程技能(例如对C编程非常有经验的人)之间的一种怪异融合。 #39;更多的数据分析,例如编写Python脚本来分析来自人口普查局的XML文件。

我要说的是,我的兴趣几乎与非计划性方面一样重要,例如政策分析和向利益相关者提交报告。

在此之前,我曾在伯克利的一家负担得起的住房公司工作,在那里我做了一些事情,例如与API客户端一起开发jar程序,并进行GIS编程以使利益相关者的区域分布可视化。

首先是在社区项目中工作的愿望还是在编程中工作的愿望?

我上初中时曾想从事软件工作,但我觉得这两种兴趣都在很早就发展了。

我小时候在一个非常暴力的社区长大,父母不希望我在街上。我记得我父亲给我买了一台电脑,让我留在家里。随着时间的流逝,我开始在其中玩很多乐趣,但是玩电脑的方式比玩游戏更多。我记得真的很喜欢浏览器的Inspect元素。

我要说的是,我从小就一直对住房和交通感兴趣。我父亲是下水道管理人员,这意味着他对基础设施始终非常熟悉,他会向我解释城市中的事物如何运作。在我看来,这激发了我对系统和网格的真正兴趣,这种兴趣一直持续到今天。当我逐渐熟悉计算机时,我发现API是与运输系统进行交互的关键。

当我变得更加意识到流离失所和中产阶级化影响到我的邻居-甚至是我的家人的时候,对房屋的更大关注就出现了。

我从高中开始学习真正的编程。我记得那时曾在类中玩过Python脚本和东西,但是直到19岁左右并在社区大学学习之前,我都不认为自己是一名优秀或可信的程序员。即使我自学了一些东西(例如C ++),上课还是很重要的。在社区学院充分学习Python几乎是我学到的最后一个崭新的东西,在那之前我也在那里学习过Java。此后,我在UC Berkeley的C语言课上课,但这与C ++没什么不同。实际上,我目前正在UC Santa Cruz从事更多的C工作。

哦,您稍后在游戏中学习了Python。你推荐吗?如今,它通常是新程序员选择的第一门语言。

是的,我首先学习了C ++,它在许多方面都是一种疯狂而疯狂的语言,但我觉得它实际上对我有好处。 Python是所有可以帮助您的库。在Python之后学习Java和C语言是一个很大的进步。特别是使用C,您会在编写程序时尽可能地接近计算机体系结构。

因此,可以肯定的是,使用Python可能会更容易启动和运行,但是我会挑战人们从C入手。您会喜欢它的,它只会花一点点时间来获得它。比Python。

这要归功于我曾在市政委员会工作过的当地志愿者职位。曾经在我将要加入的经济适用房公司工作的董事会成员碰巧知道我是一名程序员。我说“想知道”,因为我当时担任的志愿者职位与编程无关。但这就是我踏进门的方式。

作为“非营利”程序员,您最引以为傲的几项工作是您从事的一个项目吗?

我认为我做过的最大的事情是制定一个程序,随机选择人们来获得经济适用房,这确实是一个实质性的过程。我的角色是建立一种彩票模型,以了解真正的彩票将如何运作。

首先,令我惊讶的是,这个只有20或30套房屋的住房项目有超过11,000人在申请。我记得独自一人打我是房屋危机甚至比我想象的还要严重的迹象,我认为这是我感到需要解决这个问题的一种理由。

接下来,由于工作的一部分是分析居住在哪里的申请人比例,当我意识到大量申请人要么住在汽车中,要么无家可归时,我遇到了另一个严峻的数据问题和编程挑战。编程难题在于,人们会发现所有这些创造性的方式来填写此信息,无论是邮政信箱还是街角。可以肯定的是,在一个包含11,000个人的数据集中处理这个问题对我来说是一个介绍。我记得写过所有这些条件,例如地址格式是数字值,空格,然后是字符。但是,如果您看不到这种格式,则说明它们可能无家可归,但仍需要将其输入的数据中考虑在内。

我已经学习了一段时间的编程,所以我对这些方法有一定的技术经验,但是当它成为真实的人们的生活时,这又是另一回事。因此,我了解了编码如何影响人们,并且您实际上是在编写程序来捕获这些现实生活中的极端情况,这些情况说明了我们的现实生活中的失败。

我记得那只是我一直在努力的事情,而这可能仍然是我最骄傲的一件事,关于我编写的一款软件

您是否认为非营利和公共部门的软件工程人才短缺?

我认为私营部门实际上存在更大的短缺,因为科技公司愿意支付高薪,而他们仍然无法填补所有工作。

但是,就您的观点而言,公共部门肯定没有竞争力。我记得这里的本地火车系统BART提供了软件工程工作,每年的费用接近10万美元。在湾区这不是很多。该职位要求一定程度的经验。因此,我确实认为,这并不总是能够带来最出色的编码技能,这对很多公共部门都是有害的。我的意思是,这些本地城市网站,政府网站和特殊地区网站中有很多看起来像是我18岁时由我编写的代码。您可以闯入它们,它们总是很容易崩溃。

所以,是的,我想说,能够支付有竞争力的工资在技术人才方面既会阻碍非营利组织,也会阻碍公共部门。

您认为您会跳到营利性科技公司的软件工程职位吗?有什么有趣的吗?

我肯定对某些私营部门技术感兴趣。我一直在与几个人一起从事机器学习项目。这是关于面部识别及其社会影响的,着眼于Twitter的机器学习算法,该算法根据图像的优先级来组织图像预览,该图像优先基于哪张脸和看似肤色。

因此,您知道,如果ML中的某些东西吸引了我,我不会感到惊讶。 我还可以看到自己在GIS中做某事。 再说一次,我记得看到了BART的工作,并想自己像我这样的书呆子接受了这些工作。 那么谁知道呢。