Live data from Hacker News

How to be a sane programmer

nicholascloud.com

31–40 of 82 posts

Re: How to be a sane programmer

#31
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…

Love this reply, it's a summary of cold hard business reality. Seems cynical, but pragmatic and jives with everything I've witnessed. Maybe the parent is coming from a perspective of fostering the next Whatsapp, were 32 people create $16 billion+ in 'value' from within an existing business?

Re: How to be a sane programmer

#32
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…

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 wide open that we need some structure and convention to aid communication and comprehension between programmers.

If you're just churning out cookie cutter patterns you need to get a new job or side project and rediscover the magic.

Re: How to be a sane programmer

#33

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.

I disagree that development has come anywhere close to optimizing our design patterns. People are still coming up with better patterns for even basic CRUD and static site generation apps. Coming up with new patterns and improving existing patterns is what we do.

Designing and implementing a software project is not creative. It is learned. It takes methodically analyzing requirements and designing a solution based on learned patterns through study or experience. We engineer software.

"Coming up with new patterns and improving existing patterns is what we do."

Chances are you are not "coming up with new patterns" but instead re-discovering existing patterns.

Re: How to be a sane programmer

#34
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…

I love this comment, but it's not the whole story. Mark Zuckerberg made his billions because he built his own company. Musicians do not necessarily need to do this (although it helps them avoid getting screwed), why does Ozzy Osbourne make bank working for other people? Because his value is readily identifiable. You can see his ticket and album sales and TV ratings right in front of you. Everyone can watch his act and evaluate it.

The problem for programmers are that their talent is extremely difficult to evaluate. The best programmers will build a system that avoided so many problems which management will never even have a clue could have happened. Meanwhile, a "rock star" might come in and bang out a prototype that looks so slick and is complete in such a short time that management thinks he is god's gift to programming even if under the hood the code is unintelligible and unmaintainable; when phase two modifications are a disaster, the blame could fall to the new programmer who is objectively much better but is saddled with a terrible technical debt that no one knew about.

It's a classic market for lemons. So management is constantly worried that they have lemons. Giving space for creativity would be much more of a possibility if it was easier to identify the programmers who deserved it.

Re: How to be a sane programmer

#35
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…

Personally I find it insane to go home and work on a side project after work, if it's not something you hope to make money from.

What? Did I miss some context here? Was this meant as sarcasm or were you serious?

If you don't want to do it fine but calling it insane seems a little overboard. People have hobbies. They do them outside of work. Some one might work on websites at work but have a hobby of making 3d graphics programs at home, or arduino projects, or games, or whatever.

Sure if you don't personally find it fun then don't do it but I guess I read into your message you couldn't see how people could do side projects at home. How are those any different than any other hobbies?

My grandfather was chief of maintenance at some factory meaning he worked with tools all day long fixing machines. He'd then come home and use more tools to make things. It doesn't seem that out of the ordinary.

Re: How to be a sane programmer

#37

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…

Well said.

I agree the language comes after the object, not the other way around. And speaking the same language is important.

I'm actually an architect and it does seem a bit routine for me to hammer out design specs nowadays.

Re: How to be a sane programmer

#38
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…

Amen Brother Amen!

Re: How to be a sane programmer

#39
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…

Here's an idea that might pan out for you! Try to find ways to get your friends and family involved in your projects with you. For example, my fiance is an artist. She doesn't know anything about coding, but we built a social art website working together. She did the designing and visuals, I did the code. It was awesome.

I was able to spend time with her, while also building something that lead to my first real gig as a developer.

One of the best ways to get to know your friends and family at a really close level is by working with them on a project that you both care about.

Re: How to be a sane programmer

#40
post #15

I think problem are working conditions. Modern programmer is expected to work in coffee shop on tiny laptop, practically worst conditions imaginable. If I ask for decent private office and 3x32" screens I just get blank faces and bullshit excuses. Since I started working for myself remotely, I can sustain 10 hours of uninterrupted concentration. Before in office it was more like 30 minutes of concentration per day.

How much of your productivity gain from the 3x32" screens is attributable to extra space for persistent applications (i.e. always keeping an IDE open on screen N)? Just curious.

I had 4x22" until recently, second screen adds 50% productivity, third 25% and forth about 12.5". Upgrade to 3x32" is underway, so I can not provide data for those. I will probably keep old 22"s around for some statistics, visualisations etc.

I use screens in portrait mode, so it fits more code.

I usually keep left screen for navigation (file managers, terminals), center screen for IDE and right for documentation, notes and communication. I also use virtual desktops to switch window layout for various tasks. For example I consume twitter and rss feeds in separate configuration.

I am not saying everyone would benefit from this setup. I analyze large heap dumps and do lot of concurrent debugging. But quiet office, decent screen and chair should be a starter for any self respecting programmer.

Post reply on HN