Hacker News new | past | comments | ask | show | jobs | submit login
Staying Hungry, Staying Foolish (conery.io)
99 points by daigoba66 on Jan 25, 2015 | hide | past | favorite | 29 comments



Anytime someone says "I think too much" I feel the need to speak up. This mentality is, from my experience, destructive. When I was on a Mormon mission questioning the beliefs and bringing it up to my superiors, that was the response I was given far too often and I've come to resent it.

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.


OP here... I should say that I wrote this post rather late with a glass of wine in my hand and perhaps didn't use all the exact words to convey my point clearly. But let me address your points.

"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.


It can also mean that you actually don't have enough experience.

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 experience is one thing I'm not short of.


Think of a company that has a large number of processes and policies that are required for any new project. These are frequently a mixture of industry best practices and structures that were put in place over time to prevent problems that happened before from recurring. All of these processes and policies were added with the best of intentions, but the cumulative weight of them can make it significantly more difficult or time consuming to start and complete a new project.

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 don't know if this was his original meaning but I know living on the east coast in a town with hardly any tech startup successes, finding experienced people who have had real success to learn from is extremely difficult and leaves me thirsty for knowledge.

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.


Note he says "I think too much" not "you think too much" (which I'm guessing is what your Mormon superiors were saying). Some decisions we can make for ourselves but are oppressive if we try to make them for someone else.


Thinking you know too much is the correct expression. There is this story about a student who solved a previously unsolvable math problem because he didn't know it was unsolvable (http://www.snopes.com/college/homework/unsolvable.asp). If you believe to know the limits of what is possible, you will hold yourself back. For the beginner, everything is possible. I think that's a wonderful message.


> Anytime someone says "I think too much" I feel the need to speak up.

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 agree so much with this article.

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...


> The problem is that when we start out as software developers we don’t know the “right way” to do things so we are less constrained in what we do. We just march forward and go do things. As we start to learn the “right way” to do things, we are often stifled by that knowledge and the constraints it brings and that causes us to be less productive or to over engineer and design solutions to problems.

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.


I thought this was entertaining, don't get me wrong, but when he says:

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.


Yes. As with any big project, the first revision is often unorganized spaghetti full of architectural problems. But with diligent iteration and refactoring, over time the project starts to take shape and becomes elegant. In this case, the project (the web) is huge, long term, and has a ridiculous amount of use cases and competing interests, so it's an amazing and wonderful thing that we've even settled on a lingua franca at all! Over time javascript will evolve, and a more elegant and robust replacement will eventually emerge to run universal sandboxed apps.


Why is it 'cmon?

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.


Without knowing what his next project is, maybe I'm mis-reading the statement; but I took that as more of a condemnation against the web than against Javascript specifically.


...His RSS button open a malware site...


Specifically: http://www.crackle.com/c/kidnapped?cmpid=3529&utm_medium=660...

WTF?

Good thing that we run NoScript ;)

Is that the lesson of the day?


The feedburner feed was spelled wrong (fedburner)... that was sorta dumb of me, sorry!


If in fact true, we might want to bring it to the attention of the OP.


Yikes! Fixing - wow that's not good...


I honestly thought I was about to read an article about research linking daily blood-sugar to willpower/intelligence... (which, BTW, is a thing, so try not to make important decisions right before lunch.)


A great post. The excitement of the OP in the post is quite palpable and I could feel it. I am brimming with excitement right now.


The better we get at anything, the more limited we become. - Steve Bodansky


This is cargo cult thinking. You can be greedy and psychopathic all you want, you still won't get rich and famous like your idol.


Wow, is this written by an underclassman? Have you ever heard anyone who accomplished anything that bushed us forward comment on how difficult it was to lean forward? I challenge everyone here to hurt themselves a little bit while trying something that didn't make sense to you at first because it impressed you.


You're new to writing software? Because after 20+ years in the trenches, it can become second nature to you. The thing is: to get from A to B is a journey you can perform in a million different ways. When you're new, and young, such a journey is an adventure: what shall we meet along the way? Who knows! Let's find out! The more experienced you get, the more you know which things to avoid, what to do to get certain things done and how to make things easier for yourself and others. That also means that a journey from A to B isn't an adventure anymore, it's a carefully planned expedition, because you _know_ that by not carefully planning it, you'll hurt yourself and perhaps won't make it to B.

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 :)


Thanks for sharing your view. I realize I share exactly the same experience of foresight vs. loss of fun. I.e. "I have no idea how to implement this" is a really hard thing to come by and it's more like "yeah, I would need to implement that, that and that...".

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.


It might be an idea to use a more formal, functional oriented language to implement your ideas, e.g. F# or haskell, where defining what you're going to need and want to achieve is half the work?

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.


Nope - been at this for 24 or so years now. I wish I was an "underclassman" again - everything was quite fun back then... which I suppose is the point of the post which sort of sailed over your head :).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: