Wed, 25 Jan 12
Posted in Business, Programming, Web Applications at 6:32 pm by moore
This is a tough post to write. I’m at the tail end of an evaluation process for my company that ended up with us deciding to go with a third party vendor for software which powers key area of our business. It is augmentation rather than replacement, but still.
It was hard for me, because this particular key functionality was previously provided by custom software that I helped build over years.
I like to build things! Like most other software developers, I get excited about building stuff. One of the unmentioned frustrations of many software developers is building something and then seeing it shelved.
However, it was clear from the survey of solutions that there were three choices:
- buy something off the shelf
- get better as software developers and really, really accelerate our development
- have the business be negatively affected by this piece of software
Now, #3 is obviously not a good solution. #2 is a great solution, but is hard to put into practice, especially in a short time frame with a large code base (though we are trying to use some of the agile methodologies to make our software development more productive).
#1 it is.
Was this a wise choice? Talk to me at the end of the implementation, but I am hopeful. We did take several steps to protect ourself (after all outsourcing core business functionality can be deadly), including:
- a long, laborious evaluation
- engagement with multiple vendors, and
- building a set of criteria to help us determine if this outsourcing is meeting our needs
One thing that helped me take this decision a little less personally is to redefine in my mind the value of software to the company. It’s not the particular implementation of the software that provides the value.
Unlike a software company, my company doesn’t exist to write software (see Five Worlds for more on different types of sofware development). Instead, software exists to serve the company. Having something off the shelf provides the similar functionality for much cheaper. It also allows me and other members of the software team to write software that is unique.
Having been a contractor and having worked for a startup and consultancy, I’m used to being the disruptor. In this scenario, I was the disrupted (ht, David Skinner). It’s a humbling place to be, even if I wasn’t disrupted out of a job.
Permalink
Sun, 22 Jan 12
Posted in Business at 6:20 pm by moore
I recently read this post about startup team success from Paul Graham. Always fun to read Paul–I have a few sites I remember and type in periodically (haven’t used an RSS reader since Bloglines), and paulgraham.com is one of them.
The older I get, the more I see that being resourceful and having follow through are very very valuable traits. This post just confirmed that.
The corollary to that is, if you don’t think you are going to follow through on a suggestion or a favor someone asks of you, it’s far better to say no up front than to fail to follow through. That is going to be a tough lesson to integrate into my life, but it’s the flip side of that coin.
Permalink
Wed, 07 Dec 11
Posted in 8z, Business at 8:30 am by moore
Recently, at the company I work for, 8z Real Estate, we had a hackfest. A hackfest, for those not in the know, is a chance for employees to spend time working on whatever they want to do but don’t have time to do during the normal business day. It’s also known as ‘FedEx day’ because you build something to ship in one day.
The idea is to give everyone a chance to do something work related that they want to do, or try, or explore, but don’t have time to because of the hustle and bustle of work life.
From the post at Atlassian (as far as I know, the originators of FedEx day).
[The] task must be something “out of the ordinary”. This is hard to define – but basically the spirit is that you can’t do something you would normally do. It’s a chance to attack all those “I wonder if XYZ would work… “, “It would be nice if we could… ” small … tasks that always get pushed off in the heat of battle.”
We had about 11 employees and contractors gather at the office. Our schedule:
- 8:00 Employees arrives, normal work begins
- 10:00 Employees cease normal work
- 10:00 – 10:30 brainstorm session
- 10:30 – 10:45 pick projects
- 12:00-1:00 eat lunch (Snarfs!)
- 10:45-4:15 continue work on project
- 4:30-5:30 present projects (8 min presentation) and drink a beer
We had an 2 hour block of work at the beginning of the day because we needed to, but after that, almost no one did everyday work. Phones were off, email was closed.
The type of projects selected varied. Most folks weren’t developers, so we didn’t have a ton of shipped software. But we had some really interesting ideas, ranging from investigation of interesting technologies (what’s coming down the pike with our e-newsletter sender, infographics) to outlines of business ideas, to refactoring of business processes.
The excitement of all working together, in one room, on different projects, for a fixed amount of time, with no interruptions was one highlight. I also really enjoyed people’s varied takes on aspects of the business. It was also impressive to see the skills that I didn’t know some people had (powerpoint, for one). It was awesome how many good ideas we had, even though some of them would have taken a hackfest week to implement.
All in all, it was a worthy experiment and something every business should consider doing.
Permalink
Sat, 15 Oct 11
Posted in Business, Jobs, Technology and Society, Useful Tools at 11:18 am by moore
This site, Help A Reporter Out/HARO, is a great resource for anyone with expertise in any field who wants to be better known. (It’s also a resource for journalists, but I don’t have any experience with that side of the site.)
To participate as a source, you sign up and then are sent three emails every work day. Every email consists of 35-50 reporter queries, grouped by area (‘Travel’, ‘Tech’, ‘Education’, etc). Included in each query is the deadline, name of the reporter (if provided), anonymized reporter email address, and media outlet. There’s also some advertising, but I tend to skip past that (although I did click once on an ad that led me to learn about Google Apps Scripting).
Once you get the email, you scan the queries and see if you can and want to respond to any. I recently responded to one, but before that I’d passed off a number of requests for information to other people. Such handoffs are a great way to help other people out, and it’s kinda fun–who doesn’t want to talk to a reporter? (Psst, if you’re looking for a job, sending over a reporter query related to a company’s business is a great way to build rapport with people there.)
As I said above, a few days ago I’d finally found a query I felt I could help with, and responded with an email answering the reporter’s questions. The reporter responded, and I ended up have a 10 minute phone call about the story. So even when you actually participate, it’s pretty low impact.
I will say the hardest part of participating in HARO for me is scanning the emails–scanning 150 queries a day wears me down. I’ve stopped scanning them all, but still check from time to time.
I just think this is the coolest example of something that the internet allows, but couldn’t happen (at scale) any other way. The costs, both in money and time, of sending out and responding to reporter’s queries would be just too high.
Permalink
Sat, 01 Oct 11
Posted in Business, Cloud Computing, Dynamic Languages, Google Apps, Useful Tools at 12:02 pm by moore
I needed a way to email a Google spreadsheet to my boss once a month, for some reporting purposes. I could have put an entry in my calendar reminding me to do it, but I thought it would be a great time to try out the Google Docs scripting that I had read about for a year or two, and seen an AppSumo video about. (I got the AppSumo video for free, from an ad on HARO.)
It was laughably easy to get write the actual script (here’s a great set of tutorials). The only rub was Google doesn’t allow you to run scripts in month intervals, only hourly, daily or weekly. A small bit of scripting got around that.
Here’s the final script (edited to remove sensitive data):
function myFunction() {
var dayOfMonth = Utilities.formatDate(new Date(), "GMT", "dd");
if (dayOfMonth == 05){
MailApp.sendEmail("email@example.com", "Spreadsheet Report Subject",
'https://spreadsheets.google.com/a/mydomain.com/ccc?key='+SpreadsheetApp.getActiveSpreadsheet().getId());
}
}
I set up a daily trigger for this script and installed it within the spreadsheet I needed to send.
I really really like Google Apps Script. I think it has the power to be the VB of the web, in the way that VB made it easy to automate MS Office, reduce drudgery, and allow non developers to build business solutions. It also ties together some really powerful tools–check out all the APIs you can access.
Once you let non developers develop, which is what Google Apps Script does, you do run into some maintenance issues (versioning, sharing the code, testing), but the same is true with Excel Macros, and solving those issues is for greater minds than mine.
Permalink
Sun, 18 Sep 11
Posted in Business, Technology at 10:55 am by moore
Have you ever considered asking a software vendor to put their source code in escrow? I recently broached the topic with a vendor I was evaluating. They didn’t seem too happy about the topic (at first, they were a bit sarcastic ["does Oracle do software escrow?"] and then they deleted tech support forum post). I did a bit of research, and there doesn’t seem to be a clear consensus on software escrow. Here are two interesting articles: Are you just following the herd? and Source Code Escrow.
Just having started thinking about the topic, my thoughts are still up in the air, but here’s my first reaction. Source code escrow makes sense when the following conditions are met:
- The software is not open source (duh)
- The software is or will be crucial to your business
- The company is small or the future of the company is up in the air
- You (the purchaser) have the technical capabilities to support the software should you receive it, or you’re willing to invest in those who can
- You are willing to pay more for source that will be escrowed
I think of source code escrow like a warrenty on a car, or a professional license of open source software (like RedHat or Alfresco). It’s not for everyone (a car mechanic isn’t going to buy the warrenty) but it’s a nice option to have. And, to stretch a metaphor, if you’re going to soup up your car and build a livelihood on it, it’s nice to have a warrenty.
Permalink
Wed, 11 May 11
Posted in Business, Jobs at 11:58 am by moore
Via a retweet from Brad Feld, I saw this article.
This is confusing to me. There is no hard data, but I’d like to explore why are people leaving the US to start companies back in the homeland.
Is it because of:
- visa issues
- the cost to build a company
- the economic opportunity in their home country
If it is the first one, I’m in favor of reform, though I think there are a number of ways to encourage founders to stay, and tying their visa to VC funding, like the startup visa does, doesn’t seem like an optimal strategy.
If it is the second, then we need a cost benefits analysis. Making it easier to start companies is not an unalloyed good. For example, I wouldn’t want it to be easier to start a company that made cancer causing products. It’s harder to start a company in the US because we as a society have made choices that impose costs on companies. Ask the Chinese how it is to have ineffective regulation. On the other hand, as outlined in comments here, lowering risk for entrepeneurs (lack of health insurance!) could really lower costs for starting a company.
If it is the last, then, good luck to them. Who can argue with the fact that Indian engineers are cheaper or that “there are no mature companies, like Google and Microsoft” in these countries?
Permalink
Wed, 12 Jan 11
Posted in Business, Consulting at 2:42 pm by moore
I got a question from a friend who is doing some freelancing.
Perhaps an odd question, but when you do web work and run into issues that are only showing up in IE browsers, do you bill the client for the extra time it takes to try to figure out how to make the site work on that crappy browser? I know the web developer(s) we used for the farm calculator [a project for which he was the client] bill for everything, even if they are redoing something they screwed up… but I’m curious as to your way of handling things like this. I want to be fair to my client, and myself!
This is a great question, and goes beyond just “IE browser” issues. Here was my answer:
When I run into an IE problem, I will usually stop and ask the client if making it work perfectly on IE is really important to them. It would be useful to have stats for IE on their website (or the broader internet: http://en.wikipedia.org/wiki/Usage_share_of_web_browsers ), so they can know if 10% of their users are on IE6 or 0.01%. It also would be useful to have an estimate for how long it will take (as long as you’re clear that it is an estimate).
If I’m billing time and materials, and I’ve had this conversation, I absolutely bill the client, but try to keep them informed as to how long this is taking me.
If it is a fixed bid, then I might go to the client and say ‘I’ve run into this issue, for this browser, which is x% of your website traffic. There’s solution A and solution B, but both of them are things I didn’t expect. Can we talk about this additional work’. If they say no, I grit my teeth and deal.
So, to make it more broadly applicable, if you run into issues that you didn’t expect, here’s my advice:
- Stop work and identify the issue. Don’t keep spinning your wheels.
- Gather useful facts to help the client make an informed decision (IE browser % in the example above). Include a rough estimate if you can, but make sure the client knows it is an estimate.
- Talk to the client about the issue and find some kind of resolution.
- If the resolution is you doing the work, then, if you are on a fixed bid, explain how you didn’t consider this particular issue and see if the client is flexible about paying for it.
- If the resolution is you doing the work, and you are on a time and materials contract, then bill for the extra work.
- In either case make sure you keep the client in the loop about time spent and schedule changes due to the issue.
Surprises come up all the time. What is important is that you come to a fair accommodation with your client.
Permalink
Mon, 06 Dec 10
Posted in Business, Useful Tools at 2:01 pm by moore
Statsmix, a cool dashboard builder which I previously reviewed, is out of beta, according to an email I just received, and an announcement on their blog.
They have have added info about pricing on their site.
I took a brief look at the new release and it seems to address the pricing issue, but not the integration issue. Still, if I were running a business and needed some custom reporting measured over time, StatsMix would merit a serious evaluation.
Permalink
Mon, 08 Nov 10
Posted in 8z, Business at 4:46 pm by moore
I made the choice a few months ago to become an full time employee. After a number of years of contracting, this was not an easy choice. However, the company for which I work, 8z Real Estate, was not a black box to me. I had contracted for them off and on since 2005. Still, this was a big step for me, and I just wanted to blog about some of my thoughts around it.
Key reasons I became an employee:
- An opportunity to really focus on the technical side. No more being worried about the next gig. Becoming an employee makes it easier for an employer to offer more freedom (for example, to explore a different skill set) to an employee as well.
- The chance to be part of a kickass team with good teammates and a great manager.
- It is fun to be part of a growing company. We have Beer Fridays and other social events.
- Less stress about work in general, although, as Bob Lewis said, the only difference between an employee and a contractor is that the employee has the illusion of job security.
- 8z is doing some pretty cool stuff with some pretty interesting data, and offers a valuable service to many many people. I can’t tell you how many folks have told me they love COhomefinder, the flagship webapp that I work on.
What I miss about being a contractor:
- Business development–it was fun and challenging to think about how I could help everyone I met, or how they could help me
- Extreme flexibility of hours, including when and how much I worked.
- Greenfield development is always nice. I am constantly learning and so sometimes cringe when I see code I wrote years ago.
- Being able to say ‘no’/fire a client.
What I don’t miss about being a contractor:
- Waiting for invoices to roll in and/or reminding clients about outstanding invoices.
- Thinking about the next gig before the current one is done.
- Regular overcommitment–making hay while the sun shines is what I had to do, but I did over commit at times. Work life balance is easier to achieve.
- Paperwork.
I’ll be blogging about my work at 8z from time to time going forward, so I added an 8z category to this blog.
Permalink
« Previous entries Next Page » Next Page »