ask the dev: what does it mean when the previous dev won’t help me?

I was chatting with a colleague at a meetup recently, and he shared a story. He had recently picked up a gig supporting a software project via Craigslist. The client explained to him that the previous developer was no longer available. He needed a couple of new features to be implemented, and a bug to be fixed. My colleague thought it would be a good idea to have a brief discussion with the previous developer in order to speed up the transition on the project. The client gave him that person’s email address, and my colleague sent an email, but got no reply. A few days later, he sent another email. A week later, there’s still no response! The client averred that he had tried to reach the dev, too, but hadn’t heard back. He could give no explanation, and just suggested that the previous dev’s help was not needed, anyway.

My colleague asked me what I thought, and here’s what I said: It sounds to me like things ended badly between your client and the previous developer. Since the previous dev is not replying, maybe your emails got spam-collected. The fact that the client is not getting a response either is suspicious… If the previous dev parted on good terms, then I think he would have responded, at least briefly. I certainly would, even if I were busy.

Maybe the previous dev wasn’t paid for some work that was done. Maybe the client made unreasonable demands, rang his phone late at night, or something like that? I’d take this as a sign to “proceed with caution”. Don’t put a lot of work into the project without getting paid.

My colleague was doing the work as a fixed bid project. So maybe he should ask that each task be broken up into smaller, discrete pieces, each of which can be paid at an agreed-upon price. Also, the work should be clearly specified in order to avoid scope creep and disagreements about how the work was defined.

When freelancing, it’s a good idea to keep your initial project with a client small in order to test the waters. This is especially important when you have a couple of signals that your new client may be problematic. Getting ghosted when requesting information from a previous developer is one troubling sign. The fact that the client advertises on Craigslist certainly sets my spidey-sense tingling, too!

how to become tidy

I admit it. My entire life, I have been a messy, disorganized person. It’s inherited; my parents weren’t tidy either.

One can argue about whether messiness is a problem. Aesthetically, it is not pleasing to the eye, but that’s not what concerns me. The problem is being unable to find items easily. Sometimes, when I need an item, I have to go searching through many boxes or piles of clutter to locate it. It’s stressful.

My defense has been to set aside a block of time and make a huge sweep of my environment. I do this periodically, organizing, tossing things, and cleaning up. This action is only triggered when my frustration level gets too high, or when someone comes to visit me and I feel compelled to make things look a little nicer for the sake of others. So it doesn’t happen often – maybe once a year.

You may wonder why I don’t bother keeping things looking nice for me. My viewpoint is that life’s too short to spend time shuffling my stuff around. I try to strike a balance. I spend as little time cleaning and organizing as possible, while keeping my space tolerable to me. In this regard, I think my standards are much lower than the general population.

I’m fed up with this process, though. Like many modern-day technology workers, I’ve moved my household many times in my life, on average about every 5 years or so. Every time I move, it’s clear that I’ve accumulated more stuff, and have more boxes of things to deal with. When I settle into my new abode, it’s gotten to the point that I don’t even bother unpacking most of my stuff. It’s a waste of energy and space carrying this stuff around with me, and it’s a maintenance chore to have to search through boxes when looking for something that I need. It’s the physical equivalent of spaghetti code, and it has all the associated problems of spaghetti code, only in meatspace.

Since my old method of dealing with the problem is a major fail, I’ve been looking for a better way. I picked up the book “The Life-Changing Magic of Tidying Up: The Japanese Art of Decluttering and Organizing“, by Marie Kondo. This is not going to be a rave review of her system, since I haven’t even started it yet. In fact, I’m still reading the book. I have a minor critique: The book itself could use some decluttering… it’s too verbose for its topic. As an aside, I picked up her book from the library. Whenever possible, I’ll get books on loan from the library – it helps to ward off clutter, and it’s a cost-cutting measure.

The system that’s presented is to go through groups of items one at a time, and to get rid of things that do not “spark joy”. Kondo says it’s easiest to start with clothing. You should take every stitch of clothing that you have and drop it into a pile. Then, you pick up each item one piece at a time, hold it in your hands, and decide whether it sparks joy in you. This a basic principle of her system: only keep items that spark joy.

That’s a problem, because I think that most of the items that I own do not spark joy in me. If I get rid of them, I won’t have much left. I guess a lot of my stuff falls into two categories: 1) things that don’t “spark joy”, but that I should not throw away, and 2) things that I really like (“spark joy?”), but that I don’t use so much.

Category one includes things like old tax forms and dish detergent. If you pick up a bottle of dish detergent, does it spark joy? Well no. But you use it every day and you probably don’t want your household to be devoid of dish detergent. Old tax forms do not spark joy, but you really want to hang onto them in case of an audit.

Kondo does admit that things like tax forms need to be kept. She believes that there are very few items in your home like this, and she may be right, but so far I have some doubts.

I am getting ready to start on Phase I of her tidying plan: sorting through my clothing and deciding what to keep, and what to give away. I’m pretty sure that I’ll find very few items that “spark joy”. As a general rule, I dislike shopping, and I tend to buy clothing for practical reasons: is it functional? Does it fit? (It is hard to find clothing that fits well!) What about my old office clothing, or the couple of suits that I keep aside for interviews? I actively dislike the clothing that I used to wear at the office, and I’m also not keen on my interview suits. But I may need them again, some day. Should I toss them because they don’t spark joy, and then later on, potentially have to shell out hundreds of dollars for replacements? I think Kondo would say “yes, get rid of it!”. Kondo never really addresses the cost of doing things her way; in her world, money is no object. At least, it is never mentioned as a consideration. It makes me think that her method is aimed at a certain class of people – people who can afford to pay a consultant to help them tidy up their spaces.

It could also be that I’m misinterpreting what she means by “sparking joy”. The things that spark joy for me are activities and experiences: for example, a blue-sky day spent skiing after fresh snowfall. The pants that I use around the house on a daily basis do not spark joy. But if I toss them, I’ll have to go find a new pair. And I find it hard to imagine I’ll find a pair that sparks joy. Pants just don’t do that for me.

I know in advance that I’ll have to amend her method. I’ll be keeping things that I need to keep – things that I use now, or that I know I’ll use in the future – even if they don’t spark joy. I’ll also keep things that I might eventually need that would be expensive to replace (interview suits). I’m still hopeful that her method will work for me. It’s absolutely true that I’ve kept far too many things in my life, things that I have little or no use for. I have boxes of old “tech” books that I’ve hardly ever looked at, and that are largely out-of-date. I’ve also got too many old articles of clothing that I don’t like, and that I can afford to give away. So I have some hopes for the system. I’ll write another blog post about how the system works as I go through it.

ultimatums do not work for me

I’d been working on one side project – a website – for several years. I made progress on it, but it never really succeeded. What was I looking for? Modest traffic… almost any traffic at all would do!

I had given a link to the website to a few friends, and I could see that they had accessed it (their feedback was good – they all told me that they liked it). Other than that, though, the site was like a virtual cul-de-sac.

So I gave myself an ultimatum: I will add one last webpage to the site, publish the whole thing as an ebook, make it available on Amazon, and then I’ll quit working on it for good.

What actually happened, after I made my ultimatum? I found myself distracted by numerous other side projects, chores, and fun things to do. It has been 3 years since I gave myself that ultimatum! And I never finished that last challenge.

This behavior seems to be repeating itself. I recently gave myself another, similar ultimatum, about another side project, and it has killed my desire to work on the project at all.

If my intent was to force myself to stop working on an unprofitable or fruitless project, then I’ve succeeded. However, that was not my intent! When I think about, I never really wanted to stop working on my project at all. It was a labor of love, and I enjoyed the work that I did on it. I just wanted it to “succeed” – get more viewers – and I was frustrated about that not happening. The truth is, however, I had never tried anything to get more traffic at all, other than sharing my webpage with a few friends. I had sabotaged myself.

Upon introspecting, I feel that I was afraid of reaching a dead end. If I tried harder to drive traffic to my website, and even that didn’t work, I’d be stuck for real – I would literally have no clue how to proceed. As it was, I could always feel like there was something I hadn’t yet tried… something else I could do to get more traffic… later. Whenever I had the time to get back to it.

I don’t have lots of time these days, but I think putting in a few hours each week to add more content to my old website, and work on driving traffic, is not too much to ask. In the end, even if it never gets much traffic, I will still have enjoyed the process of content creation.

I can’t see the point in giving myself ultimatums, anymore. They are counterproductive!

sometimes procrastination helps

I surfed to my blog today, only to find the following, disturbing error message:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, … and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

I checked my host’s status page to see if the server was down. Nope.

I have several websites running with this host. I checked several of them. Most were down, but not all.

I checked the php logs, in particular error.log (I won’t say where it’s located; you can find that out from your specific hosting service). In the log I saw this:

[Fri Sep 22 09:39:26 2017] [error] [client ...] Premature end of script headers: wp-login.php
[Fri Sep 22 09:39:27 2017] [error] [client ...] Premature end of script headers: index.php

I knew my host had recently updated WordPress, and I wondered if this was causing the problem. I started an internet search, but it turns out the “Premature end of script headers” error is quite common and difficult to diagnose.

I kept checking back at my blog, while doing all this, and suddenly, the page loaded.

It seems to me something was going on at my hosting service. I just happened to access my sites at an inopportune time. If I had gone away and waited a few minutes, the problem would have been solved by itself with no bother on my part. Sometimes it just pays to wait! And with a blog that gets almost no traffic, I can afford to.

should bootstrappers reveal their revenue?

The user patio11 is legendary on hacker news. In 2006, he developed a piece of software called “Bingo Card Creator” which let users “print custom bingo cards on [their] own PC or Mac”. In 2008, he went open kimono to the world with his sales stats. He was selling up to $60K/year of software, at times. Then, in 2015, he sold the website (in case you are wondering, it did not bring him a fortune).

Revealing your company’s revenue probably didn’t start with patio11, and it certainly didn’t end with him. Amongst microISVs, it has become faddish to do so (e.g. see Indie Hackers and Baremetrics). From a spectator’s viewpoint, it’s both entertaining and informative. Seeing these stats, any developer who is tired of working for others will surely think: “If there are so many successful micropreneurs, why can’t I be one, too?”

Such openness is inviting and attractive, and it might even generate favorable PR. But it also seems like a huge vulnerability. The biggest danger is telling a bunch of ambitious software devs (or product / biz-dev people) about your income-generating website or software product. You may very well wake up one day to find that 30 clones of your site (or product) exist, each making a small amount of money, and your own revenue source suddenly decimated. To be sure, I think this is more of a danger for smaller sites. If you are making hundreds of thousands of dollars in revenue each month, you probably have a monolithic organization with a sales and marketing / PR team to protect your business. But then you aren’t really a microISV anymore, are you?

So why do some software micropreneurs and bootstrappers share their revenue? Ya got me. I’m betting the number of software shops that share their revenue numbers is small compared to the number that are quietly humming along successfully and hiding their revenue. I hope that’s the case! It would be nice to know that there’s still a lot of room for the rest of us to enter this frothy market.

There’s a related discussion of this topic at hacker news: Ask HN: successful, transparent bootstrappers?. Caveat: it’s 7 years old! There was a suggestion that being transparent helps to build business contacts… so you might consider that as a useful side-effect to this kind of openness, if that’s something that might help your business.