brandontreb.com Tips And Resources For Software Consultants

Lower Your Rates (Sometimes) - Investing In Building Your Portfolio

As developers, we hear the echo chamber on Hacker News and others shouting at us to raise our rates. We are worth it. In theory they are right, we are worth it and we should be charging an industry standard rate. However, there are some instances when it’s OK to lower your rates.

Here are 3 times when you should consider lowering your rates:

1. Building Your Portfolio

This is definitely the case when you are first starting out. If you don’t have a solid portfolio, why should a client trust you to build their project at full rate. You have no credibility and they would be better off using a large shop that charges the same rate, but has hundreds of apps under their belts.

Even if you are not just starting out, this can be a great strategy to employ if you are wanting to land a client that will “look good” in your portfolio. We have done this in the past when we have wanted to break into certain markets. We found some of the leaders in those markets, given them a killer deal (or built small projects for them) so that we were able to put their logo on our website.

This strategy has proven to be incredibly successful for Pixegon

2. Longer Term Engagements

Our overall goal is to make money and provide sustainability as indie software developers. If you get an opportunity for a longer engagement on a project you enjoy working on, this often times can be much more valuable than trying to get your full rate.

Example:

3 month gig at $125/hour VS 6 month gig at $100/hour

  • 3 months * 172 hours * $125 = $64,500
  • 6 months * 172 hours * $100 = $103,200

In my opinion, I would MUCH rather be working on a larger contract at a lower price than a shorter one at a higher price. At the end of the day, it’s all about the contract value and sustainabilty.

3. On The Job Training

As students of computer science, we should be able to build anything right? Well, sort of. In the past, there have been instances when clients have asked me to work in unfamiliar territory. Whether that is using a programming language I have never written in, or working in a field that I don’t know much about.

Rather than just declining these types of contracts and pigeon holing yourself into one area of practice, try giving the client a discount while you come up to speed. This benefits both you and the client. You, get on the job paid training to learn new concepts and expand your area of expertise, and the client gets their product built for a significantly lower cost.

Final Thoughts

Rates are a weird thing. I would encourage you to constantly experiment. Raise them, lower them, exchange some for equity. Find out what works for you and your clients.

Side Projects

Over at Pixegon, I really try to encourage my developers to have their own side projects. Often times, employers look at side projects as competition and try to own the works that their developers produce. Some will even go as far as to include this in their employee handbooks.

In my opinion, this stifles creativity and creates a feeling of contention between the employee and company.

People start side projects all of the time for a variety of reasons:

  • To make some extra cash
  • To learn a new technology
  • To sharpen one’s skills
  • Just for fun

From an employer’s standpoint, these are all great. It allows my developers the freedom to learn new things, make mistakes, and even earn extra cash. All without me fronting the cost.

While this might now sound selfish, it’s obviously a two-way street. Developers greatly benefit from this type of arrangement.

Getting started with a side project

This is one I struggle with all of the time. Sometimes it’s a motivation issue, sometimes I lack an idea, and sometimes I’m just feeling lazy and end up reading Hacker News instead due to my analysis paralysis.

The best bet is to just start. Whether your idea is big or small, stupid or world changing, just start writing some code. I try to utilize this tactic in all areas of my life from code, to writing, to working out, to minimizing, and even saving money. Once you get some momentum going, you will quickly find out what’s working and what’s not.

Here are a few Hacker News Posts that I found particularly inspiring to get you started:

Dont’ have any idea to start on? Try cloning something in one of the above posts. There are tons of ideas in here large and small and there’s plenty of room on the web for variances of differenct products. I probably stole most of this post from somewhere…

If you found this post helpful and want to hear more, make sure to subscribe to my newsletter. It’s not spammy, just let’s you know when I post.

Trying Something New

Every single year since the beginning of time (at least since the beginning of this blog), I have resolved to “blog more”. And every single year, I have absolutely failed at that.

So, in favor of systems over resolutions, I am attempting to do something different this year. Over the holiday, I blogged 12 posts related to my experiences as an independent software developer as well as business owner that I feel could benefit the community. These share everything from selling contracts to hiring friends, mistakes made, and more.

I plan on releasing one post a month on the first Monday of every month. Given that I already have these posts written, it should be a no-brainer to blog consistently. I also intend on writing in-between posts, but at this point that’s probably wishful thinking.

If you have any interest in this sort of thing (software development consulting), then be sure to add yourself to the mailing list.

Wishing you a successful and exciting 2017.

Cheers!

Develop Your Empathy Muscles For Great Good

A while back, I made a flagrant comment on Twitter about how I assumed the world worked. It was something to the effect of “The internet levels the playing field, so someone without a job is without excuse”. Not shortly after I hit “Tweet”, did I receive an array of Tweets back from people I highly respected. I was immediately humbled, and it was pointed out to me that I had a severe lack of empathy.

I’m sure I was just lamenting from a previous encounter with someone who I felt was acting entitled and felt they deserved something unearned. We tend to take situational experiences and generalize them. I’d imagine this is how stereotypes are formed. But this conversation really opened my eyes to something I had never thought about before: empathy.

em·pa·thy noun
the ability to understand and share the feelings of another.

As software developers, it is our job to see things from other people’s perspectives. Without practicing empathy, we end up wasting our time trying to solve problems that don’t really exist. We also miss huge niches/opportunities simply because a problem that needs solving doesn’t relate to us.

So, how can you practice and develop empathy?

First, start by listening, a lot. You can’t expect to understand another person’s perspective without fully hearing what that is. In relation to this, you need to set aside your own viewpoint or opinion. Simply, hear the other person’s point of view without judgement.

Second, go outside of your comfort zone. Spend some time with people you might not normally encounter. These could be people with opposing politics/religion/world views/etc… Another good place to start is with people who are in need. I have learned many valuable lessons from visiting soup kitchens, elderly care facilities, and mission trips to impoverished countries.

Finally, attempt to understand the needs of the people around you whether you’re in the coffee shop, grocery store, or the office. There is always opportunity to learn and to grow if you are simply mindful.

Practicing empathy on a day to day basis will not only allow you to see and solve problems others don’t, it will also make you a better human.

How To Lose $300K In One Conversation

Will you work for equity?

After you have been consulting for any amount of time, you are bound to get asked this by a client.  You may find yourself struggling to decide whether or not to take some equity or just get paid to work on the project like you normally do.

I had one such scenario a while back that I wanted to share. One day a few months ago, I was approached by a local VC in town.  Our relationship falls somewhere between acquaintance and friend; let’s call him Joe.  Joe has a very successful background and is one of the more wealthy people in my circle of influence.

Joe asked me out for beers to discuss a new opportunity for a mobile project.  I, of course obliged and met him out. During this meeting, Joe proceeded to tell me about an application he wanted me to build that would be aimed at teenagers.  The gist was: They would create rooms and the "cool kids" could vote other kids in and out of the rooms.

The offer he made was 30% of the application ownership and profits and a small share in one of his existing startups.  Given Joe’s history, I knew this would most likely be a successful endeavor, however I told him that I had to think about it.  Given the nature of the app, I had some strong moral objections to creating a tool that would allow teens to ostracize each other.  This didn’t quite sit right with me.

After taking a few days to think I it, I ultimately told Joe that I didn’t feel right about working on the application.  He said “no worries”, and that was the end of that conversation.

6 Months Later…

Some time had passed and Joe and I eventually met up for beers.  After a bit of discussion, he said “Hey, I wanted to tell you about that app”.

He then follows with “I found a college kid to work on the application and gave him the same offer that I gave you.  I also had a designer do some very basic mocks of the application. While I was out on a trip to Silicon Valley, I mentioned the application to a good friend of mine at Facebook.  Well, Facebook has a similar product coming out (turned out to be Rooms) and they decided to give me a quick check for $1.1mm to discontinue work on the product. I then wrote the college kid a check for $333K before he’d written a single line of code!”.

My immediate thought was “at least I still have my values”.  It’s pretty funny to look back and think about how I could have made so much money so quickly. However, even if I had known the potential payout up front, I don’t believe I would have still taken the project.  It would have eaten me up inside.

The takeaway of this story is twofold.   First, I’d urge you to choose your compensation wisely.  Before this encounter, I would always give a hard “no” when asked about equity share as part of compensation. I now take it on a person by person basis.  Second, don’t compromise your morals for money.  I look back on this story as a success and wouldn’t change a single thing about it.