Live data from Hacker News

How to be a sane programmer

nicholascloud.com

71–80 of 82 posts

Re: How to be a sane programmer

#71
post #13
post #5

I still find the pressure to work on side projects in your free time difficult to come to terms with. There's often discussion about how if you don't like what you're doing, then you should find a new job - and easily, if you're in the bay area. I know a lot of really talented devs that don't work on side projects because they are completely consumed by, and love, their work and can't imagine doing anything else. Wha…

Yeah this is something that's bothered me for a long time. For awhile I felt bad and tried to focus on doing the whole "side projects" thing, but now I've just come to accept that some people will never hire me, and that's OK. The fact of the matter is that I have a job where I work on different things and am encouraged to learn. It's not a dream job, I don't "love" what I do, but I like it. The fact of the matter wh…

I feel like you are setting up a false choice between spending all your free time programming and spending none of it. Taking a few hours here and there to expand your horizons isn't that much to ask.

Re: How to be a sane programmer

#72
post #43

> Programming, like writing, painting, and music, is chiefly a creative endeavor not a technical one. Practice... will not make you a substantially better programmer. It will just make you more efficient with your tools. Show me a world-class writer who doesn't obsess about his writing with every waking moment. Show me a master painter who doesn't paint every single chance she gets. And show me a music prodigy who ha…

Hemmingway wrote for six hours every morning and then went fishing for the rest of the day: http://www.moodymuses.com/2009/02/lessons-from-ernest-heming...

Re: How to be a sane programmer

#73
Imposter Syndrome

So, when I was growing up, where the family had to drive 50 miles to visit other Asians, I started to realize there was a pattern to how bumf#cks would come circling in for what was in their minds the justified pleasure of humiliating a non-white person. Most people were decent, but I and my family members stuck out.

I notice the same sort of circling at some programmer meet-ups here in the bay area, though I don't think it's my race that prompts it. Programmers make good money, are highly sought after, and in many companies are positively coddled. Just about every group that found itself in such a position has developed some small sub population of arrogant, entitled jerks. In retrospect, I may have been guilty of being a little bit of that myself.

One might like to think that good programmers are also good at thinking rationally in general. That's not how it works. Being good at programming just trains us to think rationally in a very specific context. The rest of the time, we're primates vying for a place in the social hierarchy. The best we can hope for are social structures and patterns that co-opt such tendencies for the uncovering of truth and the good of the group. Seeking social contexts that humanely succeed at this should underly one's seeking for a place of work.

It's hard to do this, and most of the time, people find a situation that achieves group cohesion and effectiveness through an "us vs them" dynamic.

Re: How to be a sane programmer

#74

Earlier quoted context omitted.

The majority of programming is analyzing a problem domain and applying the right design pattern. It is not creative. The longer I am at it, well over a decade now, the more this applies.

Software is logic manifest, there is no limit to what can be coded. At any layer of the stack you can radically reenvision the way things are currently done in order to create a new way of doing things, and in no other creative endeavor can you so fully control the minutest detail from the smallest atom to the grandest super-structure. The reason we have design patterns is precisely because the possibilities are so w…

I'm going to go with the gp on this. I've worked as a programmer for 12+ years (and a few good more as a hobby). I've worked in various industries developing software (games, AI, QA for chemical processes, CRMs for Wine producers, Financial Institutions) and I just don't understand all this talk about programming being so special that we are 'creative' and not everyone can be a programmer talks, and all that new age crap I see exposed here in HN.

When you are learning, yes, probably it is different, but you reach a point when you see programming most things as a chore. There is no magic or unlimited possibilities. There is a goal, and you code to get there. Can we just stop with this bull crap about we being special snowflakes? Just look at your description of software: 'smallest atom to the grandest super-structure' -- Seriously?

Re: How to be a sane programmer

#75

Earlier quoted context omitted.

Thank you to both the above and above-above for bringing this up. Too often do I see these "you need to do x to be y" or "If you don't do z you're not really passionate", as you said far better than I could have, live the life you want to live. Do what you want to, don't do what you don't; but whichever choice you make, put your all into it, passions and talents will float to the top. While there is something to doin…

I think though is that programming is a tool. You don't need to have side projects to say "oh I have a problem and I think I can quickly hack together a program to address it." And then do it. That's no different really than a chef coming home making himself a sandwich. Side projects are overrated. Chances are if you have a side project you have a reason for doing it. Maybe there is an open source project that almost…

I agree with pretty much everything you've said, I think I'd just stress a different point than you responded to; namely that it's more about "not forcing it," "it" being whatever you chose to spend time on, echoing the "no template is right for everyone" sentiment of the grandparent posts.

That being said, I have some hand wavy opinions about the specialization/not specialization question being "at too high a level of abstraction", and that the focus should be on finding some way to impart "drive" (motivation?) into people, regardless of field and focus. I'd like to think on this more but I am currently late for work, so this'll have to do :(

Re: How to be a sane programmer

#76
post #2

Heres the problem I have with this entire discussion -- and this post does address it a bit -- but programming IS a creative role and needs to be treated as such. Many organizations hire programmers as technical roles, but they are generally creatives. A lot of them are night owls, who ebb and flow between long productive stints and proverbial 'writers block'. Many of the best developers I know have a creative desire…

This will never, ever, ever happen. There is too much money, for both sides, in pretending this isn't true. The business side has been entrusted with a lot of money, its own or someone else's. Success has already been achieved . As such, it approaches things from a mindset of risk reduction. And the absolute worst thing possible, from a risk-reduction standpoint, is creative work. It's unpredictable, you don't know w…

Say one is starting a software company.

How does she go about structuring it to take this into account?

What are things which are inherently a problem and what things creating problems because it is business as usual.

Re: How to be a sane programmer

#77
post #76

Earlier quoted context omitted.

This will never, ever, ever happen. There is too much money, for both sides, in pretending this isn't true. The business side has been entrusted with a lot of money, its own or someone else's. Success has already been achieved . As such, it approaches things from a mindset of risk reduction. And the absolute worst thing possible, from a risk-reduction standpoint, is creative work. It's unpredictable, you don't know w…

Say one is starting a software company. How does she go about structuring it to take this into account? What are things which are inherently a problem and what things creating problems because it is business as usual.

As someone starting a hardware company with amazing software as part of the experience, I am battling the same problem(s).

I want to hire creatives who don't need to be delegated to, and can own full cycle of tasks on their own. I have been doing tons of research in the last two months and a lot of soul searching trying to figure out precisely what makes me tick.

The truth is, every startup WANTS to hire entrepreneurial developers, but rarely let them be entrepreneurs.

In going through this process on my own, for the second time, it is clear that if I want to hire people like me, I have to treat them like I treat myself.

Trust them, give them freedom, and be willing to ask for help when necessary.

Re: How to be a sane programmer

#78
post #43

> Programming, like writing, painting, and music, is chiefly a creative endeavor not a technical one. Practice... will not make you a substantially better programmer. It will just make you more efficient with your tools. Show me a world-class writer who doesn't obsess about his writing with every waking moment. Show me a master painter who doesn't paint every single chance she gets. And show me a music prodigy who ha…

As some sort a of music prodigy according to certain people, I'd say you have a point. I've certainly put in a ridiculous amount of time in music "just for fun".

At the same time, to create something great you do have to stop practicing and go back to what you know best and what inspires you.

Re: How to be a sane programmer

#79
post #76

Earlier quoted context omitted.

This will never, ever, ever happen. There is too much money, for both sides, in pretending this isn't true. The business side has been entrusted with a lot of money, its own or someone else's. Success has already been achieved . As such, it approaches things from a mindset of risk reduction. And the absolute worst thing possible, from a risk-reduction standpoint, is creative work. It's unpredictable, you don't know w…

Say one is starting a software company. How does she go about structuring it to take this into account? What are things which are inherently a problem and what things creating problems because it is business as usual.

I knew someone was going to ask this. I certainly don't have all the answers, but I have thought about this a lot.

First: software is nearly always a dicey proposition. There are so many variables that it's just impossible to predict much about it with any regularity. The best approaches that I've seen so far accept this, and say, "Trial and error? So be it: we will do trial and error as best as it can possibly be done." YC and the lean startup model (aim low, accept that most things will fail) are good examples.

The other approach is the "tried, no error" method, which cares intensely about the past. Hiring a web developer? Portfolio first, examples of use of specific technologies, examples of specific features. Find no one who meets your exact qualifications, and proceed to either a)raise salaries a lot, and constantly (banks, hedge funds), or b) complain to Congress about a "talent shortage" (everyone else).

I think YC is the better model, and is a sort of company-less version of michaelochurch's "open allocation." The key insight is: if you want 10x engineers to ride up on their white horses and save you, you can't presume to tell them what to do. They're cars, not faster horses. Beating a car with a whip won't make it go faster---and this is a feature, not a bug.

To get the best out of developers, you have to accept that they bring risk, and manage around that, rather than blindly trying to reduce it. That's why I think Apple is really fucking smart to have a huge cash cushion like they do: with that cushion., it frees you to go for long shots. Apple is nearly riskless in its financials, and so can afford to be very risky in its product development process.

If I were starting a software company, and knew exactly what I wanted to build, I'd hire people with proven track records, pay them a bazillion dollars each, and give them zero autonomy. Or, I'd hire a bunch of college dropouts who've obssessed over some kernel of good ideas (Tufte, Hickey, FRP, ML), pay them nothing, and let them run wild (this is basically YC's business model).

If you're really serious about this---and I think it's worth it to be---I'd read everything on michaelochurch's blog. He exaggerates, has a chip on his shoulder, uses weird analogies, and has a better understanding of these issues than anyone I can think of.

Re: How to be a sane programmer

#80
post #43

> Programming, like writing, painting, and music, is chiefly a creative endeavor not a technical one. Practice... will not make you a substantially better programmer. It will just make you more efficient with your tools. Show me a world-class writer who doesn't obsess about his writing with every waking moment. Show me a master painter who doesn't paint every single chance she gets. And show me a music prodigy who ha…

Consistency my friend. Murakami's routine which involves him running for the first half to the day, then write and then chill with sexy-time Jazz music at time at night and turning in, http://dailyroutines.typepad.com/daily_routines/2007/07/haru... I could give you more examples of writers, Joyce Carol Oates , Michael Crichton but same thing basically. Also note that Murakami didn't start writing until 29 and loafed…

Everything you said was golden, until the last paragraph.

Picasso really should have stopped faffing about with his silly brushes and gone to work in a canvas factory instead. The world really didn't need another bloody painter.

Post reply on HN