$ zimbatm

Software Engineering as a disciplin

A software engineer is a software developer that embraces the task like a disciplin. And as any disciplin, like martial art, the various aspects get decomposed and trained inidividually.

As I didn’t find much litterature, because I didn’t search to be honest, on the practice. This is my attempt at doing just that. Look at all the things that I have learned in isolation and try to describe them the best that I can.

Unstructured thoughts

Keep a software journal of your activities

This has a lot of benefits:

If you hit a difficult spot, step away from the computer!

The worse thing you can do is start filling your brain with other stuff like HackerNews / Twitter.

Use a paper notebook to write things down while away from the computer.

Being bored is the source of all creativity. Go for a walk, do some house chores that can be done on autopilot like the dishes.

Use bisect debugging


Learn things in depth

Don’t become a slave of StackOverflow.

There is a loooot to learn though. Pace yourself.

Write some code every day

Like any skills, it stays shape when trained regularily.

Read code every day

Learning is also reading what other people are doing. Study the masters.

Keep the complexity down

Learn how to communicate

Learning how to describe issues, communicate with management, is an integral part of the disciplin.

Health basics

Necessary to keep the brain in shape.

< EOF >
       \     (\/)
        \   (_o |
             /  |
             \  \______
              \        )o
               /|----- |
               \|     /|