Principle philosophy - Swift

Tags: django, djangocon, python

Principle philosophy: a way to discuss our rules and beliefs that govern our actions. He tells it from his personal experience.

His parents wanted to raise him as a good person. So they thought him good principles (like don’t be a quitter, don’t steal, etc). This is quite black/white though. We are all more gray/gray.

What about the question “how can I be a good programmer”? Programmers use logic, which sounds black/white again: write tests, don’t repeat yourself. Sigh.

Talking about things like this is impossible without Immanuel Kant. He differentiates between reason and instinct. If “be happy” were our life goal, we’d just follow our instincts. So what is reason for, then, apart for doing good? Reason has to do with moral. There are three ways of looking at “doing good”:

  • Duty. Good things can come from duty. Duty can also lead to non-good things, though. Hm, so this is not it.

  • Make a difference between the goal and the outcome. The outcome might be bad even though the goal could be worthy.

  • Universal lawfullness. Only do something if you know that everybody thinks it is a good idea.

Does this help with a question like “is testing good”?

Gandhi said that a man is the sum of his actions.

In a sense we are the sum of our experiences. So increase the amount of experience that you have. Either have the experiences yourself, or share them like on this conference. Everything looks different from the trenches: learn from eachother.

Some lessons he learned from a little baseball league experience (where he sucked) as a kid:

  • Swing for the fences. Aim for a home run. It allows you take great risks (because you have great goals). It motivates you.

  • Set reasonable goals, too. Incremental intermediate goals. Those intermediate goals help you progress.

  • You suck… and that’s totally OK. You’re not good at everything. It gives you a different perspective. And you can still give it your best. Also to that almost-unused old project that you get a bug report for.

Some take-aways:

  • Build a strong foundation of principles.

  • One size doesn’t fit all

  • Learn from your experiences and share them.

  • Build a great network.

  • Ask all the right questions. logo

About me

My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.

Weblog feeds

Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):