My husband is naturally a big computer nerd. I am more of a poetry nerd, but had a computer nerd job for 10 years. So we talk the same language for the most part. This is my marriage approach in terms of software development:
1. Your spouse may not like it if you are constantly in debug mode. When you do software development, you constantly test and look for tiny defects that add up. This is not good for your marriage.
2. If you have a conflict, it helps to think of it in terms of a process failure. Instead of blaming someone for the problem, maybe something just needs to be changed to make things smoother. Too much process improvement applied to marriage may make your spouse feel like they are in debug mode (#1).
3. There are lots of dependencies in home life. Even something as simple as queuing all of the kids up to get showers and brush their teeth with one bathroom available is tricky. If I explain this in terms of a sequence diagram, my husband seems to get it.
4. My husband often has out of sequence errors. These types of errors occur often on mainframe systems I have worked with when the data isn't loaded in order. Everything fails after the point of the error. This happens a lot in our house so it seems like it takes forever to get any one thing done. For example, an applesauce cake can't be made if there was a critical error at the grocery store and the applesauce wasn't purchased. If you get all of the ingredients out, start mixing the cake and then realize there's no sauce, it all fails. My kids actually understand what I mean now when I say under my breath, "he had an out of sequence error."
5. My husband and I are both perfectionists with things around the house. I put jobs into phases. He doesn't. With three kids and one of them still a baby, a phased approach to getting things done is sometimes the best we can do. I can easily break a garage cleanup into phases that can last six weeks or more - for my husband, he gets overwhelmed thinking it all needs to be executed in one day. It's funny how our personalities at work flow over into our home life.
6. Whenever we have a big job to do at home, it helps if we assign roles like you would at work. You can't blame the project manager for being bossy since that's their job. At home, I think it helps if I tell my family out loud that I am project manager if I am in "get it done" mode. If I am project manager, you really can't take it personally, right? The only problem with this is I am always project manager. My husband responded very well to this role assignment at first but now has picked up on the fact that I am always the project manager and he is not....
7. All nerds aren't created alike. As a software developer, my ultimate goal was always to create efficiencies. Network engineers aren't wired the same way. The biggest conflict we have in my house is that I am always trying to do things as efficiently as possible and cannot shut up when I see when things are not done with optimal efficiency. This skill came in handy when I was a single mom with a young child and a baby. There really was not an extra second to spare. I became an expert at efficiency. My husband is more of a network engineer type of guy - he makes sure everything is up an running and is in fire-fighter mode if something goes wrong instead of worrying about preventing problems before they happen.
Although my husband and I are both nerds, we definitely have different approaches. I think we have to accept that programmers are wired differently than network guys and realize our little network needs both.