作者:一只年轻的猫
日期:2019年11月24日
简介
作者,一个有着不错薪水的CTO(I was and still am the Data CTO)。收到了FaceBook的面试邀请,参加了,但是第二轮淘汰了,随后决定找回自己的编程技能,于是利用闲暇时间制作了pixelixe.com网站,一个图片编辑的网站。
作者说:“意识到这一点比我现在的工作更重要,即使我有软件工程的背景,我也没有写太多代码。我过去是,现在仍然是一家总部位于全球16个国家的大型零售公司的数据首席技术官,我的大部分时间都花在了管理和战略会议上。我和工程师们交流,但从我真正编码到现在,差不多三年过去了。”
作者原话:It is important to be aware than in my current job at that time, even if I had a software engineering background, I didn’t code that much. I was and still am the Data CTO for a large retail company based in 16 countries worldwide and I spend most of my days doing mostly management and strategy meetings. I was interacting with engineers but almost three years had passed since I really coded.
收到面试邀请
作者收到FaceBook邀请,面试有三步:
- Phone call interview
- Coding screen interview with one of their software engineer leads.
- On site interview
第一次电话面试进行得很顺利,招聘人员相信我是这个团队的合适人选。她还在我们的谈话中补充说,Facebook内部这类职位的底薪是15万欧元,我们都同意应该尽快组织编码面试。
即使在第一次接触Facebook之前,我已经花了10年时间开发软件,但我还是尽职尽责地完成了我的工作。我读了很多关于如何准备Facebook软件工程面试的文章。我花了几天时间复习基本的数据结构课程、大O符号、递归函数等等,以增加成功的机会。我甚至做了很多假的编码面试来确保我能准备好。
但是作者第二次面试失败了
作者说:“说实话,我一点也不怪Facebook,我交谈过的两个招聘人员都非常友善和专业。此外,我一直很欣赏那些精心挑选员工、往往能吸引最优秀人才的公司。有太多的公司没有把门槛提高到足够高,水平很低或很弱,最终永远不会受到“创新”的驱动。”
作者原话:To be honest, I do not blame Facebook at all, both recruiters I talked with were really kind and professional. Moreover, I have always admired companies that select their employees carefully and tend to attract the best profiles. There are too many companies out there that do not raise the bar high enough and have poor or weak level and ends up never being “innovation” driven.
决定编程
在作者失败后,决定重新开始编程。“几年前,我读了一篇文章,其中解释了亚马逊的首席技术官沃纳•沃格尔斯(Werner Vogels)每月至少编码一天,即使他在亚马逊这样的大型机构中是一个忙碌的人。这篇文章总能引起我的共鸣。如果一个CTO失去了与技术主题的联系,并且不理解他的技术团队所遭受的痛苦,那么他如何能够高效地为组织工作呢?”。(在此处涉及一种国内和国外工程师的差别,参考这篇文章:为什么美国程序员比中国程序员工作轻松、加班少?)
“在您的职业生涯中,有什么比定期编写代码更好的方法来了解计算机科学的发展和工程团队遇到的问题呢?”
因此,在2018年4月,我开始在空闲时间(晚上、周末、假期)重新开始编写代码。Facebook的拒绝让我很有动力,我想证明给自己看,我不仅能写代码,还能自己开发一个完整的产品。
第一步: Find a product idea challenging enough from a technical point of view
需要满足4个条件:
条件1:一切由自己完成
从想法,到概念和设计,再到单独开发每一行代码:数据库,中间件,api,网站,定义UX/UI,一切!!
条件2:不做太简单的东西
我不想做太简单的东西。我希望它是有趣的,复杂的,有很多的微积分问题要解决(同时修改数学和编码),也许有点3D,一些人们会愉快地使用,我会感到自豪的东西。
条件3:访问使用无限制
很明显,从一开始,我就想创建一个免费增值模式的Saas产品。由于这将是一个附带项目,我无法承担创业的费用,因为我必须与人面对面(销售方式),把他们变成潜在的用户或买家。计划是创建一个100%在线访问的工具。用户将能够使用免费计划或使用信用卡进行升级,而无需任何人为干预。那样的话,保留我的全职工作就一点问题都没有了。
条件4:无成本支出
最后,我决定不花一分钱在这个项目上。(除非购买一个域名是强制性的)引导是正确的方法。我想说服自己,在2019年的互联网上,你仍然可以白手起家。(就像在70年代、80年代和90年代,极客们直接从他们的车库里开始赚钱)。
第二步:找到一个商业点子
这个点子需要激励你,使你想去做。“Moreover, this idea was motivating me a lot, I decided to build the most easy to use and accessible graphic design studio on the market. Developing a WYSIWYG (What You See Is What You Get) editor was complex enough to challenge my computer engineering skills. A lot of mathematics and calculus would be involved, perfect. I was excited as hell!”
第三步:启动(找一个像启动名的域名)There is no such thing as finding a startup name, In reality, the trick is to find a free domain name that looks like a startup name
成果
最后,作者成功了,不到一年的时间,并盈利了。
最后
I am glad I went out of my comfort zone accepting this Facebook interview. I learned and grew a lot since then.I am proud to say I regain my coding abilities, design abilities, web marketing abilities and I can carry on as there are so many skills required to launch a startup as a side project.