Hacker News new | ask | show | jobs
by mrpopularity 5594 days ago
I have a sneaking suspicion that this opinion will be unpopular... but it is mine, it's humble, and I'm entitled to it :)

You are stuck being a cargo-cult architecture-astronaut because you are stuck in a language that exemplifies and encourages it. ROR and python, while perfectly good in themselves, will allow you to stay there. My advice would be to take something 'horrible' but useful - PHP springs to mind - and play with it. Do fun stuff just for the hell of it. Do things quickly, not correctly. Correct things one by one and see which things actually make a difference, and which things were a complete waste of your time.

Memorising linux commands? What? Slap! Write yourself a cheat-sheet and remove that excuse from your head immediately. It'll take you 5 minutes. If it takes you longer, you're doing it again. Stop making the perfect cheat-sheet that covers every example of everything you may ever need, and write the 5-minuter that covers 95% of it.

Set a line between the front of what you're doing and the back. In front of the line, everything must be neat, useful and functional. Behind the line you can do whatever you please. The line is the part of the 'achieving things' model that cargo-cults miss - the difference between practice and theory. You might even surprise yourself about your coding ability once you start evaluating things that way.

1 comments

  You are stuck being a cargo-cult architecture-astronaut because you are stuck in a
  language that exemplifies and encourages it. ROR and python, while perfectly
  good in themselves, will allow you to stay there.
I'd abstract one step up, and suggest it's the environment that's to blame instead of the tools.

At a previous company, I found that there was a not-insignificant number of my coworkers were seemingly-incapable. I originally blamed the people for their lack of skill; later, I moved on to faulting the tools (Java / Oracle / a less-than-stellar in-house "framework"), but eventually realized the problem was with the environment, and nothing else.

A couple of the biggest contributing factors:

* A near-constant state of panic ("is it done yet?")

* The implicit requirement that all decisions had to be routed through at least two stakeholders for confirmation

* Old guard programmers enforcing that things be done the One True Way, despite any evidence that alternate approaches would be better

Early-to-medium-ish into my time at that company, I stuck to my guns and did what I felt was right. I wound up writing toy apps in Rails and Node that changed how the company managed its production and release pipelines. Toward the end, I would constantly question my skills and abilities--despite the success of my toy apps--because I'd been conditioned to do so. I settled into a rut-of-despair very similar to the OP's for a few months.

I quit when I realized what my environment was doing to me.