一个价值百万的创业教训

这是网友李飒的一篇原创文章, 诉说了一个投入近百万的创业的失败教训。 

对于很多一腔热血,听了国家号召冲上去创业的同学应该会有启发。

1. 先从一个点切入, 解决用户问题, 再发展成平台

很不幸,我们的发展历程是相反的   :-(

一开始的时候我们采用平台战略, 自不量力的想做个平台, 像淘宝那样把商家拉上来,把用户拉上来, 让他们玩起来就可以赚钱了。  

我们做了初步的调研, 想象了用户的需求, 做了完善的数据模型和原型设计, 开发了半年后产品上线。

结果就被市场啪啪的打脸了。 

产品几乎没有人用, 好不容易了拉上的用户也几乎是僵尸, 登录后随便看看就再也不活跃了。 

想想刚上线的时候我们还讨论着怎么做客服, 客服电话被打爆了怎么办?  实在是太盲目自信, 太可笑了。

平台虽好, 但却不是谁都能做的,不信你掰着指头算算,除了淘宝,腾讯之外,还有哪些真正海量用户平台? 

后来看周鸿祎的《我的互联网自述》一下子产生了共鸣, 我们的错误就在于没有从一个点切入, 解决用户痛点问题,吸引用户,发展用户, 最后建立平台,  我们做反了! 

各位请不要犯我们的错误了, 周鸿祎说的是对的, 平台是自然发展起来的, 不是你创建起来的。 

各位在创业之前,先别一腔热血, 先别冲动,先别考虑宏大的战略,  请反复的问自己几个问题: 我要做的事情解决了用户的哪些痛点问题?   究竟能给用户带来多大的价值?

当你得到了肯定得答复以后再从小处入手开始精益创业吧。

2. 精益创业

我们现在的产品从调研,设计,开发,测试,部署大概花了一年时间, 一年中投入了巨大的人力和物力 -- 尤其是对一个小公司而言。

现在回头看看有不少功能是用户根本就不需要的,或者是很少需要的, 是我们脱离了市场想象出来的,  我们投入了大量的时间开发,导致了巨大的浪费!

现在庆幸的是当时为了赶时间上线, 砍掉了很多功能, 现在看绝对是明智之举。 

后来看《精益创业》,里边举得例子让我深深的震撼, 他们为了以最小成本验证一个商业模式, 在开始阶段,竟然完全不开发软件, 而是全部使用人工, 然后再慢慢的自动化,当软件系统成型的时候,商业模式也成型了

最小成本战略!

创业的过程是一个尝试、寻找的过程, 是一个把你的想法变成一个可持续发展的生意的过程。所以这个过程中要精益, 不要浪费!

创业的失败率是极高的, 我们现在看到的都是一些硕果仅存的明星企业, 更多的被拍死在了沙滩上, 所以一定要降低沉默成本!

不要一下子就做面面俱到的产品, 相反, 你要以最小的成本做出粗糙的,甚至简陋的软件原型找用户试用, 从用户得来的反馈才是真正市场的反馈, 用户的问题才是你要解决的问题。

在这个开发->试用->反馈->开发的循环中, 一定要小步快跑,一周至少做一次上线, 快速的验证你的想法,你的产品是不是用户需要的,是不是市场需要的, 逐渐的逼近真正的用户需求,真正的痛点问题。 

也许你会失望的发现,你一直保密的金点子其实一文不值, 狗屎不如 :-)  但是至少你以最小的代价验证过了, 不是吗?

3. 创业团队的核心成员一定要掌握核心技术

项目启动时, 团队只有Web开发人员 , C语言开发的大牛,企业应用开发背景深厚, 但是缺乏iOS,Android 技能 , 而手机端应用恰恰是系统的一个最重要功能。

由于临时学习来不及, 只好紧急招聘, 花了高薪招来一个iOS开发和一个Android 开发, 暂且称为小L 和小Y

小L开发能力很强, 但是干了2个月不到就由于自己辞职,单干去了, iOS端只做了个基本功能,无法上线。 由于临近春节,一直没有再招到合适的人,  这一块工作一直拖拖拖。最后系统只能是Web端和Android端先上线, 瘸着腿走了很长一段时间。直到第二年的4月份,又找到一个不错的开发才慢慢赶了上来。 

小Y则一直是我们的噩梦, 由于招聘的时候太着急了, 慢慢我们才发现他的工作能力不足以独自完成Android开发。他产生了大量劣质的代码, 重复的代码, 难于理解的代码, 给后续的开发和维护带来了极大的阻碍。

他的工作进度落后,落后再落后。

如果能力不够,我们还愿意咬牙坚持培养(后来我们还专门调了一个人帮着做Andriod 开发) , 但是小Y不把工作当回事的态度, 不良的工作习惯深深的激怒了每一个人,挣扎着完成了Android手机端上线后, 本想再给他一次机会, 但人家还是我行我素, 最后只好开除了事。


我们中间曾经想过手机端外包,只是由于成本太高没有做, 后来想想幸亏没有外包,不然的话作为一个产品如果源码都不能完全掌控, 后续的产品升级,新功能开发肯定会死的很难看。

这是一个非常深刻的教训, 核心成员一定要能掌握系统要求的核心技术, 否则就只能受制于人,无法控制。


4. 选择适合自己团队的技术

适合的才是最好的, 对一个团队做技术的选型也是如此。 

我们当时要做的系统包括手机端(Android和iOS) 和Web端, Web端在设计中没有考虑到开发人员的能力,搞了不少看起来很炫的界面效果。 

在缺乏前段工程师的情况下, 为了实现效果,贸然采用了大量的Javascript , 这一来导致了严重的浏览器兼容问题, 后期的很多Bug 都是浏览器兼容性相关的, 并且把开发人员也搞的精疲力尽 。


回头看去,当时真的应该简化Web端的界面, 使用最基本的html 加上少量的Javascript 来实现一个够用的,朴素的Web界面。 后期随着经验的增长再慢慢的美化它。

另外从一开始就应该充分借力微信服务号, 把主要的功能在上面实现,既能降低用获得用户的成本,又能充分发挥团队在Web开发的优势,  而不是费劲的折腾自己不擅长的Andorid和iOS 。 

5. 人,牛人

我一般把程序员分成下面几类:

  • Quick and Clean 程序员

这类人基础扎实, 理解能力超强,任务布置下去以后几乎不用怎么过问, 总是能按时甚至提前完成任务, 代码写的又快又好。

  • Quick and dirty 程序员

这类人是简单,直接,粗暴型, 虽然活干的很快, 但是非常糙, 为了快, 他可以从最上层直接调用最下层, 为了快,他可以大量的Copy&Paste代码。 结果就是工作看起来很快完成了,但是给后续的维护带来了极大的隐患。 

这类人最适合做外包项目这样的一锤子买卖, 千万别招来做产品。

  • Slow and Clean程序员

这类人可能是能力,经验不够,或者是天赋不够, 反正干活就是慢, 但是上进,态度好 有把工作做好的愿望, 写出的代码还不错。 如果经验不足, 可以考虑培养

  • Slow and Dirty 程序员

其实大部分程序员只有态度好, 即使慢一点也不会归结到这一类来。

很不幸的事,  这一年来,由于环境的因素,人才的原因,碰到的多是后两类。

对创业来讲, 最重要的一个精干而高效的开发团队, 最好有第一类程序员组成, 这样才能轻装上阵, 快速的响应市场的要求。

有人可能要问了,你这是站着说话不腰疼, 怎么组建这样的团队?我这里引用一下马云的观点

(1) 钱要给够, 别舍不得花钱,您要招聘的可是顶级程序员!

(2) 别让人家的心委屈了

----------------------------------------------------------------

“码农翻身” 公共号 : 由工作15年的前IBM架构师创建,分享编程和职场的经验教训。

长按二维码, 关注码农翻身

0?wx_fmt=jpeg

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值