Cookie Notice

As far as I know, and as far as I remember, nothing in this page does anything with Cookies.

2014/10/10

The Frustration of Dealing with Users

This woman -- in honor of anonymity and cryptographic protocols, we'll call her Alice -- working on a startup has a problem. She has changes she wants to make in her website and she has no developer. She had contracted with a international developer, but that had fallen through.

I'm a developer, and I'm looking to expand beyond my primary work, so I offered to help.

Turns out, it's in Django, the Python web framework, although she wants to move it to something else. I'm not a Python guy and I'm not a CMS guy, but I'm willing to give it a shot.

Soon after she gives me access to her GitHub repo, she tells me that the international developer had taken care of the first thing, changing the logo, but those changes were a branch on someone's fork of her code. 

"OK," I thought. "This one's easy. First, she has to have the branch merged into the third-party's code. Then, that person needs to set her code as a pull request for Alice's code, and Alice then needs to merge that pull request. Last, she needs to ssh into her server, use git to fetch the changes and restart." The common thing with all of this? I can do none of it. I have no access to Alice's account. I have no access to the other user's account or repo. I have no access to the server. 

So, I draft an email, explaining the situation and the steps needed to get that code into position. Granted, on my end, I have allowed myself to become overburdened by time constraints. This becomes an issue with the relationship between Alice and myself, and and I own it. My primary goal for this is to justify the addition of the word "Django" to my resume, and anything else was gravy. But I was sure that a set of changes were coming, and it seemed a poor idea to work on the code until at least the changes were merged into Alice's main.

But, after some pushing (and repeated git pulls showed no change in master), I decided to try to get things running. I run a Windows laptop, because it's more about entertainment and ssh than real development, so I try to get Vagrant going and find that VirtualBox is corrupt. This takes some time to handle, time that I can't really call Alice's time, because it isn't her fault my laptop sucks.

And, as a personal failing, if I have nothing good to report -- I'm hitting issues and not getting it, or there are days after days where I'm unable to throw time or mental energy on a project -- I feel really bad about communicating no-good-news, so I go radio silence. Again, my bad. It's an issue I need to work on, and I own it and am trying to work through it. I don't want to tar others with a brush and claim I'm spotless.

Eventually, I get VirtualBox and Vagrant running, install Django and get the repo down, and I go to the "run this" file. I try to run it and it errors because a config file is missing.

So, at this point, this pseudocode is a simplification of my position.
# purpose of this program is to add two numbers

my $x = read_X_from_config_file() ;
my $y = read_Y_from_database() ;
my $output = handle_addition( $x , $y ) ;

sub handle_addition {
    # lots of complexity here.
    }

I'm expected to work on handle_addition(), but I have no idea what $x looks like because I don't have the config file, I have no idea what $y might be because I am denied access to the database and schema, and I really have no idea what changes might occur for handle_addition(). So, I explain my position, saying I'm in position where I'm technically able to proceed, but to really do anything, I need things from her.

The response is, since you don't have much time to contribute, I think it's best if I find someone else to participate in this project.

As I have said, it is not unreasonable for her to drop me from this, but I think she is really missing the boat as to what the issues are with her project. At no point was there any indication that there was any attempt to integrate the other developer's code, despite my suggestions, and at no point was I requested to ignore those coming changes and proceed. I say "You need to do this and tell me when you're done so I can go", and she acts like she's entirely waiting on me.

And, as this was one more side project than I can really spend time on, I don't feel I can, nor do I really want to, really get her to understand the situation.

So, I blog it.