我是一名自由程序员。自9年前高中毕业以来,编程一直是我的主要收入。我仍然打算获得学位,但目前时间仍然不适合我。
我的自我驱动识别方法如下。我并不是说这些步骤将使您得到编程社区的认可,但是当需要面试时,这将有助于提高您的信誉。
即使当时我很精通IMO编程,但我还是回到了基础知识上并通过教程学习,并根据这些灵感启发的作品来建立自己的作品集。我也开始强迫自己以JavaDoc风格的方式注释我的代码。该产品组合可能暂时不会充满浮华和魅力,但它为您提供了一个基准,您可以以此为基础并最终替换其中的内容。然后,我有一组演示和代码示例向潜在客户展示。这对于获得第一份工作至关重要。没有人愿意雇用没有任何经验的人,但是,有很多人会给那些没有专业经验的有前途的程序员一个机会。
后来我分析了这些程序,并开始根据我的常用任务编写库。有了新的库,我开始查看Internet上的CompSci问题,并开始计时自己用库构建解决方案所花费的时间。这将为我将来确定特定任务应收取的费用提供基准。
直到那时我才发现开源。我以感兴趣的语言浏览了sourceforge上的项目,并找到了可以使用的应用程序。我安装了这些应用程序,并开始将它们用作我日常计算经验的一部分。就我日常的互动而言,我能够看到这些应用程序的优缺点,因此我开始扩展它们以满足自己的需求。我会将补丁提交给正在开发的社区,以供审核,然后我将申请成为该项目的成员。在这里,我学会了使用团队中使用的各种工具,这些工具吸收了我当时认为的“丰富经验”,并将其带入了一个新的高度。
当我个人工作时,我适应了自己从事开源项目工作的所有做法,并实施了可行的解决方案。我开始认真地从事自由职业者的职业生涯,并加入了许多自由职业者招聘网站。我查看了热门职位,然后开始申请。对于我会拒绝的每一项工作,我仍然会自己完成它,就好像我已经获得了扩展知识的工作一样。这将有助于建立我的投资组合,并向我介绍一些现实世界中的挑战。当我最后一次接受采访时,我很直率,告诉他们我没有任何专业经验。然后,我开始告诉他们我曾经从事的开源项目,以及我在那完成的工作。我遇到的一些主要障碍以及如何解决它们。