此系列文章我们开始聊一些软件开发人员如何开始动手写一些自己项目(Side Project)的思路与方法,以及过程中可能需要准备的知识,并分享一些相关的资源给大家。

1. 什么是 Side Project

Side Project 对应的中文是副业、业余项目或小项目的意思。
其实大家目前接触到的很多成熟的商业项目都是从一些 Side Project 通过不断的迭代与持续地优化而来的。
比如大家常用来发表文章的简书,就是用一个 Side Project 发展而来的。

简书团队在做简书之前,主业是做一款面向小型团队的协作软件,后来林立发现互联网上还没有支持 Markdown 的在线笔记本,就自己设计了一款,然后让公司新来的一个实习生去编程实现,这就是简书的原型。2012 年 9 月简书团队放弃了之前已投入 2 年多的产品,把简书项目扶正,最终凭借简书这个 Side Project 帮公司完成了新生。

而对于我们个人而言,也可以通过充分利用自己的闲暇时间以及目前极其方便的互联网,通过资源协作完成一些自己的 Side Project。
其实我经常在我们的知识星球的微信群里鼓励大家多多动手写自己的项目。

自己动手做一些 Side Project 可以获得非常多的益处。

  1. 是将你掌握的知识展示出来的最好的方式;
  2. 是最好的利用你的闲暇时间的方式;
  3. 坚持孵化一段时间后,就可以是你简历中非常有价值的加分项,特别是对于应届毕业的朋友;
  4. 如果后期要创业,你肯定会从你的 Side Project 开始做起;
  5. 你还可以进一步研究 Side Project 的盈利模式,实现项目的盈利。

注意,你所在的公司的地位常常可能会给你错觉,以为那就代表了你的地位。其实只有你自己的项目才是你最好的代表,也是最好的证明。

2. 哪里寻找 Side Project 的灵感

做 Side Project 最好的方式就是你从身边的小需求做起,从大家抱怨的地方寻找机会,别人抱怨不方便、不舒服的地方都是你寻找需求的地方。

比如打车不方便有了滴滴,外卖不方便有了美团,物流时效有问题有了顺丰等等,当然我们也不是从一开始就做这么大需求的项目,可以就从非常小的需求做起,去满足需求,用一种极致的精神去满足需求。

如果你实在没有什么项目灵感,或者想寻找一些东西激发一下你的灵感,下面我给大家推荐两个好的寻找创业项目灵感的站点。

2.1 IT桔子

网址:https://www.itjuzi.com/

IT桔子(itjuzi.com)是泛TMT领域的创业投资数据库和商业信息服务提供商,致力于打造IT互联网企业以及投资机构的投融资数据库,为投资人、创业者或者企业提供最新项目、投资收购新闻、行业调研、商务线索、国外项目等服务的信息数据服务商。

你可以在里面寻找到一些最新的创业公司以及他们的孵化项目,帮助你挖掘出一些创业项目需求。

2.2 Product Hunt

网址:https://www.producthunt.com/

Product Hunt 是一个供用户分享和发现新产品的网站。你可以提交自己或者别人的新作品,网站会按照当天各产品获得票数降序显示。

应该是全球最大的创新、创业项目发布站点了,每天都有很多新奇的项目、奇特的需求,非常值得大家去上面每天浏览,上面很多都是软件工程师发布的 Side Project。

下一篇文章我们继续聊聊如果大家已经确认好了项目的需求以及方向,那么我们如何快速地开始项目的推进呢?


DevOpen.Club Pro 高质量软件开发分享讨论群,汇聚了近 1000 名各行各业的软件开发人员,供朋友们分享高质量资源、讨论软件开发问题解决方案的社群。
任何技术都不是限制,我们最终目的是将技术转化成收入,实现财务自由。
微信群里已成功孵化出多款创业项目、Side Project 以及已经上线运营的项目。

程序员如何开始做一个自己的 Side Project?的更多相关文章

  1. 一个老牌程序员说:做Java开发,怎么可以不会这 20 种类库和 API

  2. Coding girl一个老程序员谈到的一个女程序员的故事

    因为有人说我给一个女程序员的建议不靠谱,我不服,因为我的工作经历中的一些女程序员都很不错,比那些男程序员都强,所以,我在新浪微博和twitter上征集女程序员的故事和想法,这两天来,我收到了好几封邮件 ...

  3. .NET程序员我是如何通过一个产品在2年内买车买房

    刚开始写博客不足之处望大家多多指点,少一些质疑多一些帮助,我们就能成为朋友. 我写博客的目的其实很简单就是为了分享知识,如有幸能申请当MVP那是最好不过了,这个过程对于“大牛”来说很快,但对于我来说估 ...

  4. 程序员过关斩将--redis做消息队列,香吗?

    Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为 ...

  5. 90 % Java 程序员被误导的一个性能优化策略

    我们经常看到一些 Java 性能优化的书或者理念,说不要在循环内定义变量,这样会占用过多的内存影响性能,而要在循环外面定义.接触 Java 这么久以来,相信很多 Java 程序员都被这种代码性能优化策 ...

  6. 前端程序员经常忽视的一个 JavaScript 面试题

    题目 function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { ...

  7. 前端程序员经常忽视的一个JavaScript面试题

    在网上找到一个有关JavaScript的面试题,特整理如下: function Foo() { getName = function () { alert (1); }; return this; } ...

  8. 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)--转

    出处:http://blog.csdn.net/xxd851116/archive/2009/06/25/4296866.aspx [前面的话] 在网上经常看到有人对request.getSessio ...

  9. 从程序员的角度设计一个Java的神经网络

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 来自维基百科: 人工神经网络(ANN)或连接系统是受生物神经网络启发构成生物大脑的计算系统.这样的系统通过考虑例子来学习(逐步提高性能)来完成任 ...

随机推荐

  1. Docker多主机管理(八)--技术流ken

    docker多主机管理 前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和 ...

  2. 再探go modules:使用与细节

    还有半个月go1.12就要发布了.这是首个将go modules纳入正式支持的稳定版本. 距离go modules随着go1.11正式面向广大开发者进行体验也已经过去了半年,这段时间go module ...

  3. .NET Core Cache [MemoryCache]

    参考资料:long0801的博客.MemoryCache微软官方文档 添加对Microsoft.Extensions.Caching.Memory命名空间的引用,它提供了.NET Core默认实现的M ...

  4. 【.Net Core】ZipFile类--文件的压缩解压

    NuGet引用官网自带的System.IO.Compression.ZipFile; var filename = "测试压缩解压文件"; var path = Directory ...

  5. CSS3 font-face使用

    在 CSS3 之前,web 设计师必须使用已在用户计算机上安装好的字体. 通过 CSS3,web 设计师可以使用他们喜欢的任意字体. 当您找到或购买到希望使用的字体时,可将该字体文件存放到 web 服 ...

  6. 【代码笔记】Web-JavaScript-JavaScript void

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  7. Dynamics 365-为什么CRM环境Workflow执行了多次?

    Workflow执行了多次,这个现象如果排除业务逻辑冲突,人为失误等原因,可能有的人遇到的并不多,但是笔者时不时还能遇到这种情况,所以在这里做个记录,也给遇到相同问题的人一个解决的方法. 当一个Wor ...

  8. 智能化CRM客户关系管理系统介绍一

    智能化CRM客户关系管理系统介绍一 CRM客户关系管理的定义是:企业为提高核心竞争力,利用相应的信息技术以及互联网技术来协调企业与顾客间在销售.营销和服务上的交互,从而提升其管理方式,向客户提供创新式 ...

  9. Adapter刷新数据的坑

    adapter刷新数据的时候,要能够刷新成功,要保证每次刷新的时候都是改变数据源. 于是,我这样做了,在适配器的构造方法里面写到: private List<ListBean> listI ...

  10. SQL增删改查

    1.增 INSERT INTO table_name VALUES (value1, value2,....) INSERT INTO table_name (列1, 列2,...) VALUES ( ...