关键字是:一个人,程序员,移动互联网,toC
个人认为想要一个人移动互联网创业需要以下必要条件:
1.你得是名客户端程序员。如果你还要开发服务器部分,则需要是一名全栈工程师,如果你现在不是则需要有成为全栈的勇气和能力。这里的全栈主要指客户端和服务器都要会,客户端开发语言比较固定JAVA,OC和Swift,服务器可选很多,自己开心就好。作为一名前端需要了解用户交互的设计原则,提供良好的用户体验;作为后端则要考虑并发,负载均衡,数据库部署和操作,备份还原等。
这里加入一个类比,我本身是一个网络小说爱好者,我看过很多小说里的套路都是主角获得XX奇遇,然后闭关苦练几年,出来就牛逼了,接下来就一路爽文,我想很多读者应该是会把自己带入到小说中吧?在小说里往往这个闭关修炼的过程可能就几笔带过,一般关键字就是“闭关(孤独)”,“寒来暑往(几年如一日的坚持)”,“闻鸡起舞(早起)”,每次读到这里我都会想象这个闭关修炼中主角需要有多么强大的内心才能做到在如此强烈的孤独感下坚持这么长时间?成为一名全栈工程师的道路基本和闭关修炼类似。所以需要有强大的内心和坚持不懈的努力。
2.英语阅读github和StackOverFlow无压力,做不到这点还是乖乖请能做到的程序员吧
3.会在谷歌用英语关键字搜索问题,也意味着你要能翻X,做不到的话同上
一些为非必要条件,有更好:
1.做过半年以上客户端程序,最好是在一个好的产品经理手下。
2.有后勤人员,如果是一个人创业可以回家,让老妈给做饭,不然天天吃外卖身体很容易吃不消
3.有存款,衣食无忧
4.没女朋友或者女朋友无条件支持创业
将面临的最大问题:
孤单:TODO List里的待开发只能自己一行一行代码给清掉,你不干就没人干
无助:虽然编码的绝大多数时间是在搬砖,但是不排除一些现有的搬法都没法满足需求这个时候你只能分裂出来两个自己互相讨论
面对孤单和无助对我帮助比较大的一些XX:
1.知行合一,知道该怎么做并切实实践 via.王阳明 心学
2.成大事者不纠结,不要有程序员的偏执,能用不用动脑子的5行代码解决的问题就不要用2行需要思考的代码去解决,现成的轮子可以用绝对不造新轮子,时刻提醒自己,自己现在是一名产品,程序只是实现需求的工具。via.罗辑思维《成大事者不纠结》
3.不要偏见,要对别人客观的好想法,好做法保持热情和好奇心。via.《怪诞行为学2》
4.看每周更新的《罗辑思维》视频节目,保持好奇心。
5.在自己不熟悉的领域里要保持对公认的牛逼前辈的敬畏,采取领域里最普遍的做法。举个栗子,我一直不知道为什么各大APP包括Google Material Design官方都是把侧边栏放在左边,我个人觉得可能放在右边更方便一点,但是我不会去这么做,因为我们队交互设计一窍不通,但是这么多牛逼的人都是设计在左侧一定有他们的道理,不需要懂,只需要会抄即可。
6.不要大力做一件事。大力做事情的后果是需要正向反馈和刺激,如果刺激没有达到预期,会让人产生倦怠,就轻轻的做,按部就班。
7.
写一行少一行 写完重构 最忌讳只想不写 人不愿意重复 重复让人厌倦 如果已经想好怎么写却没写,把下面的都想好回头再写的时候其实是在重复自己所以就容易形成拖延,解决拖延的方法之一就是马上动手把不用太动脑子的内容转化为成果然后在成果之上再做创造性劳动 via.罗辑思维《人人都有拖延症》
8.做时间的朋友,感受时间的魅力。越早感受到时间的魅力越早容易有成就,我第一次感受到时间的魅力实在大三的时候那时候给自己定下目标要写博客( http://lnlover.blog.163.com/
),最初其实内心以为自己坚持不了多久,结果一个月以后发现,哎呦,不错呦居然有好几十篇博文了,又坚持了三个月,再回头一看,哎呦,卧槽,自己这么牛逼都写了这么多了,真是从那以后感受到时间的魅力。对于做时间的朋友还是建议看罗辑思维罗胖对于自己植物性生长的阐述。
离职前非技术准备:
1.工商注册 要拿到公章,营业执照,税务登记者,组织机构代码证和对公账户开户这些在以后创业中非常有用,基本是必须的。很多平台限制必须要企业用户。另外一些服务商比如阿里云企业用户最高五折,省下来的钱就够开户的了。不过如果你还未离职自己办不方便建议让父母或者老婆代办,另外非常重要的是一定要在报税非常方便的地方注册,每个月虽然没有收入也需要报税,如果离工商局很远的话会很麻烦!
2.离职之前应该想清楚自己干神马,并且把想法和身边的人验证,千万不要自己一拍脑袋就去干一个想法,这里推荐看《怪诞行为学2》,人们对自己的想法总是抱有最大的热情,而别人不会,别人可能会从不同角度来分析,这里的别人一定是你觉得牛逼的人,千万不要向傻逼寻求建议,另外同理别人对你的想法可能不会那么认同,如果他们不能提出让你信服的反对理由,而只是觉得不靠谱,那就不用考虑,最后还得自己拿主意。
3.想好做什么了就需要起名字,名字很重要,现在中国可起的好商标名字基本都被起完了,有好想法一定要尽快占坑,这个坑主要体现在商标注册和域名注册,商标注册可以在国家工商总局查,域名注册随便找个域名服务商就可以查,不到万不得已一定要用.com域名!另外商标注册耗时至少半年,需要注意。如果在北京就直接去北京的办事处去办吧,很方便,一版要注册9类和42类。如果在外地则可以找代理机构注册,一定要找正规机构。域名注册下来以后还要备案,建议在阿里云备案,而阿里云备案则需要买服务器,推荐买半年的ACE包年包月(120元)可以免费备案。(下面会综合比较各大云平台,分析为什么最后选择了阿里云
4.尝试找合伙人,虽然我是一个人创业,但是我刚开始的时候也是试图找合伙人的,但是还是怪诞行为学上分析的,人们对不是自己是第一作者的想法抱有的激情远不如想法的原创者,尤其你找的合伙人可能还要上班,也是个程序员,工作压力本身很大,是否能在兼职的时候和你一起奋斗,是很大问题。我找的几个同学最后都和平分手了,这里要说明如果发现对方不合适就立马坦诚分手,不要拖着大家不难受。
5.想清楚在哪里创业,我推荐在家(有父母的家),生活有人照顾才能更好的创业,天天吃外卖的创业真的太伤身体。
如果你现在是客户端程序离职前技术准备:
1.基本的运维知识,Linux基本命令(其实也非必要,后面我会再单独讲)
2.服务器语言选择确定,如果你是web前端可以考虑NodeJS,如果是Android前端可以考虑Java,如果是IOS前端则比较悲剧的是OC和Swift现在都不太适合做服务器,如果你准备开发Android版本那么推荐Java,这样学习一门语言就可以既做Android前端又可以做服务器后端。 前几句是不含个人感情的理性叙述,下面一段是个人喜好,我个人服务器选择的是Python,python大法好,我写python最大的感觉就是卧槽!这么简单,假的吧?每次写完python最大的感受就是代码简单的心里有点发虚。NodeJS写了一段时间,那时候还没发布4.0 但是那个回调嵌套真是日了狗了!(4.0发布还支持class了不知道有没有改善,但是没细看了)。PHP我在完美世界实习的时候就用的php,感觉很简单但是没有python优雅,一个语言选择了可能就需要写上几年,如果选择一个代码看着难受的不太好,我看到PHP的$符号就难受。其他语言比如GO做应用逻辑杀鸡用牛刀,C#是我最喜欢的语言之一,设计比java优雅,毕竟在java之后出的,但是很不幸部署是个坑,如果你是C#程序员又不想大改变成习惯那就用java吧,很多C#代码拷贝到Java里把string改成String就可以跑了(这里是个比喻哈)。用C++/C写应用层逻辑的haunted相信你一定是老前辈了,不做评价,但是如果你是个新人请果断弃C++/C 请看看《黑客与画家》这本书,不要被C++各种牛逼迷惑,生产力就是渣渣。python开发C++同样的逻辑功能只要后者的1/10如果你说前者性能不行,有2种解决方案用现有的原生扩展或者用CPython 另外就是用10倍的硬件(这里只是举个夸张的比喻)
3.服务器语言确定以后就是要选择服务器框架了:
网络框架:
如果你是做socket服务器 java我调研过mina挺好用,我们以前游戏服务器就用的这个, C#的话我用过SuperSocket类似Mina,Python用过tornado也很好用(后面2个是我上班期间业余做的一个小app尝试用过的服务器网络框架,因为当时我用Unity开发游戏,C#用的最顺手,而AWS当初为了上外网查东西搞了一天免费12个月的windows server最后就选了SuperSocekt来部署)
重点是web框架:
毫不夸张我调研过上面说的语言中除了PHP以外($)的所有主流web框架,因为我第一个调研的就是大名鼎鼎的django,后面就希望找到能超越django的框架,发现java老的ssh框架太复杂了,后来发现java有个play框架试用了一下还不错,但是没有django的脚手架功能,被pass掉。NodeJS试着用express开发但是真心被回调折腾的不要不要的,随放弃。C#MVC看了下挺好,但是想到部署问题就放弃了。后来最终选择了python flask ,放弃了django,原因很简单django各模块耦合度太高,导致不支持mongodb。至于为什么选mongodb后面再对比MySQL和MongoDB
如果你是服务器程序离职前的技术准备:
1.PS,不会PS的前端程序员不是好设计师~另外强烈推荐Mac平台的Sketch。
2.自学前端开发,如果你是准备先上IOS,强烈推荐网易公开课里斯坦福大学的IOS开发公开课。如果你是准备先上Android则java首先要会,然后教程的话因为我当初是有同事指点了一下入了门后来就是一般google一边写,并没有用到教程,所以还真不太清除哪个教程比较靠谱。
3.构建demo工程把一些基础功能实现了或者说找到合适的库,包括不局限:网络库,图片加载缓存库,db库,进度条,分享库,统计库......
这里要和广大游戏前端开发者特意说下,我本身是游戏开发,但是转了APP开发以后就会觉得APP比游戏开发要简单很多,你缺的只是个开头。
以上准备都应该是自学,如果你学这些还要上培训班,那么一个人创业不适合你。另外无论是从职业道德还是法律上来说都是不允许在工作时间搞这些的,我的这些准备都是在下班以后和周末完成的。
创业的硬件准备:
一个靠窗的桌子,一把舒服的椅子(我咬牙买的一把400的西昊的,坐着还挺好),2台24寸宽屏护眼显示器,合手的键盘鼠标,20M+的网(这里特别说明我在保定,一开始图便宜办了100M的长城宽带,国内上网挺好,但是上github和StackOverFlow速度慢的急死人,后来好在有7天无理由退款,听长城宽带工作人员体检办了联通的上外网很快),的梯子(这里就不推荐了,怕被和谐)
Android开发需要一台给力PC(i5四核以上,16G内存及其以上,这里特别坑,我一开始用的是8G的绝大不少了结果很快就不够用了, 一定要是固态硬盘)
IOS开发的话推荐用MacMini高配置的,不推荐MacPro等一方面费钱,一方面屏幕太小,如果你在用macpro连接显示器那不是多此一举吗。就便携性来说创业者应该很少出门,出门也不需要带着mac。
开发工具推荐:
Android:Android Studio 1.4+(特别指出1.4是因为1.4以上版本支持矢量图,基本Google Material Desgine开源的图标就够用了,不够用再从网上找一些开源图标字体导出矢量图,这个矢量图的使用极大的节省了时间,极大!)
IOS:貌似也就XCode了,语言对新手推荐Swift,但是不要偏执的只选用Swift的库,很多OC库非常棒,在swift里调用也很方便。
版本管理工具:git 代码托管:私有托管BitBuckte public的github或者BitBucket均可。资源项目推荐放在csdn的code上毕竟服务器在国内上传比较快。一定养成及时提交的好习惯!
数据库选择:我选择的是Mongodb
开发初期需要不断的修改数据模型Model,如果是MySQL每次修改都需要执行一次部署操作,很坑爹。尤其是在如果你准备用第三方的Paas的db服务时候,每次的模型修改都让人头疼要死,mongodb就不会有这问题。
具体选择MongoDb还是MySQL还是自己体验下决定。
下面是综合的web服务器和数据库服务器选择:
首先分析我需要的服务:
1.一台8G内存以上的MongoDB服务器
2.支持内网连接MongoDB的Paas web 服务
接下来分析国内各大云平台:
1.青云和AWS中国,产品真的很棒,但是没有Paas平台,高价格也对得起他的好产品。
2.Ucloud,金山云和腾讯云,感觉游戏专用了,没有Paas
3.新浪云有SAE但是SAE是用沙盒而非docker实现的,不支持requirements,部署不方便,且新浪云的云主机还在测试。
4.美团云,华为云,天翼云....都是打酱油的
下面重点分析阿里云和百度云:
阿里云和百度云都有Paas服务,都有云服务器,都有弹性计费,一款app开发需要的所有后端服务器2大平台基本都能满足:
1.数据库服务器需要高IO,这一点百度云完胜,用hdparm命令测试出来的百度云服务器的IO高达400MB/sec,而阿里云普通的最高才40Mb/sec 后来阿里云推出了SSD云盘,但是吞吐量要按照下面的公式来计算
min{50+0.5*容量,256}MBps 简单解释来说就是高io限制为256Mbps,基础速度为50MBps 每增加10G增加5MBps,阿里云美其名曰数据量越大需要的IO也越大,但是假如我有10G的数据库文件,我就想要高IO,如果我想获得100MBps的吞吐量的话我必须买一块100G的网络硬盘,另外90G要空着才能获得想要的速度。
2.阿里云和百度云都有免费快照,所以我觉得创业阶段完全没必要搞docker,这种东西还是让专业人员去搞吧,快照和自定义镜像已经完全能满足日常运维需求
3.百度云有中国最好的Paas:BAE基础版,我非常想用,但是很可惜,这个是部署在单独机房里的,访问百度云其他服务都是走的外网!而后来BAE出来了个专业版是在百度云主机房里了,但是贵的要死,随放弃。
最后我选择的是阿里云,选择阿里云的原因:
1.有paas平台ACE,虽然没有BAE基础班好,但是有比没有强
2.阿里云对企业有一张5折优惠券,我买同配置的服务器省了3000块钱,省了的钱买了一块100G的SSD硬盘获得了100MBps的吞吐量,虽然这块硬盘可能要很久才能用的完
3.免费快照+免费镜像
4.完善的监控,提醒,报警功能
5.快速的工单反应
特别说下以Bmob和LeanCloud为代表的后端服务提供商(如果不了解的可以搜索下去看看):
Bomb没用过,LeanCloud测试了一段时间,差点就决定用了,但是最后还是放弃了,主要原因是:
1.不够稳定,代码也比较经常出现部署不了的情况,遇到问题要比较长时间的恢复时间(这里我分析实在是一个小团队管理如此庞大的数据体量很不容易,理解但是没办法)
2.如果是大量数据请求的话会很贵,成本不可控,而且很容易被别人坑,如果谁看你不顺眼拿到你的appid和appkey就能不断的想leancloud发送请求,5毛钱一万次很快能把你搞破产。
3.权限控制很麻烦,当初对leancloud热情最大的时候开发了一套权限控制的代码,如果你是服务器一不小心就会被人拿到全部权限,而鉴权也很麻烦。
4.关键数据都在别人那里,没安全感(这个和LeanCloud没关系,纯属个人有点强迫症)
什么情况下强烈推荐LeanCloud或者Bmob:
1.用户请求不频繁,数据非机密,能管理好权限,典型用例比如你开发一个客户端软件需要加入一个排行榜类似功能用LeanCloud简直太棒了!
2.有信心或者有能力解决我上面提到的问题
以上说Bmob和LeanCloud绝对没有一点黑的意思,我本人非常喜欢LeanCloud服务,但是我希望创业的时候一切成本和风险都是可控制的,而LeanCloud的服务现阶段还没做到让我绝对可控,比如如果数据库宕机了 我可以很快重启,或切换,或回退版本。而如果LeanCloud出问题我就只能等。
说一点对LeanCloud的建议吧,虽然也不一定会看到
1.数据按请求和存储量综合计费,降低请求价格,增加存储量计费,如果长时间不用也要钱,钱消耗完删除这些闲置资源。
2.取消免费额度改为免费试用2周,2周后不续费删除之前资源,现在LeanCloud把太多资源浪费在免费上
3.和七牛深度合作,引入更多七牛功能
4.因为2取消了免费额度,那么所有用户都是付费用户了,那么为付费用户开通工单系统,现在300一个月的工单费很恶心
5.云引擎收费部署,现在谁有事没事都能部署个云引擎,我都帮你们觉得浪费
应用测试:
开完以后一定要做兼容测试,现在也有很多选择,最早的有testin,还有BAT也都有真机测试服务
App Logo和应用商店宣传图设计:
这个是唯一需要外包的东西,不过最终效果图还要自己定夺,不满意坚决要修改,出来的效果图也要找同学,朋友给一起看,不要有个人的审美偏见
版权保护:
至少上线前提前一个月申请软件著作权,很多平台都需要,实在来不及的话很多平台像百度,PP,华为也可以提供免责函来代替,但是一定是企业用户。
推广与宣传:
很多人都说产品可以先出一个版本,然后根据用户反馈快速迭代,我不这么认为,我觉得从用户角度来说,很多用户拿到你的第一版产品看了一眼感觉一般或者垃圾,他不会反馈你的,他就把你卸载了,下次哪怕你改好了上了推荐,他一看你图标和名字就反应出来垃圾,他不会给你第二次机会了,所以第一版出来首先要做到感动自己。
一般感动自己了就能感动各大平台的审核人员(因为你天天看你的产品会有视觉疲劳的,如果看了这么久还能觉得它不错,它就是真的不错),然后就能上首发精品推荐了。
上了精品推荐以后就适当的“找找"下载量,”分发“一点评论上去,然后可以试图到各大社交平台去发帖,不过很多时候如果你直接发你APP的链接或者截图很快就会被删帖。那么怎么办呢?
我也不知道,所以写了这篇文章,我想用一篇有价值的文章换你一个安装,我也不知道你会不会查看,就是一次尝试吧,也许你就抱着”卧槽,产品做得啥玩意啊,就敢吹上面这么多牛逼“的心态就去下载看看了呢~
我app名字是”
糗段日报“目前已在各大app商店上线
现实与理想的落差:
糗段日报上线几天了,每天只有100多的新增,等着从小米的首发推荐位上下来以后每天连100多的新增估计都没了,唯一值得欣慰的是留存数据和用户市场数据表现很不错。目前摆在面前的道路有几条:1.到各大社区去发帖刷存在感,但是这个的问题就是太容易被删,甚至id都被限制,但是这种方法虽然笨,至少会有点效果,准备在晚上管理员睡觉的时候发帖,白天管理员起来的话删除之前也会有一些夜猫子或者早起的看到了,有一定曝光度 2.花钱推广,因为没有投资,自己拿钱出来推广真是消耗太快,而且以我以前在蓝港互动的经验来看,现在广告位付费推广的效果比较差,买来的量质量比较低,尤其不建议在广告平台投放,我准备在小的应用商店投一些推荐位,希望能有效果吧 3.微博找大V推荐,这个我觉得应该会比较有效果,但是也不是很确定,而且也不知道多少钱合适,如果有这方面的经验非常欢迎你能邮件
[email protected]告诉我。4.走一些黑渠道,带来一些量,这些黑渠道花钱不多,但是起步阶段确是非常好的支持。马上过年了,准备抓住别人都享受过年的时间点来增加曝光率,用笨办法,做时间的朋友~
顾问服务:
我想到一个互惠互利的推广方案,如果你准备创业或者正在创业,针对一些创业问题有疑问的话可以把给“糗段日报”的应用商店好评截图和问题发到我邮箱
[email protected] 我将尽力为你回答, 说实话我也不知道这个想法会不会带来一些安装量,但是想到了就试试吧,试了不一定有效果,但是不试一定没效果,欢迎咨询,别忘了带好评哈~