For example a very good designer or visionary could see the forest but finds it very hard to face each individual tree. There are other people that can't see the forest by themselves but are extremely efficient working on tree after tree.
You just join them together and magic happens.
It is a terrible thing that our educational system favors so much individualism, even when most important work(Nobel prices, great products or services) are done in teams.
When someone starts too many projects but finish none, for me is a symptom that he simply can't finish it alone. In my company I have gotten practice on making people finish things.
This is probably the biggest thing Silicon Valley has, there is always someone who can help you and you help her too.
Also there are schools where children are free to do anything during school time including entering/leaving any lecture or activity at will at any moment. Yet there are no indications that on average it makes those that attend such schools any worse in a later life 
Why? Her resume shows she graduated college at age 12. Well Hells bells, señorita, if I was a genius like that getting hired at Google would be (more of a) cinch for me, too.
It is very unlikely that this decade of taming has no impact whatsoever on future working behaviours, and not explaining (at least partly) the american individualism you speak of. Competing for grades through individual work, the traditional school model imported from Western Europe, might indeed breed individualism and competition. As could a ruthless school environment of punishing and policing could steer a children toward antisocial behaviours.
Mainstream educational theories suggest project-based education as a way to teach teamwork, but critiques suggest it can be distressing and yield lesser results with students already struggling with learning school knowledge.
TL;DR: The studies cited does do not prove the point: it is very unlikely that schooling has no impact on working behaviours.
To tackle the question of widespread functional illiteracy, it is necessary to open the Pandora Box of social inequality, as it is generally accepted that the most important variable to predict school performance is the parent's (mother's) level of education.
Well, in Google employees. Which belong to that 1% of the 1% ... etc (and not to mention that many Googlers did not go to school in the US)
Yet, even if they just found that the difference between 99% grade and 100% grade did not translate to the workplace, that's an interesting result. It's not something I would have guessed at with confidence.
> It may seem that US educational system favour individualism, but there are no indications that it has any significant consequences. Google failed to find correlations between performance at college and performance at work
These aren't incompatible ideas.
You can drill into kids the idea of the lone genius fixing the world (Newton, Thomas Edison, Albert Einstein, political figures like Thomas Jefferson and FDR) ignoring the history and vast apparatus that supported them, and you can fail to teach them how to effectively work in teams.
As long as you don't grade these things directly (which would be extremely difficult anyways), you wouldn't expect a correlation between a student's opinion on individualism and their grade.
The thing is that one cannot. Or at least there are no idications that those drills have any significant effect on a later life fading away pretty quickly a year or two after school/college. At best during those drills children learn from teacher behaviour, not words. I.e. they learn how to force others to do things they do not understand or need.
You could equivalently say that scores in any particular subject in school don't correlate with success after school, which is usually true. But it doesn't follow that net success wouldn't change if that subject was taught better: not only would you be teaching different techniques than is measured in that correlation, but you also have network effects when more people are trained in something.
An easy example of this is the topic at hand: software development as part of a team, which many schools don't teach (or don't teach well), but is a skill picked up quickly (hopefully) when entering a job with more than a handful of developers. I'm not talking pair programming or anything specific, just generally being able to develop software with other people.
Here you have something that isn't measured at many schools and is important to success at many companies. So you'd find no correlation between the two, but better developed experience would undoubtedly help the worker and the team in that situation (whether or not that's a skill best learned in school vs on the job is a different question).
> At best during those drills children learn from teacher behaviour, not words
Your apparently data-based argument is wandering into gut feelings, but this is what I was talking about. If a teacher lionizes Albert Einstein for single-handedly saving humanity from 19th century luminiferous aethers and inventing the atomic bomb, the idea that progress is only made by hermit inventors is going to continue to propagate. People are born to be math geniuses, they don't have to work at it, etc.
As for teachers lionizing something, then consider that in Soviet Union in school and university one was constantly subject to drills about Communist Party. It did not help the idea to survive at all.
It's tough to be a finisher, in just about anything. The Bible calls the concept of finishing "perseverance". So whether it is running a race, a personal project, spiritual patience... it's just tough to finish anything.
You get to that point where you've got most of the validation you wanted from doing something, but there's still energy to be invested or an obstacle to overcome.
I think the art of finishing lies in realizing that what is of true value is the doing of the work... Not so much the outcome or end goal that you desire from the work, but the faithful daily investment of energy towards that goal... That's what really matters, because if we're honest, we don't really control whether or not we finish something.
Part of the problem that most capitalist societies deal with is that value is perceived largely through how much money it is worth, which is an external measure of value. The insight is that we cannot allow our internal measure of worth to be dictated by how much it's externally worth; we have to define that internal sense of worth by and for ourselves. We have to be able to say, "this project is worth something to me because I invested my time and effort into it, and if it's not worth something to you, that's OK too, because I don't get to dictate to you what something is worth to you just because I devoted my energy to it, but in the meantime, my energy is worth something to me, and as such devoting my energy into a project makes it worth something to me, and that makes the daily effort Good."
Just to be clear this sounds intuitive but there's no underlying truth to how good work is done. John Nash and Tesla were crazy and were also at times very solitary thinkers. On the other hand, Edison was hailed as a creative genius but much of his work was done in a team laboratory setting.
I am incredibly glad that the US fosters the individualism it does. You're probably able to make that comment on this message board because of it. That's not to say it doesn't have (major) flaws with people thinking they are the next coming of Alexander because they built a web app and forgetting the role that groups play in building individuals. However, I would absolutely hate to try and force creativity through a force socialization - we need more ways of thinking and doing and not less.
I think even your wording says a lot:
moments I had happened when I created my first company and realized how important joining people of different personalities together is in order to make them prosper.
You are one type of thinker - but even here you are tempted to push that way of working onto others because it's the way to get things done (valid!). On the other hand, some people's productivity will plummet when they are forced to work and hate even the sentiment of joining people of different personalities together is in order to make them prosper - you could see someone hearing that from above resenting it.
Does our educational system favor individualism? My entire educational career was spent battling against enforced collaboration and group work, aka, get the smart kid to teach the rest of the dubs and do their work for them.
Fostering love of solo work and resentment of collaboration might be a side-effect of such practices, but somehow I don't think that's the intention.
I bet the one-room school house fostered the prosperity you mentioned.
Cooperative learning is what I think you are describing:
Do you recall doing group projects in school ever? I do. They're poorly designed by faculty, most of whom have little experience other than working alone all day in front of a class of 30.
Individuals are graded as a group, so the group average quality affects your individual grade. And with little way of enforcing norms, the group average effort also affects your individual grade. A clever shirker will reveal themselves early enough to motivate their teammates into covering their missing contribution.
There's techniques to mitigate this, but I'd say 1 in 10 faculty cares about this, 2 in 10 heard that group work is critical to industry and the other 8 just figure grading 6 group projects is easier than grading 30.
And they are poorly executed by students because they don't really have anything like a job at stake.
I don't do group classes when I teach. There is no way for me as the "manager" to actually impact the group dynamics. So, grading 6 groups is WAY harder than 30 individuals.
However, I make sure that assignments build on one another. By the end of the semester, practically every student curses themselves for how crappy the code they wrote at the beginning of the semester was.
Nothing drives home why you should write better code than being both the producer and consumer of crappy code.
We'll even have times where we put people in teams, but then they still get judged individually. Completely ignoring that a failed team is just that, a failed team. Not a team of failures.
I have no idea where you got that idea from. Everything is set up for everyone to do exactly the same thing in exactly the same way with group projects where everyone passes or everyone fails with no regard to the individual effort put into it.
However there is another side to the coin.
The tldr is that Some things are better left unfinished.
The longer version:
Some projects are just experiments and learning exercises, even though at the moment we feel like this is going to change the world (note: the world will change anyway).
The reality is that there's just too much stuff - physical products or digital applications, music or movies - it's just too much shit out there !
And not all of it is good, in fact, as with anything - most of it is crap which only adds to the cognitive noise or pollutes the environment.
Why should you contribute your half-assed idea/project/product to the ocean of useless things, apps, art that's out there ?
If during the initial phase of development you don't have a clear answer to this question, then it is OK to abandon it and move on to something else.
There's no shame in accepting that most of the time we have shitty ideas. By "idea" I mean not just the actual technical stuff, but the whole "build a company" ideation that goes along with it - how you're going to get rich and get invited to TV shows, write blog posts which millions retweet and shit like that. A lot of young people unfortunately bet their youth and mental health on trying to prove otherwise.
Creative energy is very similar to (if not the same as) sexual energy. It's something that just 'grows' inside us and it must be released.
But not all of the sexual energy should be used for its intended purpose - creating new humans - otherwise we'd quickly run out of space on the Planet.
Sometimes it is ok to just 'vent' and waste a little bit of that energy in order to make room for fresh 'energy' :).
So it's ok to just "masturbate" intellectually from time to time without actually finishing it.
Career-wise, you probably want to finish one or two, maybe several projects in your life.
How many of us have struggled with something complicated and found some golden function or bit of code hidden inside some otherwise useless project that solves the problem? Even if you don't use such code it can still be incredibly useful for understanding how things work.
I often rip out the useful bits of unfinished/unreleased projects and just paste them to gist.github.com. Some of them have received comments like, "I don't know where this came from but it's exactly what I was looking for! Thank you!"
Posting your whole useless project can be helpful.
For this reason, I'm increasingly moving my code off Github and onto Bitbucket. Despite having a worse UI, Bitbucket at least allows me to make private repositories for free, which means that I can make repos public if and only if I think it's ready for an interviewer to look at it.
I think a better exercise would be "wrapping up" project that would otherwise sit on finished as quickly and dirtily as possible. If the project is failing, or you've expended its usefulness, Force yourself to "finish" in some way or another, just so it can be "done".
For instance, I had "Learn how to use bash properly". Well, what does that mean? When is that finished? It never is. Now, that project is called "Read 'Learning the bash shell'".
Immediately, that's attainable. When I've finished reading the book, perhaps I'll want to do more, perhaps I won't. But at least I know that I'll have completed that project.
Just learn to use it when you need it, or when you have a task, where you suspect that it might be faster done in bash.
I remember reading a book about the Shell and bash 15 years ago. It was the only book I read about the topic, but it helped me a great deal to develop an intuition about what it can do.
Didn't prevent me though from getting sometimes lost in crafting complex scripts, where manual work or a java-program would have been faster.
Maybe the most important thing to learn about shell scripting is when not to use it. Alas, if the book that teaches that skill has been written, I have yet to run across it.
As an exercise, try replacing bash / shell scripting with SQL or C or Python. This is the fallacy in your argument :)
> " Just because you're not super proficient [...] As an exercise [...] This is the fallacy in your argument "
This assumption of missing knowledge and handing out of an "exercise" in logical thinking comes across rather patronising.
Also I'm not sure where the argument was, that you found a fallacy in.
Thank you for your contribution, nevertheless. I too believe that the decision on whether to use a tool or not, depends on your knowledge about it.
In defense of their side of things, there will be important things in that book that they might never think to try to learn and that might not come up during internet searches for specific problems.
Both sides have merit, IMO.
But what I actually wanted to point out is that learning bash doesn't seem to have a giant appeal to OP. If it had, he wouldn't put it off on a todo-list.
If you don't feel like to sit down and learn and entire topic for the fun of it, it's better to do it piece by piece.
When I stress about delivering on larger expectations, I do the GTD task breakdown exercise, and trust that the assembled "whole" will be fine if the "parts" are solid and of high quality.
Taskpaper is almost right but orgmode has few additions that I really need. Vim-orgmode works better than original orgmode on emacs for me.
In short try to pick something that can be easily migrated unless you want to be tied in ecosystem. There are ogmode clients for iPhone and Android, haven't checked them because I don't need them.
1. The learning you get from going thru whole cycle is valuable for next projects. Even if you release a few turds. Say you release an iOS app as a measure of finish.
For veterans, finishing does not matter because:
1. If you see a piece a piece of turd and not able to say no to it, you will probably be wasting valuable time finishing to save face as the author may suggest.
Is like in war, you need to know when to retreat, and cut losses(save your time and not finish). That's the perplexing part is when to retreat at the right time.
I take much bigger risks with personal projects than career projects. I don't care if 95% or more of them fail or are not completed for good reasons (cost, physically impossible, etc.).
To a great degree, I don't even tell people about the failed personal projects. In fact that's one thing I love about personal projects. With career projects, the most annoying thing to me is that you are forced to tell people (cofounders, employees, investors, customers, family, friends) what you're going to do, and then you have to try to live up to it. With personal projects you don't have to tell anyone. And because you don't tell anyone, you won't be discouraged by anyone. You can set out to build A, and end up building B, or end up building nothing and just having a good time, and you don't have to worry about leaving a bad impression.
If you built A, you say you built A. If you built B, you say you built B. If you built nothing, you say nothing at all. It's awesome. The point is I don't like saying anything until I've actually built something that minimally works.
If you're motivated and disciplined enough, this is an excellent framework for exploration. In particular, the human ego/desire to say something means that I'm motivated to keep at it until I have built something that allows me (under this framework) to say something.
I have discarded many 'side projects', but the lessons learned from those projects have made me a lot more productive in my job. For most projects I don't even feel bad about the time I spent doing them since I had fun figuring out how to implement some of those things.
Take playing sports for example. I like to play football, the kind played with my feet and a ball, not the one played with one's hands and a oval leather air container. This is never 'finished', but doing so I exercise my body, clear my mind and most importantly, I have fun. I see a parallel for one game of football with figuring out how to test some external API in a side project. After discarding the side project (a few games of football) I still know how to test external APIs. Just as playing 1 game of football won't get me any closer to winning the champions league, my condition (skills) are better and I had fun (fun) along the way.
Stop being so hard on yourself.
If you DO want to create a serious company out of your side project it probably IS a good idea not to let yourself get distracted by other fun projects along the way though. Especially if you are juggling a full-time job along side of it.
I used to think like that, but this is a moving point. As long you finish a list of things that you deemed important, many others will replace the old ones and the list actually will never be empty. This feeling of fulfillment will never come.
So I'm doing differently this time in my startup (that was also my side project for a while). I created a funnel and measured everything. I cannot develop anything on top of my head (We, developers, are creative by nature, and it's easy to find a myriad of interesting new features). The new feature needs to come from data and user feedback only. No exceptions.
The funnel is completed and has being measured, then the project is completed. Everything beyond that is just optimization. This was a shift in my mind and I feel much better because I finished the project, instead of constantly open. And of course, this is not a mind tricky. The project is actually completed.
This reminds me of the quote by Henry Ford when he said if he had asked people what they wanted they would have told him "faster horses". Sometimes users don't know what they want till you give it to them.
When I look at myself, coding is great when I learn new things, new APIs, can glue stuff together to create new systems which haven't been there before. Once I master a technology or have to do stuff which was done million times before it gets boring. Then, I rather seek for the next kick, the next API, the next language/framework/lib.
So, having ongoing novelties seems to be an important part of a coder's reward system. This hurts finishing and going the last mile, the most difficult part of a project that is not about facing steady novelties. Often it even means to abandon the shiny new tech and rebuild stuff in some proven tech.
However, the bad is you never finish, the good is you learn all the time. Better than checking Facebook, Instagram and your smartphone 24/7.
This year I'm thinking about only working on projects where I'd actually use the outcome for something. If it's a project for the sake of learning library X, I won't do it. If it's a project to solve problem Y for myself, I'll try and work on that, learning anything I need along the way.
Following the GTD methodologies (it's been a long time habit), a lot of small things get to the bottom of the list while new ones keep coming along, properly prioritizing tasks is the key.
After all, most people can only work on 3-5 tasks in parallel in real life.
I think one of the big traps is convincing yourself part of 'make x to do y' always includes 'learn a new stack' that will be 1% technically-better but 800% slower than what you used last time. Pretty crap optimization if you goal is to launch anything.
I think for developers on HN it's also very easy to build something with the expectation we'll want to discuss it 2 - 3 times a week on the front page for them to get users, neatly solving the business side in advance!
An unripe fruit attracts no birds, they only come when it becomes sweet.
-Ghost In The Shell 2, Innocence
...so set the goal before you start your Pomodo task.
That's what I do.
I choose something I can get done in say and hour and start the task for an hour and try and get it done during this time.
This also gamifies my time, and I have to keep redirecting my focus on the goal. I get shitloads done during this.
During my 10 minute break in between, i'll reflect on the task, decide next goal, etc. And repeat.
Leonardo da Vinci seems to be one of those who procrastinated/thought a lot.
> Having a habit of not finishing your side projects means you are a busy person; not an unproductive one.
The author never came back to the word “productivity” or what that means to him in relation to side projects so I don’t feel like I can say with convection that my re-wording is correct.
> You are both unproductive and busy (both bad)
> You are both unproductive and busy (but busy is okay)
> You are productive but also busy
> You are unproductive because of your busyness
This is hard for me because productivity invokes delivering value. Busyness invokes behaviors that take up time but deliver less value. Conflating these two with out really going into any of their virtues and how they interact with each other seems glossed over.