Staying Hungry, Staying Foolish
rob.conery.io
rob.conery.io
The sentence before says: "I think I know too much" and that bogs down his creativity and energy. I'm calling bullshit. Who knows too much? How can you know too much? Does gaining knowledge really prevent one from being creative or energetic?
I think he comes closer to a point when he says: "it’s my attention to that knowledge which is destroying my inspiration." But I think its not the attention to the knowledge that is "destroying" his inspiration, but the way in which he uses that knowledge.
Why not give attention to the vast amount of knowledge gained writing web apps since IE4, and then use that knowledge to create novel ideas or better ways of doing things? Why not use the knowledge to create something better than JavaScript instead of complaining about it?
I think the point to take from this, at least for me, is to keep an open mind. He sort of said things contrary to that multiple times, but I want to believe thats what he was getting at.
Thus when I spend time traveling and learning from great people in places like SF and then come back here, I often feel like I "know too much" and need to be challenged because I can't seem to find fault in my own thinking. I'm deathly afraid of falling into the same mindset, whatever that may be, that caused all the startups around me to fail so I have this egotistical attitude at times when I'm not around people who challenge me.
I'm learning and trying to grow past that faulty thinking but it is tough. Maybe this is partly what he was alluding to.
"Thinking too much" seems to have hit a button for you; sorry about that. I do think this is a pretty common thing: The Paradox of Choice. That's sort of what I am feeling as I know quite a few languages and frameworks, and it's difficult for me to stop diddling over "what should I use" and just write it.
I've spent my career creating things - I haven't created a language yet and to be honest I don't think I have the ability to do so. Not sure what that has to do with my point, but OK.
In my career I was in that kind of place where I had decent experience and started to be overwhelmed with possibilities.
As I gained even more knowledge, solutions appeared to me in a faster fashion and I spent much less time wondering.
I think mentally something similar can happen. With experience you're aware of a lot of the pitfalls you fell into with your previous projects and so you've learnt tools/methodologies/languages/programming styles that can help you avoid them. As you're working on a project you can find yourself spending more mental time thinking about avoiding mistakes of the past, rather than just aggressively (maybe blindly) moving forward on the project itself.
I always remind people of Robert DeNiro's quote from Ronin, when people mock his mindset.
"Do you think I'm reluctant because I'm happy!?"
That is my refrain all the time, and people still do not really get it, oh well.
I have the feeling (which may be wrong, of course) that all the cool stuff nowadays is just repackaging the same shit we've always done, but on a different platform--web, android, iOS, whatever
The truth is, there is probably some sense to that. It's what the market demands. But us engineers have the moral responsibility to push things forward and create new cool stuff again. I wrote a piece on this topic a bit ago, if you're interested "You only do it when nobody else will do it" [1]
We are opening crazy new technologies to developers: arduinos, 3D printers, drones. However many engineers are stuck repackaging websites into iOS containers, and we can't blame them, because they probably need that job and that money.
But here in HN I have a sense that we still have that spark of creativity, meta discussion and critic of the current state of the tech world, with all our cynicism, vision, and endless flamewars.
I think we all collectively advance a bit every time there is a frontpage link to a person who started their own OS just for fun, discussion on 80's papers or technology, whatever software written in Lisp, or floppy drives playing the imperial march.
Sorry, I'm deviating from the main topic. But I guess it's all the same underlying idea. Tech can be boring, or it can be fun. And it's entirely our decision to choose either (or both). And I'm happy every time I read an article like this one, every time a cubicle-java-developer friend of mine buys an Arduino, every time Fabrice Bellard does some crazy stuff with computers, every time some guy reprograms a SNES game to play pong by killing koopas and placing bytes into the cartridge memory.
Those of us who went into studying Computing, whichever variant, probably did it for the cool stuff. Nobody goes to college with the intention of spending the rest of their lives implementing CRMs while dressed on a suit. So I think that us, as a collective, have some ethical responsibility to stay hungry, and help our colleagues do so.
Thanks for the article, I really liked it a lot.
[1]: http://cfenollosa.com/blog/you-only-do-it-when-nobody-else-w...
I've felt that exact thing my entire career. I'm not a classically trained engineer - I'm a product guy who happens to be really good at building shit. Spending way too much time on sites like Hacker News over the years has taught me a bunch about how Internet loudmouths think things should be done. Learning these things has put me in the upper echelon of developers. I don't think of myself as an engineer, but I've been courted by some of the biggest names in software, and they pay me enough to comfortably afford living in the most expensive city in the country.
Yet, in spite of all of that, I'm fairly confident was more creative when I didn't realize that the obvious way wasn't always the best way, and I've wondered more than once what I might be making if I wasn't always keeping so-called best practices in mind.
porting all that great shit backwards to JavaScript
...I understand what he means, but 'cmon, that ship sailed a long time ago. JavaScript won on the web. It's far from perfect, and something better will replace it, but JavaScript successfully met the demands of rapid development.
Firstly javascript has been forced on us by the browser manufacturers. Unlike every other platform we developers use we have no choice at all. It's actually disgraceful.
Secondly, it's not even the main thrust of the article, it's a side comment and a factually correct one. Why do we all have to suffer javascript in silence? Let us moan about it if we want.
WTF?
Good thing that we run NoScript ;)
Is that the lesson of the day?
This means that all the fun of exploring and adventuring to get from A to B is more or less gone, as you already know what lies ahead and how to avoid it. You _know_ what's coming and thus how to deal with it. You also _know_ which parts are a chore and can suck the energy right out of you. This alone can make a journey that would otherwise be fun, a problematic undertaking we probably would like to avoid if we had the chance.
The post absolutely doesn't state you should avoid crap, it also doesn't state one can achieve greatness without avoiding mess and misery. It just writes about by learning a lot over the years the adventure of a journey from A to B is fading away and with it, the fun and excitement.
The post hit home with me a great deal as it perfectly answered why I didn't code on a Saturday anymore (e.g. silly stuff like a small game or tiny tools), but only program software during work days and only for work: it wasn't a problem to find ideas to write a silly program for, it was the baggage that came with it as I already knew I had to do X and Y to get started properly, Z to get something on the screen, get a lib for E and F and as I knew that would likely be a chore I wouldn't even start, as: why bother with chores on a free Saturday if you can have some fun?
It's still possible though, don't think it's all grim and gloomy and dark, you just have to put what you _think_ up front what could happen aside and still do it. You'll learn it isn't so bad, but sadly the fun of adventuring and exploring into new territory is often not there anymore, simply because it's familiar territory. That's often a good thing in life, but if it's adventure and excitement filled exploration is what you're after like all those years ago, you're not going to find it (easily).
Cheers :)
Somehow my POV has shifted from an energetic craftsman to the proverbial mathematician of so many jokes whom realizes a solution is feasible and loses all interest in the practical solution for the fun of it.
The problem in software engineering with this mathematicians approach is that a theoretical solution seldom stands up in real world unless a sufficient domain solution is implementable using a well defined and concise algorithm, thus the foresight is not necessarily that prescient to start with, so I realize I'm not in possession of any true understanding of value but just realize the long, long road ahead when starting something new.
Though it might indeed be redundant, as designing the algorithms and understanding they'd work is enough: typing it in and seeing it work is an exercise performed so many times it's become a chore.