Computer

One of my coworkers plays in a band. It’s pretty good and gets hired often enough. I am not a musician but I admire what he does and try to attend every venue as part of the audience. I guess I am part of his groupie crowd and enjoy the camaraderie of the music world. The people are talented and colorful. They are people like no other. Each has his or her own preferences so the performances vary and are each unique. Sometimes people surprise you as to what they think is appropriate for a given listening crowd. There is something to say for novelty unless you have a string of hits that everyone wants to hear over and over again. Such is not the case with this band. It is just a local group that is getting a bit of a regional reputation. Where there is talent, there is a ready audience.

For an upcoming concert, we decided to put up flyers around the neighborhood in windows and on telephone poles and walls that would be eye catching and lure a new type of crowd. Thumb tacks were not practical so I borrowed a staple gun. A friend of mine is a painter and he stretches canvas over a wooden frame and fixes it with his staple gun. It is fast and effective. I thought I could use it to tack up the concert flyers wherever appropriate. The staple gun is easy to use and not that heavy so I toted it around for an afternoon finishing my task. I covered a lot of ground. I was hopeful that passersby would spot the signs and note the location of the band’s show. The flyer had a nice photo of the group, which by the way already has a bit of a following.

I like helping out doing something useful since I have no musical skills. My coworker has encouraged me to get to know the other players and friendships are blooming. I never thought I would relate so well to a band. I volunteered to do the flyers the next time since I already had the staple gun. Maybe I can help back stage packing up equipment or talking to the venue managers to book new gigs. I would be a little more important than a poster hanger and might even come up with some new ideas for gear and attire. I am sure my coworker didn’t expect this show of interest and felt that I had truly surprised him. Maybe he will even let me play the tambourine. Isn’t that the instrument for people who don’t know how to play anything else. I could add color to the group and wear an attractive outfit. Then we would have to take a new group photograph for the next set of flyers. I may be overstepping my bounds here, but am just trying to help. Who can’t use an extra pair of hands.

Here on Planet Limux, I have two jobs. The first one is boring and although I don’t mind it, I resent it because I need it to pay the bills.

And because I have to answer to someone.

And deal with other people and their inane problems sometimes.

But it does take away from my other job—my real love. I have my own freelance software company. I adapt open source software for individuals and companies to meet their unique needs. Linux makes this easy and fairly lucrative. The reason I can’t do it full-time yet is because, after only doing this for a year and a half, I don’t get steady enough work yet that I can pay my bills.

Total bummer.

It is hard because I feel like if I quit my day job, then I can focus more on my own business, but…then there’s the financial problem. My car isn’t that expensive, nor is my rent, and I live as thriftily as I can, but…some weeks there just is no work to be had. Even if I had all day to sit and look around for clients, if there isn’t anyone looking for a programmer, there’s nobody looking for a programmer. I do work on my own stuff sometimes during these lull periods that I can customize or sell off later as-is. Such is the beauty of Linux. But again, if nobody is looking, then nobody is paying me, and that’s when I am eternally grateful for my stable but boring job sitting at a desk listening to people complain about how slow their computer is or that their printer is out of ink. Oh, and the salary.

When stuff comes in one at a time, I love it. I get to come home from work, shake off another day in tech support, and get right into coding. Sometimes, though, I get slammed with freelance work. I have a few regular clients that will come to me because I’ve done a good job with something else, for setting up a new server, or because they need something tweaked. However, it seems that they all have a problem or need me for something at once. I won’t have any work for three weeks or so, and I’ll be biting my nails and watching lots of bad television, when all of a sudden, I have five urgent emails from various clients who want something done immediately. And as much as I’d love to be able to just sit and tackle each problem, knowing each one will only take about five to seven hours to fix, I’ll feel guilty knowing it will also take me two days per client per problem to get it all straight. Between my work and on-call schedule, and the inconvenience of having to eat and sleep, there is only so much time in the day for me to do that kind of work. I know people who can down energy drinks and sit there and code all night long.

I am not one of those people. I need sleep.

I’ve thought about cutting my hours back at work, but they’re not a super large company and are, however, plenty busy, so I would imagine they would have to find the funds to hire someone to pick up the slack my absence would create. I don’t think they’d like that very much.

So what about you? Do you do freelance work? How do you find a balance between that and a day job if you have one?

Three support phone operators at workplace

As soon as I sat down today, the helpline phone was ringing. Our server usually runs fine, and I checked it as I was answering the call. Yes, the server was fine. The caller started to say something so I asked if I could put him on hold. Caller huffed but said fine. I pressed the hold button and then checked our connections. Both internet and intranet were on line.

Great. That left two possibilities: either a computer problem or a user problem.

I picked the line back up, apologized for keeping the guy waiting, and asked what his trouble was. He said the internet was down. “No, sir, I just checked it. That is what I did while you were on hold. Everything is running ok.” I walked him through how to check his desktop for a connection and sure enough, he had knocked a cable loose in the back of his CPU. Problem solved. He thanked me like I did something special and hung up.

First call of the day down, only about 60 more to go.

There were a few printer problems that I actually had to go over to check out and one where somebody’s monitor had mysteriously stopped working. It certainly looked like the monitor had taken a face plant at some point and the LED screen was shot but I just pretended to look puzzled. Then I went back to the office to get her another one. I don’t make the damage claims or have to pay for the new equipment so it is not my job to say something.  I just tag whatever is broken, put it on the repairs desk, and install the new one.

Toward the end of the day, we did have the intranet go down. It actually had nothing to do with us, it was the other office. They were updating something and just installed it in the wrong place. I called over there and asked them how long it would take to get up and running.  They said 15 minutes, but we told everyone here that it would be about a half hour. It didn’t take nearly that long, but my boss likes to be dramatic about wait times. He thinks that if we tell people it will take longer than it doeswe will be in the clear. If it takes that long, fine, but if not, we look like heroes for getting it done early. A lot of workers had left by the time it went back up, claiming that they couldn’t do their jobs with the intranet down. That was fine by us. Everyone is always grumbling at the IT department so we get on everyone’s good side a little this way. People like to leave early.

We operated with a skeleton crew for the last hour or so because all we needed was for someone to answer the phone once the intranet was back up. Guess who got to stay? Yup, me. It didn’t matter because I was on call for the next shift anyway so I had no plans. Luckily nobody needed anything else and the rest of my shift went just fine.
Yay!

I had to walk away from a project for the first time ever, folks. That’s right, I jumped in the escape pod and plotted a course directly back to Planet Limux. I just couldn’t handle it.

Considering I deal with crabby, IT challenged people on a daily basis, not being able to handle one client will tell you something about the way this guy acted. I am always telling friends that if programming ever feels like it is becoming a chore, I will quit doing it in a second. And honestly, up til this guy, it really hasn’t. Sometimes things can be frustrating or tedious, but it is my passion and even the boring bits aren’t so bad. At least not to me.

Then I met this client.

He contacted me through my website, asking for a simple modification to an open source program that I am very familiar with. I gave him a quote and a timeframe, and he agreed to my terms. I turned it in on schedule, customization made and bug free. I expected the client to be satisfied, as I had completed the work successfully and promptly. Instead, I got an angry email that requested a bunch more work, which would take at least another day or two to complete. I chose my words carefully when I replied so that I would maintain my professional demeanor, but I clearly stated in my response that I did all the work I was hired to do and that any changes made at this point would be an additional project with an additional cost.

All of a sudden, my work was acceptable.

I tried to let that one go and not worry about it again, but the client contacted me again two weeks later for something else. Things were kind of slow and I had a gift I needed to purchase for a friend’s birthday, so I figured what would the harm be in accepting one more assignment? I could use the money and I thought it meant something that the client came back, that maybe they were happy with my work after all. I asked the client even more questions about what he wanted to try and avoid the same situation. We discussed what functionality he was looking for in the specific program he chose. I talked to him about small details and thought we were on the same page. I didn’t think there was any way we couldn’t be after all that back and forth.

Once again, however, after everything was completed, he found a bunch of things he wanted to change.

I went back through every discussion we had and saw that some of it was even stuff I had brought up and he had glossed over. It seemed that this was the way the client operated: he would ask for something small so that I would charge him something small, and then would try to get me to do more extensive coding free of charge by making it look like I didn’t complete the assignment to his specifications. However, everything was written down in our email exchange, so I knew I was not at fault. At that point, I felt ill just sitting down at my computer. I knew that no matter what I did, the client would find fault so that he could try and manipulate me into putting in more work for free.

I just wanted to be rid of this terrible feeling.

So I emailed him back and very politely said that I did not feel that I was the right programmer for him and that although I had tried my best, clearly we had communication problems and he would likely be happier with someone else. I wished him the best of luck and then blocked his email and IP address so that he can’t contact me anymore. It instantly made me feel a million times better.

What about you? Have you ever had a client like this? What did you do in the situation?

Errors and Bugs

Have you ever had one of those days where you might as well be banging your head into a wall as far as productivity goes? Today was one of those days for me. I swear everything I touched got worse, not better. I don’t have these days often but when I do, I am thankful that I’m not a surgeon or a pilot or something.

Please tell me that I am not the only person who has days like this!!

First, at work, one of the employees accidentally downloaded a virus. It luckily did not infect anyone else’s computers because we were able to physically remove it from the networks (and the employees wonder why everything here is hard-wired. This is the reason!) and isolated the virus but I could not get it removed. It just sat in the employee’s user profile, waiting for the profile to be installed on another computer so it could start all over again. Ugh. I went through everything countless times and just could not get it all. Finally, I gave up and passed it off to my boss, who showed me what I had been doing wrong. He made it look very easy and I felt inexperienced and foolish. We wiped that hard drive and gave the employee one of the refurbished computers. I spent another hour getting that one up and running, plus we’re required to change all of the passwords on the user account, and then give the employee a computer security seminar. Really it is a lecture, and there’s a form the employee has to sign at the end of it. It’s all a bit humiliating, for them and for me. I’m pretty sure when everyone else has to shut down their computers and we have to turn off the networks as part of the security procedures, they already feel about as dumb as possible and don’t need a dressing-down with me in the conference room to help matters.

I tried to shake off the rough day when I got home. I had a project from a client waiting for me. They wanted me to adapt a specific type of accounting software so that it was customized for their niche market. It should not have taken long but I just could not get the programming correct. Every time I thought I had it, I would run it and be hit with yet another bug. I would fix that one and run it again, and something else would come up. I finally went on a message board to ask for help. I got a lot of the “aww, poor little girl, leave programming to the big boys” as I expected, but I also got a few tips. I went back in and tried ond or two of them and that got it nearly running perfectly. I decided to walk away for awhile and went for a walk and dinner with a friend. While I was eating dinner, I figured out the last piece of the puzzle. I thought about leaving but didn’t want to abandon my friend.

You know what I’m going to say here, don’t you? By the time I got home, I couldn’t quite remember how I had figured it out. It took me another hour to work it all the way out. By then it was super late and I am about ready to fall over.

Hopefully tomorrow will be a better day!

My Personal Strategy

I really want to be able to support myself with my freelance job but I know that I have a long way to go before I can do that. I’m going to share my strategy with anyone currently visiting Planet Limux so that they can see what I’m doing, and what has been working for me, in case they are freelancers too and need some ideas or encouragement.

Right now, I keep my fees low to help build my client base and resume. Also, because I have a day job, turnaround time is not as quick as I’d like, which is another reason I don’t charge as much as some other people can. However, I can’t wait until I have enough freelance credibility that I can charge a living wage for my work! I’ve been doing this on and off for about a year and a half now and I’ve raised my rates every four months or so. Nothing huge, so that my existing clients complain, but it really starts to add up. Hopefully, it won’t take too long for me to get on par with my more established peers.

I am trying to put myself out there and reach out more. I’ve joined a few message boards and I started this blog to reach out to other people in similar situations. I also really want to go to OpenRheinRuhr this year. It is a fair on free software that has exhibitions, lectures, and workshops. I really want to meet developers and other programmers to talk about their experiences, find new open source software that I can use for my clients, and get some career advice. They are also doing some stuff on licensing, which can be kind of a murky area for me, so any help I can get, I’m going to take.

The end goal is to be able to support myself through just my freelance work. I know people who are brave enough to quit the steady paycheck and focus solely on their passion project but I am not one of those people. If my work was small but constant, I probably would do it—I could survive for a while living frugally until things picked up, I don’t have that many expenses right now—but it isn’t quite there yet. While yes, I’d have more free time to devote to rounding out my client base and be able to churn out projects faster if I didn’t have anything else taking up my time, I’d also starve. Nor would I have the electricity to power my computer or anything like that. So I work. And it’s fine. If you don’t think you can quit your day job yet either, don’t. Don’t let anybody tell you it is holding you back. Since I’m in a similar field at my day job, I actually end up doing a little networking there. I’ve brought in a few clients this way, either through employees who run a side business and need something or through referrals. Again, every little bit helps, so I’m sticking with it for now. As soon as the work gets more consistent and lucrative, I will walk out those office doors and never return!

There you have it: my three-arm strategy: a steady increase in fees to build up credibility and your CV, networking to add to your client base, and then enjoy being your own boss!  Fingers crossed that it is a good plan!