I’m retired but I still do a lot of projects. Most of them are solitary projects with perhaps one collaborator. They are by and large not software projects, they are wood working, music, art, writing and publishing projects. I don’t work for the client of these projects and in many cases I am one of the clients of them. My role is diverse: designer, manager/planner, engineer, fabricator, and delivery guy. Schedules and priorities are mostly mine or very much in my control. I have a great deal of latitude to decide what is “good enough” and what is “done.”
I find that my life before I retired provided me with a lot of the skills that make this new life satisfying. I have a lot of experience looking at a large task and breaking it down and prioritizing it into a series of smaller tasks that are reasonable in scope. I readily recognize what is going to be difficult and that allows me to focus on those tasks and spend time figuring them out. The main psychological benefit of this is that I’m not afraid of big projects because to me they’re just a string of little projects.
Over the years I’ve gained the knowledge about myself of what I’m good at and what I’m not good at. This has allowed me to plan things that challenge me but also play to my strengths. For example, I am not good at very fine details that need to be perfectly executed, and though I admire the skill of people who can do this my personal taste leans more towards restrained details. I generally plan my designs with this in mind.
In my career I learned to believe in myself to be able to learn on job what I need to know in order to succeed at a task. In fact it is really the learning style that is most effective for me, classes and school were never very engaging for me. This also reduces my fear at perhaps getting into a project and then not being able to finish it.
I also learned to “grind,” which is where you have to do something day in and day out for a long time in order to finish a project. In the old life it was testing, bug reporting, triage, bug fixing, building, repeat… in the new life it is building a sub component, test fitting everything, taking it apart, adjusting or building the next thing, repeat… until you’re done.
Probably the most powerful thing is patience. Once you accept that something is going to be challenging and is going to take a long time you can settle in to a process and drive it to completion. I wasn’t patient at the beginning of my career but by the end of my work career people would often comment on how patient I was. I am happy to say that I’m patient with myself as much as I was ever patient with my co-workers.
Finally, having a personal process and incrementally improving that process was something I learned in my career. It allows me to plan projects that are going to teach me something new and keep the rest of the process constant while I do that. If something doesn’t work, I just don’t do that again. I look back over the last four years or so of projects and I can identify the process and infrastructure improvements that have been added to my process and it is very satisfying.
In any case these were just some thoughts that were going through my mind for a while recently so I figured I’d share them.