程序员如何开始做一个自己的 Side Project?

此系列文章我们开始聊一些软件开发人员如何开始动手写一些自己项目(Side Project)的思路与方法,以及过程中可能需要准备的知识,并分享一些相关的资源给大家。
1. 什么是 Side Project
Side Project 对应的中文是副业、业余项目或小项目的意思。
其实大家目前接触到的很多成熟的商业项目都是从一些 Side Project 通过不断的迭代与持续地优化而来的。
比如大家常用来发表文章的简书,就是用一个 Side Project 发展而来的。
简书团队在做简书之前,主业是做一款面向小型团队的协作软件,后来林立发现互联网上还没有支持 Markdown 的在线笔记本,就自己设计了一款,然后让公司新来的一个实习生去编程实现,这就是简书的原型。2012 年 9 月简书团队放弃了之前已投入 2 年多的产品,把简书项目扶正,最终凭借简书这个 Side Project 帮公司完成了新生。
而对于我们个人而言,也可以通过充分利用自己的闲暇时间以及目前极其方便的互联网,通过资源协作完成一些自己的 Side Project。
其实我经常在我们的知识星球的微信群里鼓励大家多多动手写自己的项目。

自己动手做一些 Side Project 可以获得非常多的益处。
- 是将你掌握的知识展示出来的最好的方式;
- 是最好的利用你的闲暇时间的方式;
- 坚持孵化一段时间后,就可以是你简历中非常有价值的加分项,特别是对于应届毕业的朋友;
- 如果后期要创业,你肯定会从你的 Side Project 开始做起;
- 你还可以进一步研究 Side Project 的盈利模式,实现项目的盈利。
注意,你所在的公司的地位常常可能会给你错觉,以为那就代表了你的地位。其实只有你自己的项目才是你最好的代表,也是最好的证明。
2. 哪里寻找 Side Project 的灵感
做 Side Project 最好的方式就是你从身边的小需求做起,从大家抱怨的地方寻找机会,别人抱怨不方便、不舒服的地方都是你寻找需求的地方。
比如打车不方便有了滴滴,外卖不方便有了美团,物流时效有问题有了顺丰等等,当然我们也不是从一开始就做这么大需求的项目,可以就从非常小的需求做起,去满足需求,用一种极致的精神去满足需求。
如果你实在没有什么项目灵感,或者想寻找一些东西激发一下你的灵感,下面我给大家推荐两个好的寻找创业项目灵感的站点。
2.1 IT桔子
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?的更多相关文章
- 一个老牌程序员说:做Java开发,怎么可以不会这 20 种类库和 API
- Coding girl一个老程序员谈到的一个女程序员的故事
因为有人说我给一个女程序员的建议不靠谱,我不服,因为我的工作经历中的一些女程序员都很不错,比那些男程序员都强,所以,我在新浪微博和twitter上征集女程序员的故事和想法,这两天来,我收到了好几封邮件 ...
- .NET程序员我是如何通过一个产品在2年内买车买房
刚开始写博客不足之处望大家多多指点,少一些质疑多一些帮助,我们就能成为朋友. 我写博客的目的其实很简单就是为了分享知识,如有幸能申请当MVP那是最好不过了,这个过程对于“大牛”来说很快,但对于我来说估 ...
- 程序员过关斩将--redis做消息队列,香吗?
Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为 ...
- 90 % Java 程序员被误导的一个性能优化策略
我们经常看到一些 Java 性能优化的书或者理念,说不要在循环内定义变量,这样会占用过多的内存影响性能,而要在循环外面定义.接触 Java 这么久以来,相信很多 Java 程序员都被这种代码性能优化策 ...
- 前端程序员经常忽视的一个 JavaScript 面试题
题目 function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { ...
- 前端程序员经常忽视的一个JavaScript面试题
在网上找到一个有关JavaScript的面试题,特整理如下: function Foo() { getName = function () { alert (1); }; return this; } ...
- 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)--转
出处:http://blog.csdn.net/xxd851116/archive/2009/06/25/4296866.aspx [前面的话] 在网上经常看到有人对request.getSessio ...
- 从程序员的角度设计一个Java的神经网络
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 来自维基百科: 人工神经网络(ANN)或连接系统是受生物神经网络启发构成生物大脑的计算系统.这样的系统通过考虑例子来学习(逐步提高性能)来完成任 ...
随机推荐
- 第26章 联合注销 - Identity Server 4 中文文档(v1.0.0)
联合注销是指用户使用外部身份提供程序登录IdentityServer,然后用户通过IdentityServer未知的工作流程注销该外部身份提供程序的情况.当用户注销时,对IdentityServer进 ...
- frame buffer简单应用
现在我们要在LCD上画一个点,我们无法直接对LCD屏进行操作.这时候就需要用到FrameBuffer,Linux可以FrameBuffer这个设备来供用户态进程实现直接写屏.首先我们先简单看一下lin ...
- InterLocked学习笔记
在进行多线程编程的时候特别重要的一点就是多线程的同步,什么是同步呢?字面意思就是使多个不在同一线程执行的代码统一到一个线程中执行,但是对执行中的线程过程却无法控制,这就造成了多个线程可能同时操作同一个 ...
- VisualStudio2017集成GitHub
1 概述 通过使用VisualStudio2017来编写C语言版本的helloworld程序,然后上传至GitHub 2 VisualStudio2017安装GitHub插件 前提条件: 必须完成Vi ...
- oracle安装数据库中文乱码解决办法
解决办法1: Linux下安装Oracle11g中文乱码 Linux下安装Oracle11g,安装界面乱码问题解决方法: 解决安装时中文是"囗囗囗囗囗囗囗囗" 1.进入刚解压的da ...
- Linux万能快捷键与命令
tab键:补全命令 \ :命令折行写 Ctrl+C :结束命令 --help :查看命令详细信息 man :类似于help 比help更加详细. sudo :临时以管理员权限执行命令. 还有吗?
- MySql中存储过程中的@变量总是无法执行,提示Parameter '@XXX' must be defined
一.情形: 在.net调用Mysql时,比如如下的一句SQL,总是无法执行,可是在其它SQL客户端窗口中是能正确执行的. drop procedure if exists AddColumnUnles ...
- AJAX跨站处理解决方案
//直接使用ajax会提示跨站失败 $.ajax({ type : 'POST', url : 'http://www.abc.com/api', data : '', dataType : 'tex ...
- 虚拟主机、VPS主机与云服务器的区别
本文转载自星光云 http://www.365yun.top/news/list.asp?newsid=22 虚拟主机是利用虚拟技术将一台物理服务器划分成多个“虚拟”服务器,虚拟主机的出现大大节省了服 ...
- AOP中使用Aspectj对接口访问权限进行访问控制
切面编程的应用案例比较多,在统一的日志处理,鉴权过程中都会用的AOP原理,本文主要针对对进口的访问权限进行控制为例,说明 切面编程的使用: 1.使用Aspectj的方式进行切面编程: 2.编码环境,s ...