Sep 18 2008

Road trip, the before and the aftermath

krystiano


So I took some time off. Not because I felt like I needed to, but because that’s what normal people do :) I really enjoy what I do, so I don’t really feel the need to go for holidays to get away from work. Nevertheless, there is more to life then work. Who knows, maybe visiting a new place or doing something new will give me some new ideas or different views on things.

Anyways, wife and I decide to go for a road trip to Vancouver. I love driving as I get to see a lot more and also gives me a chance to meet all sorts of people along the way. (Side note :One thing I quickly learned when I decided to leave the cubeland, is to talk to whoever I get a chance to talk to. I find socializing being a very effective marketing strategy for a freelancer.) The whole trip took 11 days and about 3500km. From the prairies, through the desert, through the forests and mountains to the ocean and back. The weather was very cooperative, except when we were approaching Vancouver that it started raining. How weird, it never rains in Vancouver :)

It was the first time I took some real time off since I started freelancing. It definitely takes more preparation when you are a doing your own thing. If you have any ongoing projects, you need to make sure that you leave your customer in a stable state so that they can survive without you during your absence. And even then, there is a chance that they will call and email you whenever they need to. You can always chose to ignore the calls and not check your emails, but if you are like me, the “missed call” will leave you wondering what is happening and why they called. I did end up being called on only two occasions. One customer had an issue not related to my contract work, but he didn’t know who to call so he called me. That is rather normal in my field, since I’m a Software Engineer or more commonly known as “The computer guy”. The second time I got called because I forgot to send my invoice. What a nice customer, I wish all of them couldn’t wait to pay me. That being said, I think I did take care of my customers, but it definitely takes more effort. As an employee, there are other employees to take care of things during your absence, as a freelancer there is no one there to have your back.

Now to the aftermath. The worst thing one can do to him/herself after coming back from holidays is to try to get the wheels in motion as soon as possible. There is no logic in taking time off and then burning yourself out in the next few days. I’ve done it before, and I learned my lesson. This time, I decided to take it easy in the first week after we came back. On each day I did a bit of work, but none of the crazy-deadline-multitasking-work. I also took some time to organize our holiday pictures, to take care of some long overdue paper work, reorganized my office room, etc. Oh yea, one thing I forgot to mention: Being an obsessive perfectionist who never stops thinking about the most efficient ways of doing things, while planning our road trip I planned to pass by IKEA to pickup some new furniture for my home office. I’ll be posting some pre and post pics of my office.

Since we came back, there has been some new opportunities and other goodies coming my way, stayed tuned.


Aug 6 2008

Future Me

krystiano


I decided not to count days anymore as I’m starting to feel like I’ve been a freelancer long enough. I’ve learned so much in the last couple of months, that I feels like I’ve been doing this for years. One cool thing that I realized just last week, is that working long hours is good for me. I actually see it as an investment. I spend most of my time writing code. Since the beginning, I kept track of my hours, what I worked on and when, etc. (Doing stats on myself is interesting.) Recently it felt like writing code got easier, and was taking me less time to do the same amount of work. Being an engineer, I had to back it up by some proofs. So I checked my time sheets from few moths ago and last few weeks and it was true. I improved my efficiency by about 25%. So by spending long hours coding, I now can spend less hours coding. Sweet.

Why stop there? That got me thinking that I should try to enhance my other skills. As a freelancer, there are other things that one needs to take care of. Accounting, marketing, documentation, research, customer relations, etc. By having to deal with the above on daily basis, I obviously got better at it, but I’m sure there is still room for improvement. I’ve always been a self-learner. (That might explain why as a kid I walked into a river and almost drowned.) I find it more rewarding when I figure out things all by myself. But the future me decided to try a different approach for once. I decided to learn new things by means that I never tried before. So I decided to read a book. I read books before, but they were all technical and related to my field of study. This time I’ll be reading a book that my wife have chosen for me. I asked for something with content but nothing too technical.

OK, let’s jump to different subject now. Salespeople. Their job is the exact opposite of a developer (me).  A good salesman can sell anything, even something that doesn’t exist. To make things even more interesting, he can promise the client that it will be ready by the end of the week. As a freelancer, I get to be the salesperson and the guy who makes it happen. Therefore I need to make sure that I don’t commit to unrealistic requests. What’s interesting is that freelancing offers way more then just more money. It gives me a chance to explore different fields and opens a lot off doors. Let’s say I’m an employee (programmer) and one day I decide to make a turn and become a marketing manager. I got no experience in marketing, so what do I do? As a freelancer, I get to explore the marketing side of business whenever I feel like. Maybe it’s not on the same scale, but still, it’s a good introduction to something new.

So basically, I decided to invest some time to learn the non-technical things and try out some new learning methods. I will let you know how it goes.


Jul 24 2008

Day 106: 73 days later

krystiano


Time flies like never before. It’s been 73 days since my last post and I have about 73 stories to tell. Yep, lots has happened, thus my excuse not to blog :)

When I started this whole freelancing adventure of mine, I sort of new what to expect thanks to many freelancing blogs and advices from family/friends and others. Well, knowing what to expect and living thought it, are two totally different things. I mean, when you know it’s going to hurt, you’re still fine. When it actually hurts, you realize that you were rather optimistic when you though you knew it was going to hurt.

In the last 73 days I managed to get quite a bit of new contracts. Short ones, longer ones, easy ones, and some shoot-myself-in-the foot ones. Sometimes customer’s expectations are very unrealistic, usually deadline wise. I can implement anything, but I need time to do it. So facing a customer like that, there are only 3 choices. Choice 1, refuse the contract and let some else commit suicide. This choice will likely lead to the customer never contacting you again (in the near future). Which is probably fine, when you have been a freelancer for some time and you have a well established clientèle and a nice fat portfolio. If you’re still new to the game, refusing a contract is not an option. I might be too optimistic, but I find that the more difficult the customer is, the more experience I gain. Choice 2, try to educate the customer. Explain the procedure and why it will take that long. If it’s a new customer, this choice will most likely lead him/her to try to get someone else to do it. If you have already done some work for him/her then the likelihood of your customer lessening to you is slightly grater. Choice 3, take the bullet. Be a hero now and suffer when you get back to your home office.

I did end up choosing 3 more often then I should, which translated to many sleepless nights. The only thing that kept me going is the challenge and new experience. By learning the hard way, and chances of me not making the same mistake are lower. Even if my social life has been close to none, I don’t regret anything. (By the way, thanks to my wife for being so understandable and patient.)

I started practicing choice 2 on customers for whom I did some work previously. It worked for some, actually it worked for most. Sidenote: I noticed that when I charge more, they pay more attention to what I say. If I charge less, I find myself being treated more like an employee. So they tell me what to do and how much time I am being given to do it.

So far, it only happen once that I actually refused a contract (choice 1). I got to admit, it’s a strange feeling, a weird feeling, but I try not to look back. Some customers might actually respect you more for being honest and have a better image of you.

OK, so besides work, I did some more work. Different kind of work though. I organized few things. I’m already an organization freak (and I’m proud of it), but there were certain things that I have been putting aside for too long. I even made myself an excel sheet…actually I don’t use Excel. Instead I use IBM Lotus Symphony, which is free, and is not bad at all. I just love IBM stuff, specially their laptops. Anyways, so I made myself a list of what I know I have to do for my customers and I tried to come up with realistic time estimates. It came close to 500 hours. So my next post will be in about 4 moths. Just kidding.

Also, one of my main servers died on me. There is never a good time for a server to go offline when it’s being used 24/7. So between juggling projects, I ended up rebuilding a new server. I decided to go virtual this time and free. I’m running VirtualBox, and so far so good. I figured, next time hardware go bye bye, I’ll just have to copy the virtual OS image to a different computer and I’ll be back in business. That will be 10min of work instead of 1 day.

Another thing, I think I’m starting to understand what others mean by “isolation”. The other day I went to pick up mail and I felt like I don’t belong outside. The sun shining on my face felt weird. For a short second I thought about getting back to the cube land, but I like being a freelancer and I like programming. I just need to find time for other things.

I got much more to write about, but I will keep it for future posts. Yes, I will write again :)

Picture of the day: “Big Mac”, probably the only fish who have seen so much code in his life and will see much more.


May 14 2008

Day 33: Since we last spoke

krystiano


I’m back. For the last 2 weeks I’ve been busy like this guy in the picture. And no, I wasn’t slacking of because GTA IV came out.

My office is starting to look like an office. We finally installed blinds which were totally worth it. One cork board was not enough anymore, and I finally framed all my certificates and diplomas to remind me what I achieved so far. Maybe I should just post some pictures of my office.

Just 2 days ago I finished an important contract (aka. “Door-opener-to-a-warehouse-of-contracts”). I did put a lot of time/effort into it and judging by the feedback I got, it was noticed.

After 33 days of me, myself and I, life is still good. It is actually getting better and better everyday. I’m starting to notice certain mistakes I made when starting this adventure. Only some minor ones, but I guess it’s a sign that I’m gaining technical experience and business skills.

Once again, thanks to “Feed the Dog” for poking me.


Apr 29 2008

Day 19: Mastering productivity

krystiano

What a productive day. After driving my awesome wife to work, I went for a short walk by the river. Then, on the way back home, I stopped as Starbucks to get a grande-mild-with-room-for-cream. By the time I got back home I was already pumped to do some serious coding. I grabbed my TODO list to carefully chose my next victim. Before 4pm I already accomplished more then I expected. So by walking away from my desk at 4pm I would have been completely satisfied with my performance for today. But Why stop there?

I found an interesting tool called nLite. It lets you create an image of your own version of Windows XP. You can customize it whichever way you want. I managed to shave off 250MB of clock-cycle-wasters and harddrive-space-polluters. Time to go through all the options and decide what to disable… 4 hours. My own custom image Windows XP that is faster then Carrera4 on the picture above…priceless.

Entertainment of the day: grocery shopping with my wife.

I added FeedBurner. Hopefully some of you will find it useful.


Apr 28 2008

Day 18: Shortest day of the year

krystiano

It felt like a very short day today. Even if I worked for about 11h, it flew by incredibly fast. I managed to check off a good number of points of my TODO list. I also picked up another 500GB harddrive. Seams like I can never have enough free space.

I feel like attacking a new personal project. I’m thinking an application for my PocketPC which will automatically keep track of my millage and destinations. I could use it to keep a log for business expenses. It could be interesting to see my driving habits at the end of the year. For now I’m using a pen and paper, but that’s so 80’s :)

Entertainment of the day: CSI Miami. I love how they arrest people because their tire pattern matches a pattern on a crime scene. Every tire is unique. So if you decide to use your own car to rob a bank, at least change your tires on your way back home.


Apr 25 2008

Day 15: 7 days without blogging

krystiano

Let me start by apologizing to my loyal blog readers who helped me realize I did not post anything for a week. I ended up working long hours, with almost no room for entertainment (that includes blogging).

Here’s a short summary of the week:

I have to say I’m proud of myself. I didn’t do any work over the last weekend. I did a lot of other computer related stuff, but nothing for my clients. Zero billable hours.

The week didn’t start too good. I figured out I was getting less and less productive with one of my customers. I’m working on few simultaneous projects for him. Each of them requiring maintenance and changes, which eventually lead me to spend 80% of my time dealing with little requests and 20% implementing new features. This is what happens when you deliver a product that is 90% completed and you never get a change to go back and fix those little glitches. So anyways, I had a talk with the client and explained he my new plan. I will stop developing new stuff for few days and concentrate on wrapping up whatever is already in production. He wasn’t too happy in the beginning, but I did manage to make him understand. Things are back to normal now and I learned my lesson.

Entertainment of the day (Monday): An ex-co-worker talking loud on his cell and his explanation why he talks so loud: “Because my friend on the other end was talking too quiet and I couldn’t hear him”. Hmmm…

The rest of the week just flew by. I don’t even remember all the stuff that I accomplished this week. Is that normal? Am I getting old? Another good reason to get back to daily blogging.

Picture: Today’s weather. We have 4 seasons in Saskatchewan: Winter, winter, summer and winter. Summer is really beautiful, but it only lasts one weekend. That was last weekend.


Apr 18 2008

Day 8: Like a fish in the water

krystiano


The meeting with the big guys went very well. Even if I’m just a little fish, deep waters don’t scare me. Looks like we will be moving ahead with the deal. I’m super excited, this might just be the tip of the iceberg of contracts with this company.

Other then that, I did some mockups and tried to figure out few bugs. Not much to write about. Overall a very positive day. Looks like the weather will be crappy for the weekend, but I can already think of 99 things that I can do indoors.

On the picture: A must have office furniture: Sumo bag.


Apr 17 2008

Day 7: Less coffee, more blogging

krystiano


I’m getting addicted to blogging. I helps me re-think my day and plan the next day. I’m also down to 1/2 cup of coffee/day.

Today was a day of real-life examples of bad software design. Likely not my designs, but they do affect the part of project on which I’m working on. Design phase is essential to have a healthy product, dohhh. Why is common sense not so common?

Tomorrow I have a meeting with some big sharks. I should be stressed more then I actually am. At some point in life I realized that no matter how much money you have, how much decision making power you have, you are still human. One thing that all humans have in common, is that none of us likes to get screwed. I don’t like fake smiles and overinflated marketing with lots of fine print. I usually present things as they are and in a very straight-to-the-point manner. Anyways, I’ll let you know how it went.

If you are wondering what’s up with all those little pictures in my posts. Well, I finally dusted off my SLR camera, so I’m posting some random photos of the day. All of them are post-processed in less then 5min.

Entertainment of the day: interview with Rob & Big . I quite like this show, but it looks like it’s over. Big Black got married and has a baby.


Apr 16 2008

Day 6: Guaranteed 9AM delivery

krystiano


Purolator has a delivery service which guarantees a 9AM delivery. But, I’m not Purolator.

Some customers have unrealistic deadlines. I figure it’s because they don’t know how much work it takes to accomplish certain tasks. Which is perfectly normal, but not so easy to deal with. Just after I sold them the idea that my software solution will fix their problem, they want it for the next day. What I found works best is to divide the whole project into modules and deliver by modules. It still won’t be delivered the next day, but way sooner then the deadline for the whole project. In my short freelancing experience, customers always want something “now”. It doesn’t need to be the whole thing, but at least something that will make them feel that I am helping them and it’s just a matter of time, but things are on the right track. Some clients are more chilled out then others. Making your client feel more comfortable is definitely a “must have” skill for a freelancer.

I had a 30min nap today and it felt good. I was planning on having those regularly, but the plan didn’t work. I’m doing an on-site contract so it’s hard to justify naps.

Other than that, I think I’m done buying work tools for now. My start up cost was mostly licensing and I got all licenses I need for now. Actually, wait, I still need to buy a good office chair. Any recommendations?