hacker news with inline top comments    .. more ..    30 Nov 2015 Ask
home   ask   best   3 years ago   
Ask HN: Encrypted Email Service. What Do You Use? Why?
4 points by mercenary_trust  49 minutes ago   discuss
Ask HN: What's your favorite online course?
361 points by sidcool  19 hours ago   146 comments top 77
samwgoldman 17 hours ago 4 replies      
I haven't taken many online courses, but here are my favorites (notice a trend):

Andrew Ng's ML Class - This makes the list because it is incredibly useful. I didn't have much background in the field and this class is a practical survey of ideas. Not a ton of depth, but exposes you to a lot of information gently.

Daphne Koller's PGM Class - This was the most rewarding. I banged my head on a lot of this material, but it was an incredible feeling when things started to click. That I was able to complete this class is a testament to Dr. Koller's excellence as an educator.

Dan Jurafsky's and Christopher Manning's NLP Class - This class was the most fun. I thought the exercises were incredibly well designed. Unlike the first two courses, the exercises were a lot more interesting. For ML and PGM, you mostly know when you have the answer and you are rewarded with 100%. NLP assignments are based on how well your system generalizes, which made me try harder to improve my systems, and helped me enjoy the course.

Yeroc 16 hours ago 0 replies      
I haven't taken many online courses but my wife & I just took the course "Learning How to Learn" (https://www.coursera.org/learn/learning-how-to-learn) together and I wish this was available before I went to university. They do a great job of presenting the content and provide a lot of references for additional reading for those that have a deeper interest. It should probably be considered the pre-requisite to all other online courses!
mrsuprawsm 8 hours ago 5 replies      
Duolingo: https://www.duolingo.com/

It's not tech-related, but I have achieved near-fluency in one language in less than a year (Dutch), and I'm currently learning 3-4 others. (Russian, German, French, Italian) I find it very effective and easy to fit in around everyday life.

I would definitely recommend it to anyone else seeking to learn languages.

manish_gill 7 hours ago 4 replies      
Can't edit my earlier comment, so making a new one: There are quite a few people on HN who are great at Economics and Finance. Could someone recommend some courses and texts (and hopefully a "path") for a complete beginner to understand it? I'd like to be able to better understand things like the FT and all the stats that CNBC shows me etc. Also hopefully get skilled enough to start investing in the market. Not to mention, broad economical trends and projections etc. Thanks!
ctoomey 13 hours ago 3 replies      
Algorithms: Design and Analysis Parts 1 and 2 (https://www.coursera.org/course/algo and https://www.coursera.org/course/algo2) taught by Tim Roughgarden of Stanford. Tim's the best professor I've ever had either on or offline and he does a fantastic job explaining the concepts and breaking down the algorithms into digestible, intuitive pieces. His enthusiasm for the topic and the impressive algorithms is contagious and keeps the challenging courses fun and interesting.

Functional Programming Principles in Scala (https://www.coursera.org/course/progfun) by Martin Odersky, the inventor of Scala, is also excellent and a great way to learn and start using Scala and functional programming. Be forewarned though, once you get a taste of Scala, you'll have to be dragged kicking and screaming back to using Java :-).

jpetitto 18 hours ago 2 replies      
middleclick 18 hours ago 4 replies      
Dan Boneh's "Introduction to Cryptography".

(Part 1) https://www.coursera.org/course/crypto(Part 2) https://www.coursera.org/course/crypto2

wobbleblob 11 hours ago 0 replies      
I loved this course:


As the course progresses roughly chronologically (one theme per week) from the formation of the solar system to the present, it introduces the foundations and jargon of the disciplines of astronomy, geology, microbiology, paleontology, botany, ecology etc.

For some reason I never finish courses that are directly relevant to my job. After an 8 or 9 hour day doing tech stuff to make a deadline, spending another 1 or 2 hours a night doing tech stuff to make a deadline starts to feel like more work. I find the general science courses much more interesting.

Adam_O 15 hours ago 2 replies      
My all star lineup would be:

The Analytics Edge - https://www.edx.org/course/analytics-edge-mitx-15-071x-0

Design of Computer Programs - https://www.udacity.com/course/design-of-computer-programs--...

Justice - https://www.edx.org/course/justice-harvardx-er22-1x-0

If I had more time I would love to go through the bioinformatics specialization on Coursera. They have 2 books and an exercise site (rosalind.info). It looks like great fun.


tagawa 15 hours ago 3 replies      
It's not technical but the best I've taken so far is Songwriting on Coursera:https://www.coursera.org/learn/songwriting

Presented by Pat Pattison from Berklee College of Music, I started the course thinking who is this guy? By the end I was hanging off his every word. Even if you've never thought of writing a song it opens your eyes to the talent (and tricks!) in the music business.

tianyicui 10 hours ago 1 reply      
Buddhism and Modern Psychology by Robert Wright (author of The Moral Animal). It uses evolutionary psychology, modularity of mind, and other modern cognitive science theories to explain why some modern version of the buddhist teachings (like meditations) work. It includes interesting interviews and solid book/article recommendations. It's very eye-opening to me and gave me a whole new perspective about happiness and meaning in life.


tmbsundar 7 hours ago 2 replies      
Learning from Data by Caltech Professor Yaser Abu-Mostafa : https://work.caltech.edu/telecourse.html. There was an edX version last year

MMDS: Mining Massive Datasets by Stanford professors Jure Leskovec, Anand Rajaraman,Jeff Ullman, Link: https://www.coursera.org/course/mmds

Neural Networks for Machine Learning: Geoffrey Hinton, Link: https://www.coursera.org/course/neuralnets

Artificial Intelligence for Robotics: Programming a Robotic Car, Sebastian Thrun Link: https://www.udacity.com/course/artificial-intelligence-for-r...

Intro to Artificial Intelligence, Peter Norvig & Sebastian Thrun. This was the one which started it all in 2011, joined a little late by Andrew Ng's ML course which has been mentioned already.

Intro to Artificial Intelligence link: https://www.udacity.com/course/intro-to-artificial-intellige...

Kurtz79 11 hours ago 0 replies      
Peter Norvig's "Design of Computer Programs"


An introduction to some semi-advanced programming concepts using an accessible language like Python, taught by a giant of CS.

Steve Huffman's "Web Development"


Basics of developing a web application, it uses Google App Engine as a base but the concepts taught are easily extensible to other platforms. Steve comes off as a likable and competent teacher.

valgaze 16 hours ago 2 replies      
Dr. Strang's linear algebra course is absolutely amazing: http://web.mit.edu/18.06/www/videos.shtml


sonabinu 19 hours ago 4 replies      
https://www.coursera.org/course/rprog - This is the best online course I've taken. Another one I am signed up for and have already done one week of lectures (preview mode) and find very applicable is https://www.coursera.org/learn/learning-how-to-learn/
lindbergh 18 hours ago 1 reply      
Convex Optimization by Stephen Boyd (Stanford EE364A) available on itunesU. There's also a CVX101 Mooc[1], but I don't how it's different from the original material. IMO it's not the topic itself, but the invaluable material for machine learning, statistics and applied mathematics. And Boyd has such a huge insight on the topic it's always a pleasure to watch his lectures.


andyjohnson0 9 hours ago 1 reply      
Earlier this year I did the Stanford Introduction to Mathematical Thinking course on Coursera [1]. I found it fairly challenging but managed to finish with a distinction. The instructor was particularly good.

I'm now working through UCSD Interaction Design specialisation [2], which is a series of courses followed by a project. So far its been very good, although the short course format (3-4 weeks) means that there isn't time for much of a community to form among the participants. I've learned a lot though.

I'd recommend both courses.

[1] https://www.coursera.org/course/maththink

[2] https://www.coursera.org/specializations/interaction-design

cjauvin 17 hours ago 1 reply      
Discrete Optimization https://www.coursera.org/course/optimization -- I really enjoyed this challenging class with a very dynamic teacher, and organized around a set of tough problems that you can tackle using a choice of optimization paradigms (e.g. you can decide to "specialize" in "local search" if you want, and try to solve eveything with it).
rffn 14 hours ago 0 replies      
kevindeasis 17 hours ago 0 replies      
It has been over a year and I haven't finished it yet, but I find it the most interesting. It's Harvard's philosophy course [1]

Also, intro to comp sci by Harvard's open courseware. Without these, I might've dropped out of comp sci in my second year [2]

[1] https://www.youtube.com/watch?v=kBdfcR-8hEY[2] https://www.youtube.com/watch?v=z-OxzIC6pic&list=PLvJoKWRPIu...

tmlee 17 hours ago 0 replies      
I see a lot of tech related courses in this discussion; here is something off the wall if you are into "Coffee making"https://www.skillshare.com/classes/culinary/From-Plant-to-Cu...

Made by the guys from The Blue Bottle, splendid tutorial!

dfan 17 hours ago 0 replies      
MIT's 8.05x, Mastering Quantum Mechanics (https://www.edx.org/course/mastering-quantum-mechanics-mitx-...)

It's the only MOOC I've taken that was anywhere close to the kind of experience I had as an actual undergraduate at MIT. Outstanding lectures with accompanying lecture notes, challenging but rewarding problem sets, lots of interaction by the professor and other staff in the forums.

It's not a course in the sense of having problem sets and grades, but V. Balakrishnan's lecture series on classical physics (https://www.youtube.com/playlist?list=PL5E4E56893588CBA8) is amazing, just incredibly dense with insight.

cordovas 15 hours ago 0 replies      

I would have to say anything on KhanAcademy. Sal Khan just does an incredible job of explaining things. I particularly like his statistics course as a good primer into stats or if you need to quickly brush up on the subject


shpx 14 hours ago 0 replies      
Geoff Hinton's (one of the most important guys in neural nets) coursera course from 2012 taught me most of what I know about neural nets (he starts with the basic sigmoid, backprop, convnets, dropout, RBMs and lstm nets).


zzmxleo 18 hours ago 0 replies      
The Hardware/Software Interface - https://class.coursera.org/hwswinterface-002

This course is amazing, especially for the assignments.

citeguised 8 hours ago 0 replies      
The Javascript-Courses by Anthony Alicea on Udemy are by far the best I ever spent money on in terms of learning to code.


omilu 16 hours ago 1 reply      
sicp is the best programming course hands down. https://www.youtube.com/watch?v=2Op3QLzMgSY&list=PLB63C06FAF...
aaggarwal 15 hours ago 0 replies      
Now the MOOCs are all popular, there are a lot of interesting courses out there, but I feel the best one is still the first online course I took in 2012, the pilot from edX (MITx at that time) - 6.002x Circuits and Electronics (https://6002x.mitx.mit.edu) by Dr. Anant Agarwal and Dr. Gerald Sussman.

It's an awesome course that introduces one to the electronics that goes behind modern day computers and smartphones. It really helped me understand how things work and what questions to ask.

maurits 8 hours ago 0 replies      
Convolutional Networks from Stanford [1]. No video, but comes with a wonderful set of ipython notebooks to illustrate and work with cnn's.

Statistical Mechanics Algorithms and Computations [2]. Very well done video's shot in a studio with a green screen. Comes with massive amounts of small python programs to illustrate the material.

[1]: http://cs231n.stanford.edu/

[2]: https://www.coursera.org/course/smac

thecolorblue 16 hours ago 0 replies      
Yale has a great class on Game Theory. It provides some alternatives to solving problems from the normal CS algorithms.


menticolcito 7 hours ago 0 replies      
https://courses.platzi.com/, there are like 70 courses in Spanish (frontend, backend, marketing, DBA, DevOps, android and apple development) but they also have 16 in English, most of them are talks with the best YC startups CEOs and founders.
wkoszek 2 hours ago 0 replies      
I liked CodeSchool: not everything there is great, but is very good overall, has a great structure and can teach you many technologies.
tmaly 2 hours ago 2 replies      
Can anyone recommend their favorite way to learn foreign languages? I am curious if there are any new online courses that have made improvements in this area.
mark_l_watson 4 hours ago 0 replies      
I took Andrew Ng's machine learning class twice (scored >99% both times). That was my favorite. I have been working in the AI field since the 1980s, including a lot of neural network applications, but I still found his class to be an incredible source of practical knowledge.

Other favorites were Martin Odersky's functional programming with Scala and Erik Meijer's Haskell class at eDX.

adi92 15 hours ago 0 replies      
HBX Core


Its a paid online business course by Harvard Business School with 3 modules - Business Analytics, Economics for Managers, Financial Accounting

Material is not super challenging (maybe except for Accounting), but its still a lot of work and very rewarding. There is a strong social element to the course because they incentivize students to ask and answer each other's questions. At the end of it, you have to go to a testing centre and give a 3 hour exam on everything they have taught you. I finished this course a few months ago and really enjoyed the material and all the people I met through it. Highly recommend!

awjr 7 hours ago 0 replies      
I've found Deborah Kurata's course content good https://www.pluralsight.com/authors/deborah-kurata in particular https://www.pluralsight.com/courses/angularjs-line-of-busine...

My only issue is her voice can be very monotonous and I find it hard to do more than an hour without having to walk away and wake myself up. Her course content is very good though.

kenrick95 17 hours ago 1 reply      
CS188.1x Artificial Intelligence by BerkeleyX at edx.org. [1] I took this course back in Spring 2013 and I really enjoy the course project of making an intelligent Pac-Man. :) Through this course, besides learning AI, I also learned Python (before this, I didn't know how to code in Python at all). And with the knowledge from this course, I made a simple connect four game with AI implementation as the player's opponent. [2]

[1] https://www.edx.org/course/artificial-intelligence-uc-berkel...

[2] http://kenrick95.github.io/c4/demo/

Pamar 8 hours ago 0 replies      
I really enjoied Introduction to Operations Management (https://www.coursera.org/learn/wharton-operations) which is not about CS/IT but more about organizing process workflow (i.e. how to make shops, plants or any kind of multi-operator job more efficient).

I also liked a Coursera one titled "Data Analysis" but the url now returns a 404 (https://www.coursera.org/course/dataanalysis) and it probably morphed in something slightly different.

digitalzombie 9 hours ago 0 replies      
Andrew Ng's ML Stanford Online Class. This was before Coursera, the first one and the one that got me hooked into ML and Data Science.

After a few years working in the work force I decided to go back to get a master in Statistic to get into this field once and for all.

truncate 13 hours ago 1 reply      
For statistics I really liked Data Analysis and Statistical Inference by Mine etinkaya-Rundel. I think I understood statistics beyond formulas after I took this course. Apart from typical pen and paper problems, you also get programming exercises in R.


liquidmetal 13 hours ago 0 replies      
Great suggestions here. Have you looked at this repository: https://github.com/prakhar1989/awesome-courses

It's a collection of some of the best courses on the internet. The topics covered is quite diverse - but mostly related to computer science.

nibs 5 hours ago 0 replies      
Learn to Program: The Fundamentals by U of T on Courserahttps://www.coursera.org/course/programming1

Did not see any other mentions. It was excellent.

nwjtkjn 16 hours ago 0 replies      

I took these to prepare for first-job interviews coming out of grad school. Got an offer from a company frequently mentioned on this site, so I guess they helped.

mrgraeme 8 hours ago 0 replies      
Eric Lander's incredible 'Introduction to Biology - The Secret of Life' was my first step away from data analysis for online marketing clients (which I didn't love) to bioinformatics (which I do very much love)


A Fantastic course from a legendary educator.

thallian 11 hours ago 0 replies      
Not technology related:

A Global History of Architecture: https://www.edx.org/course/global-history-architecture-mitx-...

estefan 7 hours ago 2 replies      
Can anyone recommend a course on business organisation? I'm planning on starting a startup and want to round out my business knowledge as to who I should hire.

I want to stay in charge of tech & strategy while letting someone else manage finance, hr, etc. I couldn't find a single one that actually explains what a CEO does on coursera/edx/novoed.

harveylord 8 hours ago 0 replies      
I found this course on European painting between 1400 to 1800 to be both well organised/presented and very beneficial in every area of life: https://www.edx.org/course/european-paintings-leonardo-rembr....
riffraff 11 hours ago 0 replies      
My technology related list includes most of the same courses already listed. But off-technology, the "modern history" class (which appears to have been split in two[0]) was incredibly entertaining and gripping in addition to being educational.

[0] https://www.coursera.org/learn/modern-world[1] https://www.coursera.org/learn/modern-world-2

hrnnnnnn 9 hours ago 0 replies      
Fundamentals of Music Theory. The instructors were really active in the facebook group, and took time to make extra videos to answer common questions.

The quizzes were good and fairly marked, the exam was tough, but the peer-review guidelines for it were very clear and easy to follow.


kregasaurusrex 16 hours ago 0 replies      
Introduction to Cryptography, by Christof Paar. His book 'Understanding Cryptography: A Textbook for Students and Practitioners' also provides great insight to the subject. https://www.youtube.com/watch?v=2aHkqB2-46k
alador 5 hours ago 0 replies      
IMHO, the best course website is http://www.freecodecamp.com/ to learn Modern App Development.
bartekko 10 hours ago 0 replies      
Something a bit different - I really enjoyed Robert's Electronics Design courses: http://www.fedevel.com/academy/schematic-pcb-design-course-o...

It teaches all the tips and tricks to make professional designs, a ton more practical knowledge than my university course or my first EE job.

BillySquid 8 hours ago 0 replies      
Coursera Calculus 1 - https://www.coursera.org/learn/calculus1/home/welcome , Jim Fowler makes Calculus a very entertaining topic.
manish_gill 14 hours ago 1 reply      
If anybody has a good course on Compilers except the old one that's on Coursera (which was decent but honestly the instructor wasn't amazing at holding my attention), that would be awesome. :)
dirtyaura 14 hours ago 0 replies      
Andrew Ng's machine learning course on Coursera.

Surprisingly, I also found Khan Academy's organic chemistry videos very helpful when I was studying bioinformatics and needed to refresh my chemistry skills

jestinjoy1 15 hours ago 0 replies      
I a compsci grad. My favorite one is

The Hardware/Software Interface: https://www.coursera.org/course/hwswinterface

zan5hin 17 hours ago 0 replies      
jatemack 15 hours ago 0 replies      
Best general CS class I have found so far. Well laid out, easy to follow, and very informative.


erikbigelow 14 hours ago 0 replies      
So much for having any extra free time after reading these comments
jaysoncena 12 hours ago 0 replies      
Cloud Computing Concepts by Indranil Guptahttps://www.coursera.org/course/cloudcomputing

I thought this was just about VPS, virtualization, NoSQL DBs but I was amazed that it also includes different algorithms for distributed systems like Gossips, MapReduce, Paxos, etc.

hendry 16 hours ago 0 replies      
I dare say Ryan Kroonenburg's https://www.udemy.com/aws-certified-developer-associate-2015...

Also if you're into getting into making videos, https://itunes.apple.com/us/app/lessons-for-final-cut-pro-x/... was surprisingly good 10 bucks spent.

nihils 17 hours ago 1 reply      
Abstract Algebra by Benedict Gross from the Harvard Extension School.
tmpz 11 hours ago 0 replies      
Erik Meijer's FP101x Functional Programming (Haskell and others) https://www.edx.org/course/introduction-functional-programmi...
senith 17 hours ago 0 replies      
Not technology related but I personally like Aswath Damodaran's valuation courses http://www.graduatetutor.com/corporate-finance-tutoring/aswa...
uulbiy 13 hours ago 0 replies      
My Coursera profile lists 67 courses, I have completed ~15 of them and with a passing grade ~8 of them. My most favorite one, which for me was the hardest as well, was The Hardware/Software Interface by Gaetano Borriello and Luis Ceze[1]. I also liked Computer Networks[2] even though it's an introductory course, Functional Programming Principles in Scala[3] which is surprisingly easy unlike the follow up course[4], High Performance Scientific Computing[5], Software Security[6] and Cryptography[7] although I prefer Boneh's class. For non-IT related courses I liked Think Again: How to Reason and Argue[8], Crafting an Effective Writer: Tools of the Trade (Fundamental English Writing)[9], Child Nutrition and Cooking[10] and Work Smarter, Not Harder: Time Management for Personal & Professional Productivity[11].

I often take time to think why I have so many started but not finished courses. Most of them are abandoned on the first week and my assumption is that when I enroll my expectations for the course content and the workload needed are wrong.

Occasionally, I abandon courses because they demand too much time to get something working on linux or because of luck of time. The thing that I noticed about me is that when I get a little behind the schedule then it's almost certainly that I will abandon the course. Additionally, when I try to commit on two courses at the same time then it's certain that I will abandon at least one (usually both).

[1]: https://www.coursera.org/course/hwswinterface

[2]: https://www.coursera.org/course/comnetworks

[3]: https://www.coursera.org/course/progfun

[4]: https://www.coursera.org/course/reactive

[5]: https://www.coursera.org/course/scicomp

[6]: https://www.coursera.org/course/softwaresec

[7]: https://www.coursera.org/course/cryptography

[8]: https://www.coursera.org/course/thinkagain

[9]: https://www.coursera.org/course/basicwriting

[10]: https://www.coursera.org/learn/childnutrition/home/welcome

[11]: https://www.coursera.org/learn/work-smarter-not-harder/home/...

sferoze 16 hours ago 0 replies      
Marvin Minsky, Society of Mind Class Lecture Playlist on Youtube - https://youtu.be/-pb3z2w9gDg?list=PLqw2b1BiJEx8Ii2RJBk9C0iC3...
mrestko 16 hours ago 0 replies      
As a medical student, I though the Coursera course on Clinical Problem Solving was quite good: https://www.coursera.org/course/clinprobsolv
dbcooper 17 hours ago 1 reply      
Can anyone recommend a bioinformatics course (esp. an intro level one)?
damian2000 16 hours ago 0 replies      
Engineering Software as a Service: An Agile Approach Using Cloud Computing


glennos 16 hours ago 0 replies      
Paid, but I got a lot of this course for learning Ruby/Rails https://www.gotealeaf.com/
headshot 10 hours ago 0 replies      
Peter Norvig's "Design of Computer Programs" on udacity.com
Nonsns 11 hours ago 0 replies      
Roy Osherove 's TDD master class changed the way we worked at Aol.
c1 9 hours ago 0 replies      
YouTube CrashCourse
sidcool 8 hours ago 0 replies      
Great replies! Thanks guys!
facepalm 12 hours ago 2 replies      
My favorite was Dan Ariely's Introduction to Irrational Behavior.
dools 17 hours ago 0 replies      
Ask HN: Any Cyber Monday deals offered by YC-backed startups?
3 points by startupsorter  5 hours ago   1 comment top
sijoe 3 hours ago 0 replies      
Not YC backed, but we (https://angel.co/scalable-informatics) are offering our NVMe appliance at $1/GB usable. See https://scalableinformatics.com/forte for more info.
Ask HN: How do develop a side project when you have a 40hr/week job?
129 points by ciaoben  17 hours ago   109 comments top 49
dkokelley 15 hours ago 3 replies      
A (the left-brain/logical approach):

There are 168 hours in a week. If you work 40 of them (+ 10 hours for inconvenient lunch breaks and commuting) and sleep 56 of them, you have 62 hours left. There you go. Figure out where those 62 hours are and spend them wisely. Organize your schedule so you have enough hours when and where you need them.

B (the right-brain/emotional approach):

Yes, you have ~62 hours from the above example, but you probably want a social life, need to eat and exercise, and it would certainly lead to burnout if you spent every free moment cramming side projects where you can. Instead of (or in addition to) managing time, manage your mental energy. Find a pace and rhythm that work for you to make regular progress on projects you deem worthwhile.

It's very important that you know yourself for this to work. Here's what has worked for me:

* Go to the gym on lunch breaks during the week. I reclaim that pesky break in the day, stay healthy, and generally feel refreshed and energized after a visit.

* It's cliched, but I don't have a cable subscription. (I spend my time on HN instead, so I suppose it's a wash)

* Absolutely make time for guilt-free relaxing. For me relaxing is going on a hike or camping trip, grabbing dinner with friends, or playing an instrument.

* Spend time reading. There is a lot of good material on time management or lifestyle design. What's important is that you read and learn to isolate the signal of what matters to you from the noise (and there is a lot of noise).

* Live by this mantra, "If it matters to you, then you'll find a way. If it doesn't you'll find an excuse."

hunvreus 16 hours ago 5 replies      
Same as for working out or cooking, you can always find time.

I cut alcohol years ago and tend to go to bed at reasonable hours: the feeling of waking up at 5:30, getting a good workout and two to three hours of work before you even start to get ready for the office is pretty empowering. It feels like you already had a day worth of productivity in.

So, to recap:

1. Don't drink (or drink in moderation). It leads to late nights, difficult mornings and wasted hours on (often) empty discussions/interactions.

2. Go to bed early. Avoid screens in the bedroom (they keep you awake) and work out in the morning (helps to feel tired at the end of the day).

3. Wake up early.

Where there's a will, there is a way.

kintamanimatt 15 hours ago 1 reply      
I'm going to assume you don't have a whole bunch of children, an underwater mortgage, or massive amounts of debt to service or some other very compelling reason the following advice isn't going to be practical for you. But if you can swing it, it's vastly more fun and productive than some of the other suggestions:

Start freelancing, quit your job, and move to a cheaper country where you can survive on something like 22 hours of billable work a month (+ business development). Then spend the rest of your time working on your stuff, or whatever you want to do! No sleep deprivation is required, you can still have a life, and you don't need to rigidly structure your time. It's a decent way to keep stress levels down too which yields more productivity!

It does help if you have some savings as a buffer too!

rubydoggy 36 minutes ago 0 replies      
I think that if you love something you will find time to spend. I have a 40hr/week full time job (i am not a developer) but development is my hobby and i start my challenge to take the chance and find a job as a developer. You also need a lot of support if you have family. I am blessed because my wife give me a lot.
matheweis 3 hours ago 0 replies      
Small amounts of time, scheduled regularly, add up quickly.

A few years ago I spent my lunch hour ~3 days a week or so building up a little app for Mac as well as Windows. 3 hours a week is ~150 hours a year. You'd be surprised how much you can accomplish.

The other thing that I think helped was I kept a running list of specific tasks that needed to be accomplished. So instead of spending my hour browsing the web or just doing random stuff, it was an hour of focused time spent towards building the next specific part of the app.

nevdka 16 hours ago 3 replies      
I've found having a third space is useful. You have your home and your office, find a third that you can fit easily into your daily routine, and spend 1-2 hours there when you can. My train home goes past a library that's open late, so a couple of times a week I'll go there after work with a laptop.
JASchilz 16 hours ago 0 replies      
I've found that an emphasis on a clear spec, decoupling, testing, and producing quality code significantly reduce the "spin up" time that gets ever more daunting in an infrequently-visited project.

A clear spec means that I know what all has to be programmed. Decoupling my components means that I can make changes to my business-logic/back-end without having to make changes to my display/front-end, as long as the interface remains the same. Testing means that I can make changes without fear that I'm going to unknowingly break existing features. Quality code means that I can more easily understand the code that I've written after an absence. The upshot is that I always feel comfortable making a few quick changes, pushing commits, even after being away from the code for a few days.

A few concrete tools for writing quality code: write it to be open sourced, write it to be viewed and collaborated upon; use code quality tests like pylint, jshint, code-climate, whatever is appropriate for your language; display your code quality metric badges in your repo, badges for coverage, built-status, etc.

hn9780470248775 15 hours ago 5 replies      
Another question: How do you develop a side project when your employer insists that it owns all intellectual property you produce?

Edit: As far as I know this is a very standard clause in tech company employment contracts, and is perhaps the legal default even in the absence of such a clause. For example, see "Employed to invent" under http://www.nolo.com/legal-encyclopedia/pre-invention-assignm... .

California is an exception to the above: here employees may retain the rights to IP they create on their own time, not using resources of their employer (including company laptop), and, importantly, not in the same line of business as their employer. In the tech field, the "same line of business" caveat can be killer.

halite 15 hours ago 0 replies      
It definitely is difficult. No doubt about it. Here are few things you need to remember (or things that helped me):

1: Break down your ideas into smaller ship-able chunks

2: Once you've something presentable, start getting market feedback to see if it would make sense going all in

3: If you don't see much interest, don't give up hope, sometimes it is better communication sometimes pivoting required. This is where you'd decide where you'd like to go. I found reddit to be tremendously helpful in getting feedback.

4: This probably is special case for me but I was giving up on software and getting little depressed / overwhelmed with my current stage in life. I like to do artsy stuff once in a while and so I started getsatvik.com, no-one has bought anything yet but this helps me learn marketing, copywriting and understanding how to sell. So think what you'd like to do as a hobby maybe combining that with your ideas could keep you going.

5: I find teaching people is also a great motivator. I now run a regular meetup in my city, learn some new concepts every month, teach them to other people. I don't get paid for any of this but helps to keep me sane.

6: Sometimes having virtual buddies also help. I now have a 'friend' on reddit who helps me with quick feedback / writing critique (as English isn't my first language) and I help him with doing some programming / teaching.

7: Nothing new or revolutionary here but sometimes connecting with like-minded individuals and organizing an accountability group also helps. If you'd like to connect, I'm happy to be your virtual-buddy!

saluki 16 hours ago 0 replies      
There are a few ways . . . typically I'm so excited about a side project I'll skip watching TV and spend an hour or two on it at the end of the night.

Time outside the typical 40 hour work week:

Getting up an hour or two earlier than usual.

Spending an hour or two at the end of the night on it.

Same on the weekends, early or late, maybe schedule a 4 hour time on Sat or Sunday afternoon.

Those are really the only three areas to find more time with a 40 hour gig.

Obviously make your main job your priority. Be careful of any IP clauses in your contract if this is building something you want to profit from.

One other possibility, depending on where you work. You could probably use your lunch hour to learn new things, do tutorials. You should probably bring in your own laptop and use your phone's hotspot for this to keep things completely off work hardware/bandwidth.

If it's something you enjoy doing it won't feel like work or like you're missing something.

Make sure you balance this with spending time with family and friends.

I was working full time as an engineer in another field, started doing websites for family and friends, then moved on to developing web applications for clients along with my own side projects during the time slots listed above. It can get tiring along with a 40 hour job. Now I'm consulting full time remote so I work on client work 40 hours a week and use any extra time for my own side projects.

The holidays is a good time to kick off a side project as you'll typically be taking vacation days so you'll have some extra time that you would normally spend commuting, eating lunch, working that you can use for a side project.

Good luck hacking away on your side projects.

rufus42 3 hours ago 0 replies      
If you be honest, almost every suggestion won't work. When you feel the need to really finish a project, you just cannot hold back and start to code in the night or during your normal work day.

What I can suggest (for your sanity and social life):- Pick the weekends (one or two days) where you code for 5-6 hours. - Do it during your work day. If you want something out of your side project, just don't work hard enough at work so you have ressources left for yourself- Ask your boss for a 25 hours working week or try to get one day off without salary reductation to see if you be as productive as before. If not, ask for 10% less.

Divide your side project in learning and developing.

Get a book which you can read during your commune, or even an ebook which you can read during work.And then, at home, take a weekend/one day off/two nights off to develop and code.

I also suggest the Lean StartUp method, which is not only helpful for StartUps, but also for side projects. The key is to develop in small iteration to always have a finish product you can test.

So, don't do everything, pick one little feature, develop it and see where it goes from there.

brudgers 16 hours ago 1 reply      
One way (though perhaps not the best and certainly not the only) to look at it is that the forty hour job is a filter. Ideas that don't get worked on are things that deep down don't seem worth working on after hours (never mind quitting the forty hour gig for).

Derek Sivers says a bit about the general problem in this recent interview: http://softwareengineeringdaily.com/2015/10/14/creativity-an...

octref 14 hours ago 1 reply      
I'm a junior college student doing some side projects[0] while taking 21 credits, jogging daily, going to mandatory club events, etc. Those except side projects take more than 40 hrs/week so I guess I have even less time for side projects than you.

I highly recommend you to read this talk script by Chris Wanstrath[1], one of GitHub's founders. Two of his suggestions:

- Turn off (or lower the frequency of) reading news/RSS/Twitter.

- Do a bit contribution to side project every day and get a streak. I feel John Resig's GitHub profile illustrates the point best[2].

I'm following these two suggestions on and off for a while, but I want to really do them for the whole year 2016.

And my suggestion is to go to some hackathons. You'll be amazed at how much you can get done during a weekend without distractions. Plus you meet a lot of awesome people, sharpen your skills and win prizes.

[0]: http://pwu.me/projects/

[1]: https://gist.github.com/defunkt/6443

[2]: https://github.com/jeresig

squiggy22 14 hours ago 0 replies      
Dedicate time to doing. I took at least one day that was me time, where I went to Starbucks after work and spent a few hours every week cranking out code. The disconnection from your home life, whether that be your significant other, or the mountain of TODOs around the house helped me to focus massively.

Don't beat yourself up over it taking a long time to get something together. Its going to take a lot longer to get a side project off the ground whilst working. I found that the first few weeks were the hardest, mainly because you'll be looking at a project that looks like nothing. As it evolves over time, it'll start to look like something and as such this in itself is motivation to find the time to work on it.

Stupid as it sounds. I also didn't buy a domain. You might think that 'oh I have an idea I'll buy a domain and go do it' but the inverse was true for me. The amount of domains I have that I have done nothing with is testament to that. The risk of someone else buying the domain I wanted was motivation, anyway, domains don't matter in the general grand scheme of things. If your product isn't shipped, domains aren't worth shit.

Focus on small wins. Create a Trello board with a few columns. TODO, DOING, DONE. Keep the tasks small, and when you have them done, move them over. Whilst not directly an answer on "where to find the time" it will help to keep you motivated to have a big column of "DONE" with stuff in it. Especially when you are going to have nothing visual at the start.

I have an extremely understanding partner, but I also set aside time when I put the laptop down. Stupid as it sounds, actually working on a laptop rather than a desktop worked for me as when everyone else was watching tv, I could code, and you can take your work with you so when you have some free time you can work.

ChuckMcM 14 hours ago 1 reply      
The better question might be to ask what are you doing instead and why. It may be that those things are more important to you, or it may be that you are avoiding other issues.

For me, the challenge in understanding my own choices, is understanding the root of those choices. It can help if you have a neutral third party to talk to about why you choose to do X rather than Y, but barring that there are other techniques you can use.

One is to make an appointment to spend 1 hr a week on some project. When I do this I start with a fresh notebook and pick a time either before I go, or after I get home, from the office to spend on this project. Then when the time comes the first hour is dedicated to writing down in the notebook the goal of what I'm trying to do, why I'm trying to do it, and the things that will have to be true before I can achieve that goal. After an hour I close the notebook and go about my life. The only rule is that during that hour I work on the project and nothing else, and if unavoidedly interrupted I make up the time lost that same day.

The things that make that possible are; It is only an hour, same as watching a TV show or reading through the front page, the notebook retains my mental state between sessions so I don't start out wondering what the heck I was doing last week and what needed to be done.

I found that for me what I really hated was spending an hour coming up to speed on a project and then only having a few minutes to work on it. Very unproductive and very demotivating. But with a process to stop and restart a project in hand, it takes away the restart lag and so I can be productive nearly right away (perhaps 10 minutes reviewing my closing notes from the previous session). Also if my check list is good then I have a good idea of how close I am to the goal.

Time is a finite resource, and learning to budget it will serve you well throughout your career.

datashovel 14 hours ago 0 replies      
I personally would suggest thinking about the project in your spare time first. I find that it's so much easier to context switch if my objective is only to think about a problem I want to solve. This way I can do this a lot more frequently throughout the week with little to no effort.

And only once I've thought enough about it, and am comfortable I have a solid plan and have carved out a precise scope / objective for my coding session, will I open an editor and start coding.

The trick I think is once you can visualize exactly what you want to do you can knock it out relatively quickly. I think it can become stressful if you're always sitting down to code in your spare time, when you're not prepared with a specific plan. You can waste a lot of time spinning your wheels when you do that, which in turn can make you feel like you're wasting a lot of time and have nothing to show for it.

jon-wood 14 hours ago 1 reply      
Most of the responses here seem to be from the perspective of people in their twenties without any major commitments other than work, so for the sake of balance I'll throw my two cents in.

I'm in my thirties, married with a two year old son, and working 40-50 hour weeks for a startup, and spend all day Saturdays looking after our son so my wife has time to work on her PhD. Between that lot there's not a lot of spare time, but I'm also in the process of starting a side project I hope to grow into a business.

Recently I've finally managed to get a bit of momentum behind that. The key was to book a week of holiday from work, with the intention of building an MVP during that time. I didn't quite get to something I feel I could sell in that time, but I did make enough progress that I feel like its worth continuing.

The other thing that's working to my advantage is having moved house to be closer to our families. That means I now have 10 hours of train journeys a week over the two days I need to be in the office rather than working from home. Its not an ideal situation to work in, the internet connection is intermittent while traveling through the countryside, and sometimes I'll lose 30-40 minutes waiting for their to be a seat, but it does have the advantage of being a block of time that I can dedicate to it. You can get a surprising amount done in two hours when you focus on it. I'd go so far as to say if you can't make time outside of work, move two hours away from the office, and buy yourself an annual train ticket. Maybe I'll turn it into some sort of coworking movement, bringing together commute hackers.

The other key thing has been to try and notice when I'm wasting time, and to back out fast. There's no leeway for yakk shaving away four hours when that's half the time you have to work on something this week. I will say I have mixed success on that front, having recently lost a week to the decision I should stop using Bootstrap. Eventually I killed that branch, and got back to focusing on what matters, but it was super painful.

Finally, and the critical thing for me at least, is having a side project you truly care about. If you just feel like you should be working on a side project for appearance sake you'll never find the motivation to stick at it. My Github profile can attest to that, with a steady stream of things I spent a few hours on and then got bored of.

I'd love to hear from anyone in a similar situation, and maybe start a mailing list of people who want to support each other. If that's something that interests you, my email address is in my profile.

ajhurliman 13 hours ago 0 replies      
In bursts!

I try to do something meaningful for my side project about once a week. If it's side-project night, I put my phone on airplane-mode and tell the lady-friend I'm booked up so I can concentrate for a solid ~5 hours without interruptions.

Obviously you can't do this super often while balancing the rest of life, but it's reasonable to get it in about once a week.

The tricky part is to let ideas for it simmer on the back-burner of your mind, but not to let the flame go out completely. It's nice to walk into your session with a full agenda and a general grasp of how you're going to implement it with caveats in mind, which you can fill in during the downtime of the week. However, it's also easy to completely forget about your project.

You can counter that part by getting friends involved!

hourdays 1 hour ago 0 replies      
A masochist approach: I live in a Paris suburb and have a full time job in Paris. I use my 3 hours of daily train home<>work travel for side projects (web dev & co). There you have it: move further away from your job and take the train (away enough to take a non crowded train and not the subway :-)
darkxanthos 15 hours ago 0 replies      
I don't think anyone has said this yet: Use your lack of time as a motivator to distill your side project down to the simplest thing that could possibly work (MVP). This is your opportunity to get really good at that. If you can't test out an idea in a weekend, you need more practice at this not more time.
apeofsteel 5 hours ago 0 replies      
Wake up one hour early, and immediately start working on your project. Remove all distraction: don't open email, don't log into social media - just start work on the idea. When you have five minutes left, leave yourself notes on what the next day's work should be.

When you devote one solid hour of absolute focus to a project, you get an incredible amount done. When I use this process for side projects, that first hour of side project work is by far the most productive hour of the day.

hourdays 1 hour ago 0 replies      
A masochist approach: I live in the subdurbs of Paris and have a full time job in Paris. I use my 3 hours of daily train for side projects (web & co). There you have it: move away and take the train (away enough to take the train not the subway :-)
volaski 13 hours ago 1 reply      
I work 40hr/week yet I have plenty of time to work on my stuff. Of course it would be much better if I could fully commit to my project but hey i still need money to sustain myself and need to compromise with reality. Anyway, sometimes when I really get into it I can even work more hours than my day job. In extreme cases, I would leave work at 6pm, get home by 6:30, take a shower and start working at 7pm. Work on my project for 11 hours until 6am, and go to sleep and wake up at 9am to get to work by 10am. I take nap during lunchtime (45 minutes to 1 hour). Of course I can't keep this up forever so I only do this when I am super motivated and can probably do it for a couple of weeks to a month at a time. But even when I'm not in this crazy mode there's plenty of time to work. Just doing half of what I described will give you 5 hours * 5 days = 25 hours per week, plus if you're really committed you can work all weekend 12 hour * 2 = 24 hours (for saturday and sunday), which adds up to around 50 hour/week. "Not having time" just means you're not motivated enough. Before you say "yeah right you can do that because you're some abnormal crazy guy, no sane person can do that and it's not even healthy" I want to tell you that motivation is not something people are born with. Instead of trying to wait till motivation finds you, actually start "doing" something and you will gain momentum and next thing you know you will be super motivated and don't have to worry about these things.
n17r4m 16 hours ago 0 replies      
The theory is simple, practise is difficult. Aim for the absolute most bare bones side project you can, and throw a few weekends (or other time to spare) at it, and get it going. From there, improve when you can. Given time, your dream project emerges.
hobo_mark 13 hours ago 0 replies      
I work 50+ hours a week already but I still manage to put in three to four hours of side-work every day (on weekdays that's usually 9pm to 1am), in my experience so far:

- The less correlated your side-project is to your day job, the better. Brain craves novelty, even after I am completely worn out by day work, by the time I've cycled back home I am ready to go again, but at something completely different.

- Move, I commute by bike and I have seen it make a big difference when you're sitting at a screen 14 hours per day.

- Make it a routine, at home I have two backpacks always ready, one for work and one for cowork, after dinner I just grab the second one and leave with barely having to think about whether I am staying in or going for another half day of work.

- Have a dedicated space, I am lucky to have a 24/7 co-working space literally around the corner from where I live or I would not be able to do this, it really helps your brain to physically switch context depending on what you do.

- It goes without saying, but you ought to really love what you are doing in order to forgo almost everything else...

adamzerner 13 hours ago 0 replies      
Assuming that you have the energy to do coding after work, it seems like this is really a question about time management rather than about motivation.

One thing I'm trying right now and that seems like a good first step is to track what you spend time on every day. I'll give you an example. Right now I'm home for Thanksgiving, which is sort of a vacation, but I also want to be productive. Here's what I did today:

11:50-12:45 - Wake up, internet

12:45-1:00 - Work

1:00-8:30 - NFL, hang out with friends

8:30-9:00 - Quick work out, shower

9:00-10:45 - Dinner + work

10:45-11:25 - Break, clean up, shave, wash up

11:25-11:50 - Work

11:50-12:00 - Pats-Broncos OT

12:00-2:00 - Work

2:00+ - Relax, sleep

I don't know if that was the most helpful example given that I'm on vacation, but whatever. I've found that I spend a lot more time on little things like eating and cleaning than I'd think/hope (I'm a very slow eater).

Anyway, I think that having good data on where you spend your time is very useful. Both from a logical planning perspective, and from an emotional/motivational perspective.

Prioritization, motivation and efficiency are topics that are too big and too well covered for a comment of mine here to be useful.

des429 5 hours ago 0 replies      
When I am done working on something, I jot down what I got done and any notes to help me get started quickly next time. This lets me juggle multiple things a little easier.

I actually created an iOS app this summer to handle this. http://getbalanceapp.com

jondubois 14 hours ago 0 replies      
Just pick something you really enjoy and it should be feasible.

I started SocketCluster (http://socketcluster.io/) on the side about 2 years ago while working 45+ hours a week for a startup.

I still spend about 10 to 20 hours a week on it. It's been a great learning experience - The kind of experience that's impossible to get from just being a full-time developer.

blizkreeg 14 hours ago 0 replies      
I hope your job is easygoing, not stressful, and <= 40h/week. If not, find one that is. Next, wake up early, work for an hour or two before the job, get home at 6 and work until dinner, and after. Work on weekends. But most importantly, find a co-founder/partner to work on your ideas with you. It will keep you going. And make time for relaxation as well, you will need it to keep going.
hidro 14 hours ago 0 replies      
I have a full time software engineer job, and I work on a side project which is a HN Android app.

If your side project is a freelance one, you're probably in for a tough time, due to external pressure.

If your side project is a hobby one, my advice is to start small, and plan subsequent iterations small as well, so you can usually finish in say within a weekend. Anything bigger will make you feel overwhelmed. Also be prepared to sacrifice some personal time for your project, it's a hobby anyway.

I'm assuming that your side project has little in common with your main job, otherwise there is no fun in doing it. If that's the case, I find it especially useful if the side project can, in a way, contribute to the main project. E.g. you experiment things you want to learn with side project, and apply it into your main project some time in the future. This way you have a good cycle and motivation to keep innovating/experimenting. Making your code/project public so others can use/contribute is also a good motivation to keep it up.

dools 14 hours ago 0 replies      
Here's how I'd do it:

My basic advice would be "set up a sustainable business that doesn't take up all your time and takes care of your basic income requirements, then develop an idea once you're financially independent enough to do so".

Maxing out your time now, while you're working, is the most stressful way to do anything. Developing something based on your own idea is the most risky way of doing anything.

Rather that focusing on your own ideas, focus on other people's problems, then figure out how to get paid to solve them.

Reduce your bottom line agressively to maximise the chances you can sustain yourself without taking up all your time.

Solve problems and get paid to do it, then systemise that and get other people to do the work. Now you have a business that doesn't take up all your time, but which takes care of your basic income requirements.

You can choose to spin a product off based on that, ie. by automating that business and selling it as a product, or you could use a product extension of that business to increase revenue, or you could just work on something completely tangential.

vcool07 6 hours ago 0 replies      
Waking up early helps. Also, I've picked up on this small but very effective time saver - always leaving the computer in exact same state from where to continue the next day. This really helps me jump right into context when I leave something in between and open it the next day. I always hibernate, never shutdown my computer !
d--b 13 hours ago 0 replies      
Working 1 hour every morning before breakfast worked out well for me. Important things to consider: 1. your life is more important than your side project, so don't prevent yourself from going out at night just to work on your side project, it's ok to skip days. 2. Don't screw around over thinking what you need to implement. Just make a list of small tasks and do them. It's incredible what you can get out of 1 hour with a clear goal and no distraction.

Edit: my work week was 60hr per week. There was no chance I could do anything at night as I was completely drained. Weekends were off bound too. I found that when you do as little as 1 hour a day, if you don't believe in the project you'll just drop it. If you really think you can get something out of it, you'll keep going and you'll get to some place good reasonably fast.

matvoz 11 hours ago 1 reply      
(never only) 40hr/week job (project manager), a wife and a year old child

I am just about to launch my second big(ish) side project.

When outside my "real job", the priorities are with my child and my wife. So the time for anything else is scarce and the most is done after both of them go to bed.

- limit your TV

- limit your distractions on the computer (I use RescueTime)

- learn to differentiate between motion and action (http://jamesclear.com/taking-action)

- automate everything you can

- motivation, motivation, motivation (when sitting on the toilet you aren't thinking about your side project, you don't want it bad enough)

yason 14 hours ago 0 replies      
Weekends have plenty of time.

But any good side hack will just make the time for itself. It's that stuff you can't not do so you stay up slightly late and will be slightly more tired at work but hey, so what, you'll feel so good about it that you can't wait till the work day is over and you can continue again. Then it'll fade away and you'll get more interested in work again until one night you figure out where you left with the side project and hey, there you go again.

Personally, I've never been in such a good job that I would always have interesting things to do. So, I've observed that my home-hacking is strictly proportional to the amount of boring stuff at work. I need my dose of programming and if I can't get it at work, I'll get it at home. This kind of takes care of side projects on its own.

joeld42 14 hours ago 0 replies      
I do a lot of side projects. I feel like I am lazy but my friends always ask how I manage to find time for it. Which feels weird because it doesn't feel like a lot of time.

Basically, I work 1-2 hours in the mornings, not every day but a few times a week, either after I drop my daughter off at school, or before they wake up. Some nights I work after they go to bed (I am working on a side project right now, it's 10:20pm on a Sunday). Sometimes I stay up late if I can deal with being a little tired the next day. I'd say I get on average about 5 hrs a week out of this. Then, sometimes I carve out weekend days where I get 8-10hrs of work. Other days I'll watch the kids and let my wife go out to a movie or out with her friends to make up for it.

Slow and steady progress. Have realistic expectations. Just chip away at it.

jakobegger 12 hours ago 1 reply      
I worked on my first app next to a 40hr/week job. It wasn't really hard, since I liked my side project. My schedule from Mo-Fri looked like something like this:

7AM: Get up, shower, cook breakfast

8AM: Take the bus to work

5PM: Come home, buy groceries, cook dinner, etc.

7PM: Work on side project

1AM: Go to bed

This worked well since I lived alone during the week (on the weekends I travelled to my home town and stayed with my girlfriend)

I got plenty of stuff done in that year.

The most surprising thing was that I wasn't really more productive when I quit my day job.

dharma1 14 hours ago 0 replies      
Projects to test technologies/patterns - try to find ways to incorporate those in your current job so you can do the learning at work.

Other side projects - work together with a friend or perhaps hire someone so you can split the workload for something you want to build?

Organise your free time in a way you have time for extra projects - ie skip TV, cut down on social media etc. But you have to really love the side project to be able to pull it through

drinchev 13 hours ago 0 replies      
I couldn't do it. I live with my girlfriend and at the time when I had 40hr/week job it was just terrible to work on a side project.

I was feeling tired and/or guilty in the same time. Then I decided to find a part-time job and finally became a freelancer. Much better on that matter.

yoklov 14 hours ago 0 replies      
Start small, work up to bigger projects. By small, I mean 300-1kloc. Or whatever you can bang out in a single sitting. It needs to be cool enough that you feel motivated to finish it too.

Accept that you can probably only get ~8-12hrs of good work on side projects done a week (except when you're really inspired, or when you can spend a weekend on it).

acd 12 hours ago 0 replies      
At my previous work place I managed to reduce my work to part time so I worked 60% there, that meant I had 40% time to develop my own company.

Search for Einstein and the patent office for someone for an idea that you can copy.

meritt 15 hours ago 1 reply      
There's 168 hours in a week. Get up earlier. Stay up later. Sleep less. Put in time on weekends.
spullara 15 hours ago 0 replies      
The real question is what you are doing the rest of the time you are not at work. If you have a family, that might take up another 32 hours a week. If you sleep 8 hours, there goes another 56 hours. Hmmm, you still have 40 hours left...
meric 15 hours ago 0 replies      
Weekday: Wake 9am, Work & Lunch 10-6, Dinner 7-8, Side Project 8-11, Sleep 12-9, Repeat.

Weekends are for chores and socialising.

loki49152 12 hours ago 0 replies      

Or, at the very least, prune it back to one or two current shows you follow. TV is by far the most significant time sink in most people's lives.

epicureanideal 15 hours ago 0 replies      
Post some contact information and I'll be happy to discuss in more detail. Meanwhile, do you have family or anything else that takes up time outside of your 40 hours? If not, you should easily be able to find 16 hours on the weekends by "working" a 7 day week.
MichaelMoser123 12 hours ago 0 replies      
i am commuting to work by train (50 minutes each direction); that gives me some time to tinker and to read - these commutes are of great value to me.
throwaway4338 16 hours ago 2 replies      
Use your paycheck to directly pay a braindead coder with zero creativity or ambition who does nothing more than meet requirements, like you're fucking dictating to them. for added oomph they can be in a low-income country, but people with no creativity or initiative or ability to translate requirements into code aren't worth much anywhere.

So rather than code anything yourself, just give htem requirements that read like a to-do list for yourself, after you've already doen all the theoretical leg-work:

#1.1 to-do: when this form is submitted, pop up this confirmation form:

#1.1.1 Confirmation asking if user wants to leave page?# if user clicks yes, redirect them to the link clicked# if user clicks no, keep them on page.

#1.1.2 Form submission: when user submits form, run valdation

# if the name is not betwene 2 and 30 characters show an error "Name must be between 2 and 30 characters"

# if the email address is not in the format (one or more characters or numbers) @-sign (one or more characters or numbers) and contain at least one period after hte @-sign, then error message reads "Please input a valid email address."

and so on and so forth. stuff that makes your eye water regarding how incredibly, uselessly boring it is, like you're an executive and can't even tell your business manager to accept a bid, you must fucking dictate the letter itself.

However, as incredibly annoying as this process is, it takes you approximately half an hour to do a day's worth of work with it. You can review progress every day in half an hour over breakfast.

So, there is your answer regarding how to build a side project while you're working full-time: manage dirt-cheap disposible developers on Odesk or Elance who get off on adding absolutely zero benefit whatsoever of any kind to a project, besides doing exactly what they are told in painstaking detail.

This is being made from a throwaway because I haven't heard this idea expressed and people might not realize that this is the answer. As for my tone/style, I think it's completely wrong for any developer to agree to be in such a role, and the REAL correct solution would be to manage a creative, contributing developer who gets equity in the result and has more free time than you. But what do I know.

fleitz 14 hours ago 1 reply      
Stop reading, start doing.

Imagine someone asks how do I train to run a marathon?

Start by running 1 minute a day and add a minute every few days, after 2-3 years you'll be running long enough to run a marathon.

There is no substitute for doing, there are no shortcuts, there is no miracle pill (well, ADHD meds may help...)

You must actively decide that your sideprojects are more important than whatever else you are doing, speaking of which now that my two kids are asleep, and my fiance is reading, it's time for me to stop commenting on HN and start working on my side project.

Time is not something that is lost or found, you have a fixed finite amount of it, and it is continually decreasing the only thing you can do is choose what you do with it.

Ask HN: What do you do during your commute?
13 points by alltakendamned  8 hours ago   25 comments top 24
ALee 3 hours ago 1 reply      
10-20 mins bike ride via bike share - I use Overcast to listen to podcasts at 2x+ speed, shorten silences, and voice boost. Since I'm biking, somehow the speed of bike matches really well.

On Caltrain, I tether my wi-fi. If you're on the fastest bullet, don't bother trying to get internet, it doesn't work. Otherwise, the moderately fast bullet or the regular trains will give you reasonable internet to answer email.

Oh, I also use VLC with a tv show or movie and watch at 1.25-2X speed so that I can watch a whole thing in a fairly short span of time. You'll realize it works pretty well.

Additionally, I swear by Pocket (which also reads articles to you), Voice Dream (which integrates with a bunch of other things and can read to you as well at a fairly fast clip). If I'm reading, I'll also use the Kindle app or potentially have my Kindle with me.

If I'm reading an online article, I've been trying to train myself with Spreed so that I'm reading faster.

I've seen others just play games on their mobile devices or use dating apps - both of which seem to magically make the commute disappear.

sageabilly 5 hours ago 0 replies      
I'm fortunate enough to have a 5 min commute each way (20 min if I walk), however I recommend to approach this like an enormous gift: you suddenly have ten hours every week with no distractions. What do you want to learn but have never had time to? What have you always wanted to do but didn't have time? Write a book? Start a blog? Learn a language? Read all the classic books? Learn to knit?

Think about what you want to accomplish with all that time and then build from there- do you want to use the hour in the morning to get a leg up on your workday? Do you want to use the hour in the evening to relax from work fully so you can jump into chores/hobbies when you get home?

tmaly 2 hours ago 0 replies      
I picked up a macbook pro in July and I work on my side project about food offline. I optimized my setup so I can startup all the pieces I need with a single iterm script. The backend is all in go, so using godoc with the -http option makes it easy to lookup all the docs in your browser without having to have a internet connection.

When I have to make my connecting train, I just close the laptop and can quickly open it back up when I get to my next seat.

On days where I do not want to program, I use the amazon kindle app with the whisper sync so I can listen to audio books. If I just want to listen to music, I use the free version of Spotify on my phone.

wirddin 6 hours ago 0 replies      
I have this habit of saving articles which takes longer than 2 minutes to read to my Pocket(any other reading app for you) and I go through the list while I commute.

Other than that, I like to watch 20-25min TV Shows ( Older ones like Futurama, or Rick and Morty ) if I don't want to read.

ruraljuror 2 hours ago 0 replies      
Instapaper, to state the obvious example, was developed for this purpose.

Other apps I use: Pocket Casts, Safari To Go, Feedly, Play Newsstand (subscription to New Yorker), Boston Globe (subscription), Amazon Kindle.

One thing to know is that your local library has free ebooks and audiobooks for download.

pferde 8 hours ago 0 replies      
I read books, catch up on news articles if need be, or doze off. Special phone apps? Just a RSS app of your choice.
alblue 3 hours ago 0 replies      
I use my laptop to do home projects or writing (eg for InfoQ or books/blog posts). The trick is to be able to partition work and be able to stop and start quickly - plus to use a laptop efficiently you need to be able to get a table seat and a power socket.

If I'm not travelling with my laptop then I will typically read a book or magazine.

You might also find noise cancelling earphones and a supply of music useful if you have noisy fellow commuters, but it's not strictly necessary.

partisan 3 hours ago 0 replies      
One of my commutes involves driving 30 minutes each way. I usually listen to local AM talk radio (Bloomberg or AM 770).

The other commute is a 1.5 - 2 hour trek each way broken into legs. I use my laptop on the safe leg unless crowding prevents it. On the unsafe legs, I read a magazine or book. I was reading the latest issue of 2600 today and will do so for the next commute or two. I listen to music the whole way.

oweiler 5 hours ago 0 replies      
I normally work on side projects. In my GitHub repositories I have defined several tasks which can be performed within 5-15 min. I may not get much done on a single day but small tasks add up quickly.
mark_l_watson 4 hours ago 0 replies      
Well, it is a 40 foot walk from our bedroom to my home office. During my commute I stop to play with our pet parrot for a few minutes and get some coffee.

I used to have long commutes when I lived in California and when I travelled by train or in a van provided by my company I considered the travel time to be work time, bringing whatever materials I needed with me. Listening to music or fun reading seemed like a waste of time. When driving to work I would organize my work day, as much as possible.

dllthomas 3 hours ago 0 replies      
I code or read. Usually a physical book, for the latter.

I specifically take the slightly-slower bus rather than the slightly-faster train so I can reliably get a seat even at busy times.

cafard 3 hours ago 0 replies      
My commute is about half an hour door-to-door by bus, an hour walking. When I catch the bus, I read. When I walk I think or daydream, or just look at what's around me.
rawe 4 hours ago 0 replies      
20min by car. Audio podcasts (the amp hour / chaos radio via Antenna pod app) or find new bands/songs in the sxsw music archive. Create a todo for the working day, coffee, ...
panglott 5 hours ago 0 replies      
My old train commute was where I did all my reading, subscribed to science fiction magazines. Then my train commute ended and my reading dropped off. Now I do podcasts and audiobooks.
chrisseaton 5 hours ago 0 replies      
I just got my laptop out and treated it as part of the working day. And I got the train around 9 to compensate so it didn't turn into a longer day.
edem 4 hours ago 0 replies      
I usually do some lessons on Duolingo. Quite useful! Apart from that I mostly spend my time reading books.
trumbitta2 4 hours ago 0 replies      
I drive my car, two hours per day :-/
macjohnmcc 3 hours ago 0 replies      
I telecommute so it's just a few seconds of walking mostly.
daughart 6 hours ago 0 replies      
I listen to Howard Stern on SiriusXM (there's a 1 month free trial for the smartphone app). It's my morning indulgence while sitting on the T drinking a coffee.
peter_vk 6 hours ago 0 replies      
I listen to podcasts. Recently got into Welcome to Night Vale, but would also recommend anything by Gimlet.
davelnewton 6 hours ago 0 replies      
What do you do with an hour at home?
kozak 8 hours ago 0 replies      
I listen to audiobooks.
ptype 5 hours ago 0 replies      
Read HN
gadders 4 hours ago 0 replies      
I read books on my kindle (mostly fiction), listen to podcasts or sleep.
Ask HN: How do you handle customer support on your site?
69 points by supersan  20 hours ago   44 comments top 23
jakobegger 12 hours ago 1 reply      
- Just use email.

- As long as possible, handle all requests yourself.

- If people keep having billing issues, use a different solution for billing. I use Fastspring, and issues are rare. And I can just forward billing related issues to Fastspring support.

- If you keep having to deal with technical problems, fix your product. Ideally it shouldn't need customer support. If it is so complicated that customer support is required, charge at least $100 per customer.

- Write good documentation. This is so often overlooked. People generally contact support as a last resort, and will usually read all documentation in advance. If your docs explain it, they won't need to contact you.

- Time: it usually takes me 10-30min to answer one support request. I don't have a time budget, I try to answer as quickly as possible. Being responsive makes a great difference to your customers, and they will be much more likely to buy your product and recommend it to others.

- However, to limit the time per week I spend on customer support, I do everything I can to make sure people don't need to contact me at all. I try to fix every reported issue permanently so that I never have to deal with it again.

nedwin 18 hours ago 0 replies      
You start by doing it yourself. This is super important. Doing support brings you closer to your customers to understand their pain points so you can build a better product.

Technical question that they don't get? Either make it more explicit in your product, on your sales page or in your documentation. Once that's solved you should better understand customer needs and have fewer support tickets coming in.

Billing can be a little more painful but with a solid FAQ and some email templates over time this should resolve itself pretty quickly.

Non-product related enquiries (usually like billing) are the first ones you might outsource to someone else to handle. You can use services like influx.com to handle this.

lenidot 15 hours ago 0 replies      
I'm the co-founder of a company that provides "elastic customer service" (influx.com) and I'm happy to share with you what I see happening in practice.

Most founders start out doing customer themselves. This is absolutely the right thing to do for reasons outlined elsewhere in this thread.

When the business grows, the the founder(s) can't continue handling 100% of customer support, both because there other priorities and because the volume grows beyond what the founders can personally handle.

Generally in this "transition phase" time-to-first-response grows steeply.

I wrote about my experience providing customer support on a open source project, you can see where the "wheels started to fall off" - ie time to first response climbed steeply:


At the time, I felt bad about TTFR growing steeply.I now understand that it's a really common state of affairs.

So at some point, the founders need help, and they either hire or outsource, or do a combination of both.

You asked about "the average time it takes you to resolve customer queries". A typical time-to-first response before Influx starts working with a client is 12-15 hours, with a outliers at 1-2 days.

On "stay close to your customers" - it's 100% correct but a harder question is "how do I stay close to my customers and scale at the same time?". The answer depends on the size of the business. I see people using a combination of metrics and qualitative insights. The metrics look after big picture health and qualitative insights involve customer support staff bubbling issues back up to the product+dev teams.

apandhi 17 hours ago 1 reply      
1) Sign up for intercom.io. It's genuinely the best customer support tool I've used.

2) Get the app and get a notification for every user's question. Try to answer them the second you see it.

3) Don't hire a dedicated customer support person. Stay close to your customers and build a relationship.

4) Watch this talk by Patrick Collison from Stripe: https://www.youtube.com/watch?v=nnllRegL_NI

5) Build out an FAQ

6) Make sure your customers are happy.

veesahni 16 hours ago 1 reply      
Great businesses provide great customer service

Some principles worth following:

0) Be human - personable, friendly and honestly there to help

1) Be honest and transparent with technical issues

2) Be fair with billing issues

3) Be effective. Fast responses don't help if the question isn't answered

4) Empower your team to do the right thing - most big co's fail here.

5) Keep the feedback loop between yourself and your customers tight - everybody on the team should help out on support. Lots of valuable insight can be gained here. While outsourcing makes "support questions go away" it also cuts off an important feedback loop.

joeguilmette 11 hours ago 0 replies      
Support for WP All Import is one of our biggest selling points. We get a lot of support requests in part because our software is complex and WordPress has a low barrier to entry.

We have three part time employees and one more in training all to handle support. We did, however, start where you are. Here's my advice:

- Just use email. We tried Zendesk, Groove, and Helpscout. Helpscout is far and away the best.

- Your reps need to be smart, talented, and close to the business. That means you need to handle all support inquiries until you can afford to hire someone. When you do hire someone, make sure they're 5x more technical than you think they need to be. We hire developers as support reps.

- It takes us on average 2 replies to close a ticket. A reply takes us on average 6.5 minutes to write (some take 30 min, some take 30 seconds). Our tickets involve lots of debugging and weird stuff, so YMMV.

- Answer every support request as fast as possible. Our customer happiness ratings have a lot to do with how quickly the reply was sent.

- Treat support like a focus group. In a perfect world no one would ever need to ask you for help. If you get people asking the same question over and over, change your product to answer their question for them.

- Docs are a last resort. It depends on the product, but often documentation is a band aid for bad UI. That said, it's good for SEO.

- As you grow, keep support close to your ear and heart.

tmaly 2 hours ago 0 replies      
I use email, but I also make a FAQ entry to address every question I get. I got the idea from the 4 hour work week.
hendry 16 hours ago 0 replies      
Yes, have a good FAQ which becomes your canonical reference point. http://dabase.com/blog/How_to_create_a_FAQ_that_does_not_suc...

I have a fairly complex Fastmail email setup in my organisation to share the support mail folder with my colleagues. Ultimately all people added to support can see all past "conversations" and join the conversation. Huge PITA to setup though. Still prefer it as it's not locked into the semantics of some ticketing system evolving to be email.

hermitcrab 9 hours ago 0 replies      
To me it is key that no-one gets between me and the customer. That feedback is essential for improving my products. So I've done all my own customer support for the last 10 years. The challenge is how to provide great support without being swamped.

I probably spend 30-60 minutes per day replying to support emails (I haven't measured it). Most take less than 5 minutes.

Here is an article I wrote that summarises what I've learnt:http://successfulsoftware.net/2012/08/21/tips-for-great-soft...

symkat 11 hours ago 0 replies      
I run romanhaze.com - we sell eliquid for vaporizers.

Support and questions are handed through email. We have a contact form and various internal bits will direct a customer there with preselected subjects (e.g. "Question for Order #n" ).

I would never outsource it from the company, and want to have me and my co-founder primarily do it. It's the closest contact you have with users who are experiencing problems. If you're big enough, you're going to need dedicated support people, but I think founders should still have a grasp of what customers are asking you about.

tzaman 9 hours ago 0 replies      
Intercom is by far the best customer support tool I've used (and I tried 10+).

We use it both as a widget on our landing page and our support email redirects there, which allows us assigning tickets effectively to the team member responsible for their resolution.

Interesting fact: Because our median response time on Intercom is around 12 minutes we convert about 80% of all inquiries (from visitors to paid clients). 80%!

Bottom line: customer support makes a huge difference, so you should definitely do it yourself.

jakejake 13 hours ago 0 replies      
I think a chat widget on your site is a convenient way to offer support that works for a single-person company or a dedicated support team. We use Zopim on our site. It's the only way that I know of were one support person can offer real-time help to multiple customers at the same time. (or at least give that perception as long as not too many people are chatting at once).

Having a knowledge base and/or documentation is a great because a lot of people do prefer to help themselves. That cuts down on the volume of support calls too, so it's an easy win.

I personally think that support and sales go hand-in-hand so, especially when you're getting started, you need your customer's support experience to be excellent.

mokkol 11 hours ago 0 replies      
I run www.nusii.com and we are still quite small and we handle Customer feedback ourselves. Se use it to get to know our customers. We have some saved replies we use over and over again, and we link to tutorials where we can. I think we take 30/45 minutes a day to do customer feedback.

I must say, great customer service helps churn a lot. Helping them out actually makes them a happier customer and it is a great moment to start a good relation. See it as a opportunity and don't outsource it too soon!

mikhaill 15 hours ago 0 replies      
When youre a small business, it's important to establish repeatable methods that customers and your support team can follow easily. Do not over complicate. Find the single most efficient and scalable delivery method and perfect it. Start with email based support. Build your reputation as a dependable, knowledgeable and responsive machine through that single channel. Youll later be able to expand to the other channels but not until you can afford it.

Depending on the size of your business I would suggest some tips from this blog post:


patio11 11 hours ago 1 reply      
My companies have supported X00,000 users and ~8k paying customers over the years with a maximum team size over that interval of, ohh, 1.25 or so. It's quite achievable by a small team.

I did all my own CS, over email, for the first 6 years. This was approximately 4 years too long. Time to first response (TTFR) was generally on the order of "I'll get back to you by the next business day on a best effort basis" -- I hit that on about 98% of customers for the first few years and then probably slid later, particularly when sick or overwhelmed.

My first (B2C) product had a lot of not-very-critical CS issues which also weren't very complicated to resolve. After having done that for 6 years, I hired a VA firm in the Philippines who staffed me with a single person for ~4 years. I think it was 20 hours a month for $300 or so, IIRC. I acted as tier 2 support for her. She probably head off more than 90% of inquiries. We used Snappy (BeSnappy) for CS software -- I enjoy it rather more than I do support over email, and it was easy enough for her to get spun up on.

I've also done B2B support for my other SaaS product, which has fewer users, fewer customers, fewer incidents, and radically higher maximum-criticality-of-a-ticket. Again, did it all by myself for the first few years. Eventually it became obvious that a supermajority of our support was onboarding for new customers, so when I hired a sales manager we mutually decided to roll that into her job description. Our process is she firewalls me from any ticket she can and, if anything survives, she dumps it into Slack as a morning roundup every evening. I either get her instant answers or tell her "#3: ETA tomorrow."

My sales/support person works near my customers timezone-wise, so they generally get very quick "Thanks for the email. I'll ask my tech guy about that and get back to you." acknowledgement for the harder issues (and very fast resolutions to the easier ones). This makes for mostly happy customers, although to-be-fair most of them thought I was pretty responsive back when they wouldn't even get first contact until a day after they had sent in the ticket. I'm not competing with having a super-responsive startup team on speeddial; my customers expectations' are set by bureaucracies which take weeks to acknowledge receipt of the first of three things required to get the ball rolling on opening a ticket.

Fully-loaded cost for my sales/CS person is on the order of "a few thousand dollars a month." for what I'd estimate as approximately 0.25 FTEs. (Worth every penny in decreased stress level for me.)

Customers occasionally ask for 24/7 phone support. I quote Enterprise rates for anyone who wants that. No takers, thankfully.

I feel like the median experience of my customers getting CS from the team and myself is probably worse than it was when I was doing 100% of the CS, but it is not obvious to me that is true of their perceived experience, and we've managed to successfully manage expectations from customers about how much of my personal time is included for $29~$199 a month. (A particularly good thing as I won't be involved in that business much longer.)

Anecdata: 80% of CS incidents take < 5 minutes to resolve, 15% take < 20 minutes, and 5% take Way Too Long.

Favorite tricks for CS:

You're going to get the same issues a lot. Keep a list of them. Fix the ones that are caused by fixable product issues, and keep fixing them until those go away.

Build self-help tools for the issues which are high-frequency low-value-added like, most obviously, password resets. (Yes, there are still companies without automated password resets. I know someone with a master's degree who carries a beeper on Saturdays due to their company's refusal to spend money on tweaking an application to allow password resets.) Routine billing inquiries, etc are often also candidates for this.

You're now looking at a long tail of issues, but it still has a fat head of the distribution. Process-itize those issues which are amenable to it: you want to have a Google doc which explains exactly the company standard response to X, including what to say (templates optional) and what, if anything, needs to be done in internal tooling. Do not extemporize a solution to the same problem 100 times: cache it and save extemporization for places where the team's brainsweat actually adds value over "the right answer delivered very efficiently."

Final thoughts: your expectations for CS are not your customers' expectations. Your expectations for your company's CS are not your customers' expectations. Your desired outcome for a CS incident is not your customers' desired outcome. I can keep banging this drum for a while. It's important.

asadm 15 hours ago 0 replies      
Be real. Make relationships with customers on first name basis. Specially when the customer is from SMB or a startup.

I have my customers on my skype/email/intercom. We have looong threads with them, discussing features and related things.

michaelbuckbee 16 hours ago 1 reply      
This is something I'm really passionate about. I'm a solo founder of a service (SSL installs) that has a disproportionate amount of onboarding technical support issues that absolutely have to be resolved or people immediately quit.

When I started, I was really concerned that support requests would be overwhelming. It's a direct time sink (time you could be using for marketing or development) and when you're getting off the ground it is really difficult to predict how much time it will take. To some extent being 'swamped with support' is a nice to have problem as it implies that you at least have customers or at least people trialing your product.

So, it is with a fair deal of surprise that I've come to really enjoy providing support for ExpeditedSSL, that support has become a huge driver of word-or-mouth referrals and has driven any number of big user experience improvements.

WHY DELIVER GREAT SUPPORTBeyond, just trying to keep your customers sort of generically happy, there's two really important reasons to try and nail support:

1. Support Effort is Weighted to New/Trial Users

To get a new user of your software you have to attract visitors, teach them what you do, maybe email them a few times and then after they signup and you've expended all of that effort and expense it's crazy to throw away an opportunity to keep them.

Early user support is incredibly lucrative as it's the difference between keeping a trial customer and them leaving. A 5 minute email to a new user that keeps them around for a year of service can easily earn you hundreds of dollars.

2. Good Support Is How You Get Fans

With rare exception, people seem to get more upset over support issues (unresponsiveness) than from actual issues.

Most places are so bad at support that if you're able to respond quickly, fix their problems and in general not act like some stiff support robot you'll make people really happy and huge fans.

This effect is so pronounced that I almost wish we could have some minor issue occur in the onboarding process that we could reach out to people about.

This is an area where you as a startup actually have a profound advantage over larger companies as you're likely much more knowledgeable about your product and definitely more invested in a user having a good experience than some random for-hire support person at BigCo.

WHAT TO SUPPORTIt's easy to lump all post sale activity for a customer into 'support', but splitting it out into a few broad categories helps address the underlying issues in each.

Technical Support

This is what most people consider "support". A user reaches out with an error and after some troubleshooting you tell them how to fix it.


Not necessarily that there is an error, but perhaps they don't know what to do next or need assistance in getting their data loaded or preferences setup.

Customer Service

Typically billing, renewals and anything else regarding the service outside the core functionality.



Your primary means of supporting users is likely to be email. It's asynchronous but lets you respond quickly and starting out will likely be sufficiently organized to keep things moving without a full blown helpdesk application.

Secondly, it lets you be extremely precise and copy & paste friendly in a way that phone calls can't match. Ex: we often have to help people set their DNS entries and it's much easier to email someone the following than explain it.

Please set your www CNAME to fugu-2034.herokussl.com

Email is in fact so predominant as a support tool that you can actually go quite far with managing support requests in your email client before you need a dedicated support app/service. Modern email clients that nicely group emails into threads are more than adequate to get started.

A few months after starting I switched from a dedicated Gmail account to Fastmail and it made a profound difference as just receiving and responding to emails was faster by about 10 minutes on each side.


We primarily use Skype and Phone calls as an escalation method. If someone is really turned around conceptually as to what needs to happen to get things working; often a short phone call can put things straight.

I'm also always on the lookout for users phone numbers in their email signatures. I'll sometimes just call them back if they email in with a question or problem as this is such a huge inversion of their expectations (being left on hold with instrumental covers of ABBA tunes playing and a disembodied voice that talks about "call volumes" and how you're "very important to us") - that they'll hopefully feel really positive about the experience.


I had really high hopes for chat, and had tried using Olark for several months, but whatever combination of user experience and expectation that came through, just did not get any takers.

I'd really like to offer real-time chat as a support channel and may try it again in the coming year.


Some developers still look askance at Twitter "If I'm building a business, why do I need to know what people had for lunch. Har Har." - but it is undeniably a support channel as people now have an expectation of being able to say: "Hey COMPANY_NAME - I'm having trouble" and get a response.

Further, while all the other support mechanisms are at least within your control (aka you're not going to get support phone calls if you don't have a support number) - Twitter is most definitely not. People will tweet about your product or service and the issues they have with it at the drop of a hat.

To help these people you need to monitor Twitter, I setup a custom column within TweetDeck that searches for ExpeditedSSL and "Heroku SSL". Which makes this a breeze.

WHAT TO SAYWhatever the support channel that a request comes in from, I try to incorporate the following elements of what I've found makes a great support experience:

1. Apologize for them having had to waste their time: "Sorry you have to deal with this hassle"

2. From the context make sure that they know it's a knowledgable live human that is invested in fixing their issue; not a NLP auto-responder script, not an intern with a list of set support responses.

The easiest thing to do is just look at their email address or signature for their name and put that in your salutation.

3. Explain what they need to do in the exact way that they need to, this means that I'm not cutting and referencing things like "set the dns cname to example.com" - but actually put their domains, names, servers, etc. into the instructions.

4. Try to explain what caused the issues. We sometimes have issues with our upstream cert providers, sometimes weird things happen with the Heroku API, once I forgot to buy more credits (I have to purchase certs ahead of time). I just try to be really honest about what happened.

5. Sympathize - we're really lucky that all of our customers are genuinely competent developers. But they don't typically do DNS work or other config tasks - so they feel bad about not knowing what to do.

6. Anticipate - beyond just fixing their current issue, point them to the next step that they need to accomplish.

MAKING A SUPPORTABLE SERVICESome of the highest ROI time I've spent on ExpeditedSSL was in user experience reviews. I'd ask a friend out to coffee (or random people on Twitter to join me on Skype) and just ask them to try and get through a SSL Install. I'd watch their progress and flich and be incredibly embarrassed as they got stuck on seemingly "obvious" steps.

Some of the companies I've worked for have spent tens of thousands of dollars on doing customer feedback and user review studies.

So with that in mind, it's quite reasonable to consider every support case as a free, mini lesson on UX that a real actual user has sent you. As a direct consequence of support cases we've:

- Added a "Test Email" button the the approver addresses

- Automatically force the best option for 'www' vs naked domain names

- Improved the DNS checking to say both what should and what should NOT be done with DNS

- Added post install instructions for configuring the most popular app-stacks for forced ssl.

Together this forms a feedback loop, where as you improve the product you get fewer and fewer support issues that you can then proportionally handle better and better. To help encourage users to give feedback I always put my title as 'Developer Support' so that they can feel more free to complain to me about product issues than if I had my CEO or Founder hat on.

DrScump 18 hours ago 0 replies      
First of all, billing questions need to be segregated to sales or accounts receivable, as they are not technical support issues.

Secondly, how many of these queries are related to customer education / misunderstanding of product use vs. actual software defects? The former may reflect weak or inaccurate documentation or conflicts in design.

nodesocket 17 hours ago 1 reply      
Intercom.io for all your support and customer tracking needs. It also handles DRIP[1] e-mails and doubles as a sales live chat.

[1] https://en.wikipedia.org/wiki/Drip_marketing

dools 17 hours ago 1 reply      
HelpScout + outsourced tier one support
maximgsaini 12 hours ago 1 reply      
Disclaimer: We run a Heldesk software, Busibud.com which maps out a company's customer support process and helps them outsource only the mapped out part. The helpdesk software is free to use.

I've been helping companies setup their customer support processes for some time now. Initially, founders/core team members must do customer support on their own. This should happen till your team has some visibility of the process (what kind of questions you get and how to reply to them).

------- What are the ways to handle customer support?

You can do it synchronously (chat or phone call) or asynchronously (email). Usually, async customer support requires lesser money/time because things can be structured. But, before you have some visibility of the process and are still finding p/m fit, I would suggest you talk to people.

------ Outsource vs do it yourself?

Before you know your process, do it yourself. No one can decide how things can be answered. Once the process has been mapped out, a lot of the startups I know of ask every team member to pitch in for customer support. This may lead to better quality but leads to huge costs as well. I've seen salesmen spending 1-2 hours everyday on customer support answering what they call "dumb questions". You can outsource it as well, which comes with problems of its own. For starters, it will be very hard to find an outsourcing partner who will be ready to deal with extremely small volumes.

Even if you do manage to outsource, your process will now be managed by someone else. Ad-Hoc changes become difficult to communicate and the people giving out support for you will also be giving out support for other companies....hence leading to quality issues. Unfortunately, most outsourcing companies still rely primarily on training to ensure quality. They don't use the technology they should be using. Thus, quality will depend on the infrastructure of the outsourcing partner (training managers, quality managers, etc).

Once you reach a decent size, hiring people and creating your own customer support team is an option but is usually more expensive (HR/payroll/training/infrastructure). But, it also leads to better quality. Do remember that customer support teams have a huge turnover rate...people keep going and coming in. Thus, training and quality monitoring costs can be huge!!

------ What is the average time to resolve queries?

I've seen a first response time of 5 minutes and also first response times of a few days. Don't know what the average is but depends on a lot of factors. The one doing it in 5 minutes usually has happier customers.

------ How much budget do you allocate for CS?

This is a tricky question. Even huge companies have a problem with this. The amount of budget to be allocated would depend on a lot of factors. What I would suggest is that your get started with a particular level of resolution time (which would determine your budget) and then try to optimize it using a series of A/B tests with retention/return being the metric being monitored (the metric too can depend on a lot of factors). Once you use these metrics, you would have a better idea of how much budget you should allocate. I might be wrong, but Busibud.com is perhaps the only customer support tool that I know of that lets you A/B test customer support strategies.

mmaunder 15 hours ago 0 replies      
I run http://www.wordfence.com - We provide customer support via Freshdesk for our paid customers (a ticketing system) and on the wordpress.org forums for our free customers that use our open source product.

I initially did CS myself along with my co-founder and it is tough work. The hardest is the context switching overhead. One minute you're coding or marketing, and then you have to switch into doing 2 or 3 hours of customer support. What is really tough is at the end of the 3 hour stretch, a customer with a real gnarly issue comes along and you have to do 30 to 45 minutes of actual work researching it to help them. You have to dig deep to go that extra distance.

Once our revenue scaled we could hire our first full time customer support engineer and wow. It was so awesome to have someone offload this and let us focus on all the other stuff (which we would eventually have to hire for too!). We have a team now, some permanent and some contractors.

So there's no easy way to do it and because it's a human intelligence task, it's super time consuming and super expensive. But I can't overstate the importance of great customer service. We are known for it in our space and it has really paid off. Competitors have dropped the ball in a big way and we have picked up the slack through excellence in customer service.

A few things I learned:

- Reply early, reply often. It's very important to most customers to simply be acknowledged.

- Everyone has a bad day and 90% of the time, a polite response to a very angry customer will get you a surprisingly polite and grateful response back.

- Twitter is great. Reply to customers, interact, but direct them to ticketing or forums for full customer support service.

- Ticking system is essential. It's the only way to reliably track issues. Support via email and you will eventually drop the ball and it will bite you.

- A FAQ will save you a huge number of support tickets. Put it front and center, maintain it well, make it as user friendly and easily navigable as possible.

- Only hire people who speak your customer's language as their first language. Even the smallest grammatical errors are giveaways of offshoring and will irritate customers.

- Depends on what kind of biz you run, but in our case our customers are surprisingly understanding when we have an autoresponder saying we will be providing limited support over the holiday season or over weekends. So pick your hours, and just communicate clearly what they are.

Hope that helps.

Edit: You asked about average time to handle customer queries. A ticketing system gives you that kind of reporting along with a ton of other metrics. I would think the average time to close a ticket varies depending on the business and product complexity and customer sophistication.

mei0Iesh 17 hours ago 0 replies      
I unlist my contact details, and only people who can do a WHOIS contact me. Then I talk to those like a regular person. If the system is designed optimally, it should be inherently supportive and most people won't need help. But it totally depends on your specific business and goals, which you didn't explain.
Ask HN: Which open source projects have kind, supportive, talented teams?
243 points by mikemajzoub  1 day ago   273 comments top 117
unvs 1 day ago 4 replies      
Elixir and its ecosystem (plug, ecto and phoenix) has been above and beyond every time I've contributed. Helpful, patient and kind, and also very smart guys.





forgottenpass 1 day ago 3 replies      
Find the projects that speak to you then check in on the communities. Contributing to open source is first and foremost _work_. A community can turn you off from participating, but the motivation to contribute only comes from the product.

And you might be surprised at the difference between what it's like to contribute to any random project compared to what a "news" blogger that needs to generate hits wants you to think the average project is like.

rwallace 1 day ago 2 replies      
To answer the question asked: I've been on the LLVM mailing list for a few months now, and been highly impressed both by the technical quality of the project and by the competence and supportiveness of the people involved.

To address a meta-question: I disagree with the people who claim that you shouldn't contribute to a project for any reason other than intrinsic interest in the product itself. Most people, after all, work for extrinsic reasons; it's a normal part of life. There is nothing wrong with contributing to an open source project to improve your programming skills, boost your resume or pay some of your karmic debt to your species for the gift of your life. These are all valid reasons, and all are flexible regarding the specific nature of the project.

carloselhalabi 1 day ago 2 replies      
Have you heard of Mozilla? http://mozilla.org

I'm a Mozillian myself and I can tell you I wouldn't have been one if the community wouldn't have showed me such a great and kind support since the first minute I decided to step in a introduce myself. Plus we breathe OSS and have multiple talents of every kind.

Mozilla works serving, promoting and protecting the Open Web, and provides the tools to do so by ourselves. Firefox is -mostly- a community effort, with translators, designers, and coders from all around the world.

If you decide to join, feel free to say Hi in the forums of the community: https://discourse.mozilla-community.org/

Zyst 1 day ago 0 replies      
Getting involved with open source should likely not be done of how a community is, but rather because you love the product itself, and want to make it better. If the community is nice, that's a huge plus, but in my opinion it should not really be a deciding factor unless the community is outright hostile.

Just try to ask in general, see applications you use frequently: Desktop, web, and browser based. Programming languages, and websites you find yourself in frequently. See if any of those are open source, and then send the author(s) an email, ask if they accept contributions.

Do make sure to ask, I've had cases where I asked an author if they accepted PRs in general, and the response was "I'm sorry no, I would much rather maintain full control over the codebase", which is perfectly fine, in general, find something you are passionate about, and then try to help.

I would really advise against starting open source contributions just for the sake of contributing to open source.

When you go into a project the existing contributors will likely have to spend time, and effort grooming you into someone who can properly navigate the code base, in my experience people who join a project just for the sake of joining something, or because they want to have "Contribute to Open software in my free time" in their resume tend to drop out pretty frequently, and it's just painful for all parties involved.

geerlingguy 1 day ago 3 replies      
Drupal's community is what got me into OSS, even though the language (PHP) community seems to be at a strange crossroads currently.

I've also been somewhat involved in Ansible's community, and it's been nothing but a positive experience so far.

It's interesting to compare some of the different communities; some seem to value technical competence over diversity, some UX over architecture, etc. It's probably easiest to dip your toes in the water and just make sure you can get help early onjump into IRC or forums and see how people react to some initial questions you have about the project.

hoorayimhelping 1 day ago 1 reply      
React. I'm constantly impressed by Ben Alpert's[1] patience and response time and ability to answer questions all over the internet.

1. http://stackoverflow.com/tags/reactjs/topusers

gmac 1 day ago 4 replies      
PostgreSQL (I've always been hugely impressed by the team, though not myself a contributor).
scrollaway 1 day ago 1 reply      
I'm the lead for LXQt, the Qt-based desktop environment: http://lxqt.org/

I'm very happy to say that everyone on our team is kind and supportive. I'm also happy to say this is not a unique trait of our team, it's something you'll see in a lot of open source projects.

Feel free to shoot me an email (in my profile) if you're interested in LXQt.

lambdafunc 1 hour ago 0 replies      
Surprised that no one mentioned Facebook's Presto project: https://github.com/facebook/presto

Presto team is just awesome.

shmerl 1 day ago 2 replies      
Rust has a great community: https://www.rust-lang.org
philip1209 1 day ago 0 replies      
The JuliaOpt / JuMP (Julia for Mathematical Programming) team has been responsive and supportive. When I file a Github issue at a random hour, they respond in minutes. The quality of code and testing is outstanding, and frankly for a project started in academia that's rare. In the dynamic world of pre-1.0 Julia, they've set the standard for 3rd party libraries, accommodated deprecations from the language immediately as versions change, and overall driven the advancement of scientific computing.


Edit: Here's a great example of the JuMP team debugging somebody's particular script, running it, and benchmarking it - all because somebody filed a Github issue. https://github.com/JuliaOpt/JuMP.jl/issues/614

jensnockert 1 day ago 5 replies      
Rust is generally awesome.
dhanush 1 day ago 0 replies      
The ZeroMQ community is incredibly supportive towards newcomers and existing members alike. And ofcourse the people of the community are really smart, because you dont build a scalable and lightweight (and popular) messaging framework unless you are smart.

I have pitched in with a few (simple) commits once in a while and am looking to contribute more regularly.

Here's all the code: http://github.com/zeromq/

And a very comprehensive guide: http://zguide.zeromq.org/page:all

And, the contribution process followed is known as C4: http://rfc.zeromq.org/spec:22

You can get in touch via IRC, which is #zeromq on irc.freenode.net ; Try to linger around after asking your questions, and someone would eventually respond.

You may also send in your queries to the ZeroMQ mailing list. (http://lists.zeromq.org/mailman/listinfo/zeromq-dev)

Some of us also hang out in the #zeromq channel in the Slack group for Golang: http://gophers.slack.com/

nemesisrobot 1 day ago 0 replies      
I've made small code contributions to Firefox and Servo, both Mozilla projects, and I have nothing but good things to say about everyone involved with the two projects. As a newcomer to both, the respective teams were very welcoming, helpful, and most of all, patient especially during the review process.
otakucode 1 day ago 0 replies      
I've contributed to a few Python projects, and the experience I had with the IPython and beets groups both stand out in my mind as very friendly. The patch I contributed to IPython was vanishingly trivial. It removed an unnecessary function call in a code path that wasn't even performance-sensitive (I just stumbled on it when looking into a more complex issue). I would have understood if the patch just lingered without being looked at for ages. It didn't address an existing issue, didn't impact the correctness of the code, and barely had any consequence to performance. But, it was quickly reviewed and accepted and the maintainers were thankful to have my contribution. I was very pleasantly surprised, and will certainly consider contributing to their project again when I have time. Likewise, I ran into a bug in the beets MP3 tagging/collection manager and was able to report the issue, discuss it with the author and other contributors to determine the preferred way to handle the situation, create a new unit test and fix, and get it accepted all within a couple of days. Everyone I spoke with was very inviting and helpful. I hope to be able to help them again in the future as well!
espeed 1 day ago 0 replies      
Apache Tinkerpop: https://tinkerpop.incubator.apache.org

The TinkerPop project is thoroughly documented, questions in the user groups are answered fast, and the R&D keeps pushing the space forward. For example, check out this new paper by Marko Rodriguez (TinkerPop founder and creator of the Gremlin graph programming language):

"Quantum Walks with Gremlin" http://arxiv.org/pdf/1511.06278v1.pdf

Here's a quote from a community member:

 Something like 13 yrs ago, I was trying to do server-side Java. It was a nightmare, until I discovered a thing called Apache JServ. It was simple, elegant and the developer group was wonderfully supportive and well organized. Just as with JServ, way back then, Tinkerpop has all the same characteristics, and gives me the same feeling of having hit on something really valuable that will take me a long way. Well ... JServ morphed into TomCat, and I've used it consistently ever since. I'm confident Tinkerpop is going the same way, so I'm only too pleased to help where I can. Sincerest regards, Hasan
Source: https://groups.google.com/d/msg/gremlin-users/pF577035UpY/M7...

Disclaimer: I am a TinkerPop contributor.

virtualsue 1 day ago 3 replies      
The Perl 6 development team is generally good-natured and work to be pleasant to each other and newcomers. http://perl6.org/
segmondy 1 day ago 1 reply      
The open source project that needs you are the very ones that are unkind, not supportive with less talented teams.Someone needs to join them and lead, to show kindness, to teach how to be supportive of newbies, and to bring talent.
beagle3 1 day ago 0 replies      
Off the top of my head:

 Ansible FLTK SCons (when I used it. I wouldn't recommend the project, but I do recommend the community) Nim Python ffmpeg (mostly supportive, but expect you to be mannered too)

mightybyte 1 day ago 1 reply      
I've always found the Haskell community very helpful and willing to go to great lengths to explain complicated concepts to newcomers.
erichmond 1 day ago 2 replies      
Can't recommend http://www.onyxplatform.org/ highly enough. Tight core of extremely talented and passionate engineers who are working on an exciting project in a more exciting space.
kfogel 1 day ago 3 replies      
Visit https://openhatch.org/ -- they exist to match people with good open source projects. Good luck!
aedocw 1 day ago 0 replies      
I would encourage you to check out OpenStack[1]. As a community we are trying really hard to be welcoming and helpful to new contributors.


harlowja 1 day ago 0 replies      
I'm biased, but I'll say some stuff I work on and stuff that is general integrated into the openstack (and greater python) ecosystem(s) (each project in openstack IMHO has its own culture, so you may need to explore to find a match for you).



Any of the other libraries on:


We (myself and the rest of the oslo team) try to be friendly folks so feel free to drop by on freenode at the #openstack-oslo channel.

Other openstack projects:


ianjorgensen 1 day ago 0 replies      
Nightscout. Software for people with and affected by Type 1 diabetes by people with and affected by Type 1 diabetes. https://github.com/nightscout
jimhefferon 1 day ago 0 replies      
TeX Live https://www.tug.org/texlive/ people are awesome, the output is very widely used, and here for the long haul.
faddat 1 day ago 0 replies      
Awesome open source crews:

* Rancher - https://github.com/rancher * Weave - https://github.com/weave.works * OpenStack (IRC) - irc.freenode.net #openstack * Kubernetes - https://github.com/kubernetes/kubernetes * Docker - https://github.com/docker * EmileVague - https://github.com/EmileVauge/traefik * Enspiral - enspiral.com * MetaMaps - metamaps.cc

....That's an incomplete list of projects whose teams have put up with me, and even gone so far as to ask for more. I've worked in OSS for a little over a year now, and I can heartily say that I haven't regretted the decision once.

viraptor 1 day ago 0 replies      
From my (limited) experience, I've been impressed wherever I interacted with developers of: python-requests, salt, rust.
johnnycarcin 1 day ago 0 replies      
The people working on the redox project have been awesome the times I have interacted with them and can always use additional hands. Everyone there seems to buy into the common goal idea.https://github.com/redox-os
maxdemarzi 1 day ago 0 replies      
Neo4j welcomes direct and indirect(drivers, frameworks, examples) contributors with open arms. Lots of our employees were community members first.
mbilker 1 day ago 1 reply      

I really do enjoy the Nylas team and are well receiving of any issues I find or any support I need developing a plugin.

pegasos1 1 day ago 0 replies      
Rust language! One of the most supportive groups I've ever been involved with.
trishume 1 day ago 1 reply      

Great community, has a very friendly Gitter chat room where people collaborate, very nice maintainer as well.

shurcooL 1 day ago 0 replies      
I'm not seeing this mentioned at the top level, so I'll say it. I'm impressed with the team and community of Go:


A few great points:



It's the first language/open source project for me that I consider having "the" community, or at least one I care about being a large part of. I was mostly doing C++ before Go, and that didn't feel like something that had a single unified community around - there might've been many different ones.

But yeah, I've really been enjoying Go, its community and the project's future prospects.

ariestiyansyah 1 day ago 1 reply      
Why not start contribute to Mozilla?


chei0aiV 1 day ago 1 reply      
I've always enjoyed contributing to the Debian community.
dbrecht 1 day ago 0 replies      
I've found that OS communities have largely come a LONG ways over the last few years. Most are helpful and are full of smart, nice people. That said, there are always going to be a few less than cordial people in every crowd.

When picking an OS project to get involved in, there are only two suggestions I have:

1. Make sure there's a fair sized community behind it with > 1 committer (not much worse than getting involved with a project that just dies)2. Make sure it's something that's going to hold your attention for a good while and it's something you're passionate about. Generally, contributing to OS projects isn't really a fly by night thing (of course depending on the level of involvement you're looking for). If you get involved with a project that has a great community but isn't something you're actually passionate about, chances of long term involvement aren't really high.

From personal experience, the Python community has been the most enjoyable for me to date. Filled with academics and hackers, scientists and CRUD so developers, I have yet to see another community filled with such diversity from which comes intelligent, positive discussion and results.

antoviaque 1 day ago 0 replies      
Open edX, the stack powering edX.org, is a very interesting (and useful!) project to contribute to. The community and the reviewers are very friendly. There are byte-sized tasks available to get started, and you will get guidance on the tickets and PRs. It's a large Django code base, and changes you make impact millions of students within a week - as real and concrete as it gets. : )





dragly 1 day ago 0 replies      
Qt and Qt3D. I haven't contributed as much to Qt as I've wanted to, but the little I did was met with support and great mentoring. They are a very talented group.

If you're interested in physics, mathematics or other sciences, I'd recommend SciPy. I attended one of their conferences and met many really nice, kind and talented people. (Open Source conferences and meet-ups are a great way to get to know people and kick-starting contributions.)

caseysoftware 1 day ago 0 replies      
It's hard to just "pick a project" and start contributing. You need a little bit of passion, excitement, or just plain need. Look at the tools that you already use and depend on and start there.

Odds are you know how to set them up, configure a few things, and the like. In most cases, a few pull requests to the docs are not just welcome but greatly appreciated.

(I've been managing projects since 2007 and participating since 2001.)

burkemw3 1 day ago 0 replies      
I've been impressed with working on [syncthing][]. The team is very open to discuss anything that comes up, which makes it easier for me to tackle things.

I've also been impressed with the user experience of the product. Installation and configuration was much easier than I expected, and then it just runs!

[syncthing]: https://syncthing.net/

richardboegli 1 day ago 1 reply      
Epic's Unreal Engine 4 team and the community around it is an amazing kind, supportive, friendly and talented group of people.


Its one of the reasons I got back into game dev and chose to use this engine.

The engine itself is state-of-the-art and the improvements per each release is AWESOME.

As the engine is a commercial offering that is open source, there are a lot of people involved. This makes it easier for new people to get onboard.They twitch on a biweekly basishttp://twitch.tv/unrealengine/

Have a look at the last two release notes for an example of what they get up too.



If I recall correctly, 4.11 is more a stability release then feature release. It is the release currently being developed. Check out the Trello board to see what features are being developed where


I'd advise to sign up for an account, link your github account, have a look through and join the forums.

I've got the same account name on there if you have any questions.

mohit 1 day ago 0 replies      
Apache Mesos and it's ecosystem (Apache Aurora, Marathon, Apache Myriad, Chronos etc.) has been the most kind, supportive and talented ecosystem of open-source projects.

It's a community of individuals who are very talented, patient, helpful and inviting.

Disclaimer: I work at Mesosphere, and one of the co-founders of Apache Myriad.

jrimclean 1 day ago 0 replies      
If you're into games at all, I would highly recommend the Godot Game Engine (http://www.godotengine.org). They are very active on IRC and in the forums. If you have a question, you'll almost certainly get an answer. They are also are very welcoming of contributions.
jondubois 1 day ago 0 replies      
I think the SocketCluster community meets this description (I'm the main author). Especially on the kind/supportive side. It's relatively small (about 60 people in our chat group), we are not supported by VC funding of any kind so everyone is just doing it for fun (and to please the community). Based on the experience I've had using Gitter (chat) to get assistance on other projects, I'd say our helping/chat culture is among the best.

Also if you have a truly good idea, it will be heard and implemented.


Gitter (chat):https://gitter.im/SocketCluster/socketcluster

I think this 'niceness' comes from being a small, dedicated, growing community based around learning and having fun. If the community is already large and successful, you will just be a small cog in a big machine.

DasIch 1 day ago 2 replies      
stratigos 1 day ago 0 replies      
usenetthrowa 1 day ago 0 replies      
FreeBSD has a kind, international team of developers. It may be a scary project to contribute to for beginners to open source because it is an operating system, and people have some apprehension about improving operating systems.
mattezell 1 day ago 0 replies      
Relative 'new comers' to the block, the Ionic Framework has an amazing hands on team behind it and the community as a whole is fantastic. http://ionicframework.com
riadhtn 1 day ago 0 replies      
Mozilla:Firefox accounts content server is for example very awesome with an amazing team and a lot of bus for beginners


kencausey 1 day ago 0 replies      
I found the community around Squeak (http://www.squeak.org/) to be extremely pleasant and supportive some years ago. I suspect the offshoot community around Pharo is similar.
suls 1 day ago 0 replies      
veritas3241 1 day ago 0 replies      
I'm pretty partial to RethinkDB. They were my first contribution to OSS.
mplewis 1 day ago 0 replies      
PlatformIO: https://github.com/platformio/platformio

The author has gotten involved personally to help me with issues I was seeing. He provided advice on architecture and use case, and he does an extremely good job of keeping the product current.


jedanbik 1 day ago 1 reply      
Scikit-learn is pretty great.

Very appreciative, smart, and plenty of room for beginners.

dedosk 1 day ago 1 reply      
www.KDE.org in general, Krita team is considered very friendly and supportive.
binarycrusader 1 day ago 0 replies      
From my experience, SDL, Ogre3D, and Dragonfly BSD were great. There are other projects I've made contributions to, but many of them are a lot more challenging to engage with.
jeena 1 day ago 0 replies      
It is a bit more than a open source project, but I really like the community around the https://indiewebcamp.com

I wrote in more detail about it half a year ago: https://jeena.net/indiewebcamp-2015

plinkplonk 1 day ago 0 replies      

Talent off the charts. Very nice people, and very supportive.

jlarocco 1 day ago 0 replies      
The reasoning behind that question doesn't make any sense. The idea of contributing to a project that you're not personally interested in, solely based on an external reason seems wrong to me. That's true for-pay software development, but is even more true when it comes to open source development.

I think you'd be a lot better off looking at projects you are currently using, or in areas that are interesting to you, and hanging out in their IRC channels, reading their mailing lists for a while, checking their bug tracker, and tinkering with their code.

At the very least, you should clarify how you want to help out, what you're interested in doing, and what your skill set is.

The way it's phrased right now, you'd get more meaningful answers just randomly clicking projects on GitHub.

pma 1 day ago 0 replies      
Most open source project teams are decent except Mozilla,which is vindictive at best.
joeysim 1 day ago 1 reply      
I recommend looking into re:dash, which is an amazing and widely used data collaboration tool for your data. Arik Fraimovich is doing a great work with a growing community of contributors.


Disclaimer: I'm the founder of EverythingMe, re:dash was born in one of our hackathons but have since become its own beast.

jordigh 1 day ago 0 replies      
Octave and Mercurial. I'm involved in both. Come by, and if I see anybody being even slightly unpleasant, I'll be sure to call them out and help you feel welcome.
hakanderyal 1 day ago 0 replies      
If you are interested in javascript, rackt[1] team is working on awesome stuff.

[1]: https://github.com/rackt

PuffinBlue 1 day ago 0 replies      
Hugo[1,2] is pretty nice. Very responsive team too.

I like the discuss forum[3] they have, it's not particularly high volume and people are pretty good to each other.

[1] http://gohugo.io/

[2] https://github.com/spf13/hugo

[3] https://discuss.gohugo.io/

aortega 1 day ago 2 replies      
nsfmc 1 day ago 0 replies      
i had a fantastic time contributing some code to the ghost.org blog platform. they are incredibly well managed, fantastically transparent, and provide a great deal of support for people contributing to the codebase. very much an a+++++++ would contribute again situation.

Probably the thing that sets any receptive project is its ability to identify areas where it needs help and setting aside well defined (and documented) projects in those areas. In many projects, there's lots of work needed to be done but the priorities aren't obvious and so lots of contributions get left on the floor because they're just not in any way priorities for the active maintainers. it takes lots of work and maturity for a project to advertise this sort of stuff which is why these situations seem few and far between.

Regardless, try to invest time in filling in the current needs of projects rather than unsolicited work. some unsolicited work (bugfixes) is easily accepted, but features are often hard to incorporate especially if they're not aligned with the short term goals of the project.

jnardiello 1 day ago 0 replies      
No doubts: Elixir :)

Hope it helps

mtgred 1 day ago 0 replies      
Jinteki.net: a platform to play Netrunner in the browser. We welcome contributors and have a Slack where devs can ask questions. Send me an email if you want an invite.



omershapira 1 day ago 0 replies      
openFrameworks is extremely supportive, built from the ground up using volunteers, receives regular contributions by artists giving code back, and is in constant need of quality control (so many platforms to support natively...)


dvirsky 1 day ago 0 replies      
@antirez is all of the above to an amazing extent, however redis is one of the hardest projects to contribute code to from my own experience.

The community is awesome and very friendly and helpful though, and I reckon most of my contribution to redis has been as a community member helping out others or getting involved in discussions of redis' future, which is also a great way to get involved.

i336_ 1 day ago 0 replies      
I'd have to say NetSurf (http://netsurf-browser.org).

I'd barely joined the IRC channel and was discussing UI enhancements when it was mentioned I could have my own branch on their private Git repo server if I wanted :D

That was hugely welcoming, in my book!

daleharvey 1 day ago 0 replies      
I cant say this without bias, but being a welcoming project has been one of my main focuses with http://github.com/pouchdb/pouchdb
billwashere 1 day ago 0 replies      
ScummVM does! - http://scummvm.org/
brchsiao 1 day ago 0 replies      
If you're interested in Python and Lisp, Hy (https://github.com/hylang/hy) is great. They're welcoming and funny.
simulo 1 day ago 0 replies      
The http://hood.ie/ community is nice. Also, I was rather happy with etherpads community: http://etherpad.org/
jeffwidman 1 day ago 0 replies      
SQLAlchemy - Great docs, well programmed, very extensible/flexible/powerful.
rmason 1 day ago 0 replies      
Lucee has a very active community and there isn't the division and disagreement I've seen in other projects.


wineisamazing 1 day ago 0 replies      
Wine's an amazing open source project, a compatibility layer project for running windows applications on POSIX-compliant OS's (OSX, Linux, BSD etc) started 22 years ago and still going strong. The devs are super talented and contributions are always welcome.

I've been contributing there and my so far my personal experience has been positive, fun and challenging at the same time :D

There's literally a ton of different things that you can contribute on and while there is some initial friction in getting patches accepted, they always make sure to point you towards the right direction to get your patch accepted. They also hold annual conferences (wineconf).

Check out their website for more info http://winehq.org/

will_pseudonym 1 day ago 3 replies      
More important to me--Which companies have kind, supportive, talented teams?
lando2319 1 day ago 0 replies      
XVim (XCode Pluggin for VIM-style bindings) https://github.com/XVimProject/XVim
mfholden 1 day ago 0 replies      
If you're interested in code review / project management platforms, the ex-facebookers behind the long-running tool, Phabricator, are awesome.
donatj 1 day ago 0 replies      
CakePHP. I'm not a big fan but when I was working on a project their chat room was the most supportive helpful I've ever seen.
fernly 1 day ago 0 replies      
It's a smaller project, but I've made small contributions to PyInstaller and found the lead people to be very agreeable.
jlukic 1 day ago 0 replies      
In the author of Semantic UI, if you're interested in working on the project you can always email me personally and start a dialog jack@semantic-ui.com
tymekpavel 1 day ago 0 replies      
GraphLab and Spark.
applerebel 1 day ago 0 replies      
Ruby for sure. Amazing community with super awesome OSS software.
kristopolous 1 day ago 0 replies      
I try to be excessively polite but I preside over a diaspora as opposed to a proper community.
Ernestas 1 day ago 1 reply      
Whole Clojure and ClojureScript ecosystem.
1971genocide 1 day ago 0 replies      
The open source world is flouring in 2015.

There is no shortage of amazing teams working on amazing projects on the web.

Its hard to single out just one of them - so its best if we could know more about your background.

If you are unable to find anything that is good enough then just start your own !

Do not be be demotivated - as long as you find it useful - someone else somewhere will also find it useful.

Even simple logging libraries have their audience.

So good luck !

purpleidea 1 day ago 0 replies      
Oh-My-Vagrant does: https://github.com/purpleidea/oh-my-vagrantDisclaimer: I started the project though!
srathi 1 day ago 0 replies      
Samba has a very supportive and vibrant team [0].

[0] www.samba.org

kmfrk 1 day ago 0 replies      
The Jekyll folks are always nice and chipper. And disgustingly productive. :)
fevangelou 1 day ago 0 replies      
You'd expect someone would mention Joomla already. But...
reitanqild 1 day ago 0 replies      
Netbeans and dokku are two nice ones as far as I understand
geppy 1 day ago 0 replies      
Elm and Blockly.
insulanian 1 day ago 0 replies      
orionblastar 1 day ago 0 replies      
Right now ReactOS is doing better because they used Indiegogo funding to hire better developers:http://community.reactos.org/index.php/news/years-progress-t...

I tried to post a link to ReactOS via submit to find out I got the "Whoa you're submitting too fast" message, so I lost submit privileges somehow. I apologize if I submitted anything wrong.

Creating a free and open source alternative to Windows that uses Windows apps and Drivers, one that isn't based on Linux is really hard and need really talented people to keep compatibility with Windows.

I think when their 0.4 release is available, it will do better than the 0.3 releases. With Windows 10 giving people privacy concerns there needs to be an alternative that runs Windows apps to compete with Windows that uses Windows drivers.

They just got Steam to work with it and if they get some of the Dotnet libraries and DirectX to run some of the video games, they can put a dent into Microsoft Windows usage.


Yeah I know can run WINE with Linux, but ReactOS is targeted at people who can't figure out Linux but want a Windows type OS.

doppp 1 day ago 0 replies      
The Haxe community is pretty awesome! :)
lucasvr 1 day ago 0 replies      
The team at GoboLinux.org is awesome ;)
neelkadia 1 day ago 0 replies      
Android !!
marknadal 1 day ago 0 replies      
This is the ideal we are striving for at https://github.com/amark/gun , and I hope our https://gitter.im/amark/gun is evidence of that.

We're an Open Source Firebase, with graph data structures and a decentralized architecture. Please give us an email so we can help, mine is mark@gunDB.io .

nickysielicki 1 day ago 0 replies      
In general I think that projects that use gerrit are the easiest to get involved with.
kang 1 day ago 0 replies      
dllthomas 1 day ago 0 replies      
Snowdrift.coop is very welcoming.
SFjulie1 1 day ago 1 reply      
The day open source will be kind is the day there will be no more discussions.

When there is no more discussions and everything looks nice the project as either became proprietary (apache, mysql, nginx), mummified dead (tex) or religious dead (GNU+HURD), or soon to be kind of proprietary (mongodb) or dead of shame (rails) or dead by tyranny (openBSD) or it is a zombie (perl6) or dead from laughing (agile) or dead by bloat (node, angular, react, riak).

Well, Choose 2/3kind & supportiveopen sourcealive

For example the consensus on PHP is vastly due to either true pro making real money out of fixing the mess of PHP spaghetti code, and people having real better tools to make better code.

PHP is thus a good example of a dead project that ignores it.

PHP is quantically dead.

mholt 1 day ago 0 replies      
Check out #FreeSoftwareFriday on Twitter for praise of great open source projects.
juanmatt 1 day ago 0 replies      
alexfisher 1 day ago 0 replies      
franzunix 1 day ago 0 replies      
I think it depends on you background, I'm trying to support this project: https://github.com/franzejr/best-ruby
szadok 1 day ago 0 replies      
Theforeman -Foreman is a complete lifecycle management tool for physical and virtual servers.theforeman.orggithub.com/theforeman
jstoiko 1 day ago 0 replies      
Aren't these mandatory qualities in the open source world?

If you enjoy Python, RESTish APIs and all sorts of database backends, you can checkout http://Ramses.tech a project that I'm involved with.

       cached 30 November 2015 21:05:01 GMT