Ask HN: After almost 30 years the romance is over - What now?
Let me explain where I'm coming from: Probably like most of you, I've been exposed to computers at an early age. My first conscious memory of using a computer is playing the original Pong on a black and white TV at a friends house when I was 6 or 7. Since then I've been hooked. When my father got an Amstrad CPC when I was 10 or so I could spend hours on end playing on it, playing with it, reading up on how it worked, later on copying code listings from magazines and finally deciding to learn to program it myself. There were to many things and concepts to explore, learn and figure out. From there I moved on to PCs, fiddling with hardware, learning about IRQs, IO Ports, memory management. Moving on the programming side from BASIC to Pascal, C and Assembler.
And then discovering Linux and Open Source in the mid 90s. Ever more concepts to explore: How does networking work, what is this crazy web thing and what can be done with it, getting into DNS and mail servers. And at the same time being exposed to new programming languages and paradigms seemingly at every turn: Prolog, Java, Scheme/Lisp, Perl and PHP. And on the system side it seemed like there was a new minor revolution every other week, introducing ever more possibilities: A new kernel, a new samba version, the advent of P2P. And on the cultural side of open source there were lots of competent people freely sharing their ideas, teaching, showing, comparing notes. It was a high energy environment, constantly pushing forward.
My main source of fascination came from the exploring of new concepts, and understanding how everything worked and fit together. I stuck to one topic until I understood it, consequently losing interest and moving on to the next bit to explore (pardon the pun).
I graduated shortly after 9/11 and the dot com bubble bursting. Just narrowly avoiding personal bankrupcy on my first stunt as a freelancer which I ventured into with my youthful optimism/arrogance, I consciously started shutting out everything distracting me from financial recovery and keeping my respective job.
Welcome to the treadmill.
Now, nearly 10 years later I'm having my first real look around in a long time and I'm not terribly happy about what I'm seeing. The Open Source revolution seems to be over; very few new things have happened there in these past years. It's all about maturity and stability now, no longer aggressively pushing forward.
And it seems that the children of the revolution turned the gold to chrome, scrambling to squeeze a buck out of anything a buck can be squeezed out of. Instead of the free sharing of ideas I grew up with, I'm encountering more and more the attitude of a guarded sharing of general topics, but the real knowledge and experience seems to be held back because it has to be regarded as a personal asset that might be used to turn a profit somewhere.
Todays big topics leave me pretty much unenthused. As a not particularly social person I fail to be fascinated by the social web. Mobile internet will be the big thing for the next few years, but for whatever reason I fail to be fascinated by gadgets that are the offspring of cell phones and my pentium from way back, reliving the DOS shareware scene through a centralized distributor. Server side scaling is all about variations on few well known themes: Add another cache/key-value store/nosql store, insert another abstraction layer, data and workload decentralization.
So I'm in a maze of twisty passages, all alike. And they all seem familiar. Is this how deep the rabbit hole goes? Did I really reach the end? Or did I just fall out of the loop at some point in the pas...
120 comments
[ 3.5 ms ] story [ 191 ms ] threadIt feels like the endless potential has been wasted. All of the amazing things we could have done with computers and we used them for like-buttons and lolcats. Wow great, another app to tell people who don't care where I am and what I'm doing at this very moment. I'll try to contain my excitement.
Maybe its just classic burnout or a more troubling creeping pessimism that affects more than just me.
What gives me hope is that these things seem to happen in fits and spurts and the biggest jumps seem to start in the down times and recessions. When they arrive they are fast and unexpected and usually made from bits of the ordinary that had seemed boring and innocuous until put together just right.
It seems like we're about due. I don't know if it will come from open source hardware, desktop manufacturing, DIY biohacking or something I haven't even considered, but I expect it, and soon.
I'm only half joking when I tell people that computers were invented so that my wife and her family and I can sit around drinking margaritas and watching Jan Terri videos on YouTube...
Maybe if you apply your knowledge of computers to new domains the spark will once again be there.
http://github.com
Too true. Some of the newer "open source" projects seem to be run by suits posing as geeks, where the source is open, eventually, but nothing else.
There was actually nothing new learned in free software from a capitalist point of view. "Loss leader", thin and thick margins, it's all been covered before.
I've been having that though lately that opensource software has been killed by Apple and its appstore.
Before the appstore, open source software was the future, and the appstore killed that dream. Now, everybody is coding apps to make money on the app-stores.
IMHO the Open Source revolution _is_ over.
Lots of people using (and maybe even liking) something you built can be pretty compelling.
The main thing I did learn from that entire episode is that I suck at marketing/selling. While trying again is not completely off the table, I would definitely only try it again with a co-founder who is a good sales person.
As others have suggested, instead of being driven by tools/technology maybe focussing on the product can be satisfying.
If only I could make everyone attend church...
I used to get excited about new technology and it did seem that something cool and amazing would come out all the time. Just an endless stream of wow. I just can't get hyped up about some mash up, retread, or social widget. I don't think I've changed I think the industry has.
That isn't really a bad thing though. It is an opportunity. I used to wait in anticipation for someone to come to market with a product or solution I foresaw. That rarely happens now with market driven development. That is the opportunity. Don't languish that the amazement isn't there. Make it. You have the skills. I'm sure you see the deficiencies. The industry is now so stagnant in true innovation, this gives us, the technical entrepreneurs the opportunity to innovate.
How to rekindle the flame? I don't know if this will work for you. This is what I do. I buy a new toy and hack on it. A computer or phone. I find a new programming language or something like pfsense (router) and play with it. Find some software that sucks and build one that doesn't. Scratch an itch.
What itch would I scratch right now if I wasn't busy. I'd build a soft bios driver that would emulate a CD/DVD drive. This would load an emulated CD/DVD driver into a PC bios just like a SAS card loads its driver into the bios. This would allow you to select multiple iso images from a usb drive and then boot to that emulated CD/DVD. Right now you can't really do that.
But in my case, some new and interesting problem always appears before long, benefiting from the use of new and interesting technology. This year it has been mostly NoSQL. Next year it might be something completely different.
Technology by itself is only fascinating for a short while. Finding interesting problems and real-world projects where to use it is the cool part. I consider my own job a great one because the environment and people often make this possible.
However when I did this I was (obviously) in a different mindset, so the experience would be different this time around. I'll have a look into revisiting this aspect.
Don't force it. Let it go until you enjoy it again.
A few things that worked for me:
- Changing to a developer-focused company, where developers aspired to be craftsmen.
- Creating my own app. I can pour my heart into one part of it, no deadlines unless I want them and I learn a million things outside of the code.
- Going to b-school. Lots of ideas/new people, new domains.
- Contracting instead of being full-time. I like the time balance more.
Whatever it was, I rediscovered why I like developing.
http://www.sparkfun.com/commerce/tutorials.php
The nice part about their tutorial is they take you through all of the details such as building you own PCB and other items where some of the kits have all of the electronics built for you. It depends on your interest but I find designing the electronics to be as rewarding as actually programming a micro-controller. I am also the kind of guy that likes to understand ever small detail as well.
Start here: http://www.ganssle.com/startinges.htm ("How to become an embedded geek")
Get yourself a simple all-in-one hardware/firmware environment, like the one my company (Silicon Labs) makes: Look for the "MCUniversity Kit", it's $55, here: http://www.silabs.com/products/mcu/Pages/MCUniversity.aspx
Or check out http://hackaday.com/2010/08/11/how-to-launchpad-programming-... for info about Launchpad, a cheaper, similar solution from TI.
I've actually used Silicon Labs' MCU University kit, and I highly recommend it. I don't get any money directly from it, but Silicon Labs does pay my salary.
http://sourceforge.net/projects/cmiss/ http://www.physiome.org/
there are countless others just use Google. This will help you establish a network of individuals in the industry. Software skills along will not get you that far. You need domain knowledge as well as contacts in the industry.
Maybe I should read up on my differential equations and give Kohonens "Self-Organizing Maps" another whirl, just for kicks.
-Take the blue pill. Stay in wonderland. Pick a technology, any technology. Drive yourself into it deeper. The rabbit hole goes much, much further, than you can imagine.
-Take the red pill, and wake up: the rabbit hole goes the other way, too. On first basis, you have the ever-exploding number of scientific disciplines ( http://www.turtlshel.org/wp-content/uploads/2009/10/43056172... ). Even further, society isn't merely a collection of engineers, and scientist: other people have all kind of different jobs.
Furthermore, they are equally convinced, that their field of choice was the right one; and from their own perspective each one of them was right.
Since you're HN, you might have a particular interest towards this field we call "business". Now, this is not what people around you -who are called "managers" btw- do. A good working definition for engineers is: Business is the ability to actualize a job that needs to be done, on which you're retroactively hired (or fired) by society as a whole. Or, as PG put it: doing stuff what people wants.
Regardless of how you choose, a good partition of it is going to be soul-searching. There are 2 pieces of media I'd strongly recommend for that:
-Randy Pausch Last Lecture [ http://www.youtube.com/watch?v=ji5_MqicxSo], and
-wishcraft, which is a short book, available freely from http://wishcraft.com/.
On an ending note, I feel for you. Every time I've been down to this alley, I always always wished I'd have done it earlier. If anything, you should know this: the direction of your life does not boil down to singular moments, as you've described in your initial post. It's something that must must must be constantly evaluated, and course-corrected based on any new piece of life-data you happen to stumble across. And it's never to late to change things.
http://www.ted.com/talks/elizabeth_gilbert_on_genius.html
(I tend to re-watch that one whenever I feel like I'm stuck in a creative rut, have run out of ideas, or just aren't talented enough to achieve my current artistic goals.)
Also useful advice: Find ways to hang out with a peer group. Try browsing meetup.com in your areas of interest.
What do you do, other than computers? A "hobby" may seem like a lame suggestion but in reality, hobbies is all we have apart from people (and those are harder to come by).
"Instead of the free sharing of ideas...I'm encountering more and more the attitude of a guarded sharing...the real knowledge and experience seems to be held back because it...might be used to turn a profit somewhere"
and
"Todays big topics leave me pretty much unenthused"
I hear a lack of motivation, not for technology, but for the specific purposes to which technology is being put- squeezing a buck out of things.
But you're mistaking the impact that incentive structure has on your motivation for a lack of motivation about the technology itself. It doesn't work that way.
I suggest finding a way to spend time with organizations that have a different incentive structure. Find someone you know and talk to them about how they use technology. It wasn't entirely deliberate, but looking back, I can say I found a way forward when I started working with non-profits and helping at schools.
It takes a little while, but being around people who have a non-financial mission, and then being able to deploy what are still in those areas incredibly useful and rare technical skills- this feeds the motivation engine.
Making money is really important, and it's very visible; the context in which the work happens is invisible, but it's even more important.
So- it may take some time and thinking, but I would advise- stop thinking about the details of the sausage. Server side, client side, mobile, whatever- it's all just sausage.
Think about purpose and incentive structures.
The note you wrote is evidence that this matters to you, and that, like a vitamin deficiency, you're missing the motivation that comes from a different sort of incentive structure.
I would also respectfully disagree about the open source revolution being over. For technical, social, economic reasons, looking at the trend lines, it is very far from over. Open source, free software- this lives in and feeds an ecosystem that is not about making a buck, and there are healthy and growing areas in which these incentives are dominant. That OSS and FS can be consumed by other ecosystems- that's fine, the world as a whole is healthier when you have a balance of both. This is precisely why FS licenses are written as they are- the act of creating a tool to a certain degree has to be agnostic about the uses to which the tool will be put. But OSS and FS are still growing, and gifts are everywhere being created.
Good luck.
Wanna know the biggest difference between you and me? I'm pulled. You're pushed. Let me explain...
I love building stuff. Nothing gives me a bigger rush than getting something working the first time (well almost nothing). But I couldn't care less about the technology. If an abacus, two tin cans on a string, or some BASIC code on a Kaypro II did the job, then that's what I'd use.
What I really care about is how my software is used. And who uses it. There's an endless stream of people who need stuff and an endless stream of problems to solve. For individuals, groups, and businesses. When I encounter a new problem to work on, I use whatever I can apply in my tool box. Sure, I have to upgrade that tool box every so often because I need more to solve my problems, not because I love the toys so much.
You sound like the opposite. You love the toys and look for places to use them.
My suggestion: Take a break from the technology and put yourself in more situations where people can share their problems. This will give real human meaning to the technology. I bet you'll be chomping at the bit to build something for someone in no time. For me, being pulled by a demand motivates much better than being pushed by a supply. Maybe it can be for you too.
I would also like to add that perhaps the reason why it sometimes feels like nothing revolutionary is coming out is that it happens so often now.
[heliodorj] The main motivator and source of satisfaction for software developers is the human aspect, not the technology itself. Is your product making a difference in someone's life?
I think these two statements show a profound misunderstanding of what motivates a lot (if not most) hackers.
What gets a lot of people into this field in the first place, and is a source of major satisfaction, is, "wow, I can make it do this!"
A true hacker will be say things like:
* "I just turned my toaster oven into a TV remote control!"
* "I just made fully-functional web browser using COBOL!"
No one will ever use the above creations, but the satisfaction is still there for person who accomplished them.
I don't think, at least in the early stages, people who go into this field get excited by who or how many people end up using what they did. It's the pure thrill of getting things done that were not possible before that excites these people.
Of course, there is a second source of major satisfaction, which is to see your creation being used by many other people. This is huge, but I think is a distinct source of satisfaction than the one I mentioned above.
The third distinct source of satisfaction is, of course, making a ton of money from your creation.
I don't know about young programmers these days, but, when I was programming my first Amstrad CPC, I was being motivated mostly by the first type of satisfaction: getting this box to do what I wanted it to. The thought of my programs being used by others and making money from them didn't really cross my mind at the time.
Maybe what the author of the OP is starting to miss is the pure thrill of making something new, something exciting. Building another social networking website, even if it gets lots of users, simply isn't technically challenging or exciting (it is extremely challenging from other points of view, but you won't be breaking any new technical ground)
I think the software industry may be going through what others went through before it:
* Airplanes: In the beginning only "hackers" where in on it, trying to make planes get off the ground. In a few decades, most of the major advances had been made, and new people entering the field just wanted to find ways to use the existing technology to make money (e.g. Frequent flyer miles)
* Telephones: In the beginning, there were lots of technical problems with getting great phone quality over landlines. In a few decades, most technical problems were solved, and people came in to use the existing technology to make money (e.g. "Call 555-1234 to hear your horoscope for $3/min")
Maybe something like this is happening with computers today. Most of the major non-AI problems are solved, and now people are coming into the field to use existing technology to make money (e.g. Facebook, Yelp, Groupon, Youtube, etc)
If and when we get to some decent level of AI, the bar will be raised and a whole new set of problems will be attacked. So, AI-type problems (speaker-independent and accent-independent voice recognition, image search, natural language search, translation between languages, etc) seem like a great area to be in for someone who gets a thrill from making something totally new. Unfortunately, the whole AI field seems a bit stagnant at the moment. It will take someone with a totally new take on how to do things to take AI to the next level.
Oh and the next big thing : Skynet
Take a moment, and disregard your technological know-how (the fact that you think you know how it works), and consider Google strictly as a black-box.
Which functionalities of a strong AI have they not delivered (or are not well within the way to be delivering) so far?
Strong AI is artificial intelligence that matches or exceeds human intelligence — the intelligence of a machine that can successfully perform any intellectual task that a human being can
then there are lots of things that Google can't do that many human beings can. For example, when you do an image search, the results are sometimes laughable, and that's because Google doesn't understand image content and just reports results based on the tags on the image or based on surrounding text. Lots of human beings would have understood the search query well enough to not return the results Google returned in many cases. So, Strong AI it ain't
It's also bad at summarizing information. I can get a scattered set of results for lots of topics, but it can't synthesize those results into a nice executive-summary paragraph for me. Never mind even better summarization, like searching for a topic that has no Wikipedia article yet, and having Google's algorithms write the article for me to read!
There are boatloads of abandonware tools and libraries that real people depend on for their research, work and livelihood. I am talking about things as varied as sensor data capture software running on MS-DOS, to high-schools that have one PC for every 100 students. There are opportunities everywhere, look around and give someone light.
You said when you were young, you were fascinated by computers and learned everything about them. Try to imagine again what it is like to be young. What would fascinate you if you were growing up right now? Maybe it's not even computers. Maybe this really is the end of that rabbit hole for you, who knows. Is that such a bad thing?
Try getting out of your comfort zone, too. Join a sports club, go on a long trip, meet new people, pick up a hobby. You may feel that way, put you're not stuck by any means. You can do whatever you want now. How liberating! You can reevaluate what you want from life and set sails once again.
I've been in software since I can remember. I'm super enthused by the opportunities I see right now. Yet, I hope that one day I will get to do something entirely different. I think life is too precious to do just one thing.
Oh, and another thing: If you don't like the social web, skip right to the object web. Why can people understand that tables are MADE of wood, HAVE four legs, are MADE in China, which IS a Country REPRESENTED by a Flag that LOOKS red, which IS a color that IS ... and so on ... and computers can't understand that? How can we teach them? That's my current favorite fad ;)
I'm being presumptive but your post talks only about technology as if you care more about it than just means to an end.
It's probably no coincidence that I studied theoretical CS and minored in math :)
Interesting. Can you share more details on the new perspective you got from being there?
Now, in India, the dynamics are really different. You don't just do something that make people life simpler. You really enable people to do things they may not have been able to before. When the de-facto standard software costs one year of a post doc in India, having open source alternatives do make a difference.