What is a computer engineer?
A computer engineer, also called a software engineer, is responsible for developing, testing and evaluating the software that make our computers work. Source
These are the guidelines to which I hold myself in 2017.
- Do minimum one thing per day on the command line to be of benefit.
- Think through the problem in a calm, clear-headed fashion.
- Celebrate having solved a problem in a Stoic fashion (that is to say, be tranquil about the whole thing, but acknowledge having solved a problem).
- Acknowledge the work of engineers that came before me (if I don't know how best to acknowledge them, and they're living, ask).
- Look to other, stronger, engineers for guidance. While staying out of their way.
- Question everything unless the solution has been discovered. Even then, question everything.
- Do the work every day with as little interruption as possible.
- If something nags, fix it. If it can't be fixed, move elsewhere (somewhere where the nagging thing can't interrupt the work).
- Ask questions only in the smart way. Re-read the guide to doing so if necessary.
- The engineering work is supported by and impacted by the body. Do one hour of yoga daily, then stand at the standing desk as much as possible.
- Work with other engineers, more talented engineers.
- Get hired by a company to do engineering work with a team.
- Tinker as much as possible.
- Have something outside of the engineering world (for starters, yoga) to do when not doing work. (Adding: guitar.)
- Keep a public progress log.
- Always Be Curious.
- When thoughts stray from problem-solving, watch said thoughts. Bring the thoughts back to the problem-solving with awareness.
- Be sure to have the right tools for the job. When you find a tool that better suits the job, incorporate it.
- The more challenging the problem, the longer it'll take to solve (as a rule). Hang in there.
When it's time, WTFM.
- Be okay with never being invited to another social event ever again. (But be well-adjusted if someone is kind enough to send an invite.)
Always wonder: how can this be improved from a programmatic perspective? What would an engineer think?