CFO’s and business owners want feedback from their programmers, which is tough when often times the better programmers have spent their lives incubating skills that borrow from their ability to return phone calls. And costs for a web site are all over the place; from several hundred dollars for a simple revision to a hundreds of thousands of dollars for a site with vast databases, and volumes of functionality. So – when a project depends on a high level of accountability and communication, and all of them do, clients just want to know what is really happening behind the veil of code.
All consultants’ fees are based on a daily billing rate, which reflects the value they place on one day’s labor plus expected overhead expenses. These rates appear in fixed fees, monthly retainers, hourly billing or even by measuring a company’s performance. Either way, those fees must be justified with the quality of their work combined with effective communication and reporting.
The savior of the coding hero is to maintain good internal systems and to enjoy the ability to recognize weakness and to compensate for it by surrounding one’s self with colleagues of varying skills and personalities. This wisdom steers a client away from hiring one-man shops where “man-down” doesn’t mean the death of a project. Consistency comes when redundancies are as present as the front-line programmer.
At Whiteboard, we make a habit of communicating internally through continual education, participation in the open source community and a diligent internal peer review process. In doing so we encourage our staff to pay attention to the details. It also keeps us talking, keeping all parties informed. Upon request, our clients receive online access to reports that monitor the progress of each project, including time sheets.
We have cleaned up many messes created by one-man shops or companies who care little for the details. And while we are grateful for the opportunity to do so, we feel your pain and look forward to providing relief.
Whiteboard-IT is closed for the Thanksgiving holiday. We wish you a merry feast and will re-open for business on Monday, November 26th. For those traveling – please be safe.
As your company grows and the demands on your time grow more and more monumental, it is easy to fall into the trap of just reacting to the emails, forms and communication that bombard you with increasing frequency.
Your insurance company wants you to get some forms signed for them. You answer the phone, and a payroll processing company wants to take you to lunch. Your recruiters are scheduling interviews. Legal council has some contract adjustments to discuss. Before you know it, the calendar for your whole week is full. While all these things sound quite important, what’s more important is that you become the decider of what is important.
If you live in this reactive state, then you are letting the world around you decide what is most important for your business. It’s not that the world is necessarily out to get you, it’s just that time is finite. If you want to truly be the master of your destiny then you need to take control of what is put on your calendar, what calls you take, what calls you make, and what deserves your attention.
So what am I suggesting you do? Don’t be a slave to your to-do list. You should have three or less major endeavors that you are personally pursuing. Being an executive is about looking into that crystal ball and trying to skate to where the puck will be. Once you have decided what you want to do then it’s time to either do it or delegate it or scheduled it. There is really no other decision. The delay it, file it for later decisions are for hoarders. If it isn’t important enough to get someone started on it now or schedule it, then it isn’t important. If it becomes important again later then you will be aware of it because you will be doing it or delegating it.
In the transition to this mindset, you will need to frequently ask yourself the following question throughout the day.
Am I doing the most valuable thing I could be doing for the future of my business?
The answer will not always be yes, but if it is not yes at least twice a day then you are doing something wrong.
In the past, developing web applications meant using SQL. For those relying on relational data, this was no problem. But for those with massive amounts of data, this was like steering a barge – a bulky solution, creating drag-on queries when the intended goal was speed and availability. As Whiteboard looks at the architecture of a site, we have many options from which to choose.
With the oppression of limited Databases came a rebellion, and with that rebellion came a movement. In this case, the NoSQL movement, which arrived with a myriad of motivated programmers caused a pendulum swung that cranked out new opportunities…most of them open-source.
Those opportunities have clever names, and were created by a host of wild enthusiasts to handle a huge quantity of data, especially when the data’s nature does not require a relational model. They are Mongo, Cassandra, Riak, Redis, Couch and Neo4J to name a few.
Cassandra (Apache Cassandra), for example, is a NoSQL solution that was initially developed by the people of Facebook as a hybrid database management system that allows for tunable consistency goals. This means that a query may provide different results from different angles, but it is widely available to users – and fast.
Which brings us to CAP Theorem:
In computer science, the CAP Theorem says that it is impossible for a distributed computer system to achieve these three guarantees at once:
A. Consistency (C) – all nodes and queries see the exact same data at the same time.
B. Availability (A)– 100% uptime.
C. Partition tolerance (P) – the system keeps going even when message loss occurs in part of the system.
To try all three would be like placing child seats in a race car, which of course is built for speed, not a daily shopping trip. To try, you would need to dial down your speed, therefore defeating the purpose of having a race car.
Cap Theorem suggests that to gain A, one may need to sacrifice C. To gain C, one may need to sacrifice A and so on…
- SQL allows C and P, but decreases A.
- Riak focuses on C
- Mongo gives A and P while, some say, decreases C.
These are debatable assertions, and often dependent on the programmer who is turning the knobs. But even Birmingham’s own MongoDB claims weakness, as its focus is on flexibility, power, speed, and ease of use, while sometimes sacrificing “fine-grained control and tuning, and overly powerful functionality.” Still, it is the rock star of the NoSQL movement and is now being used by SquareSpace, Craig’s List and MTV.
We often use CouchDB, at Whiteboard-IT. Jacob Kaplan-Moss, author of “The Definitive Guide to Django,” claimed here,“Django may be built for the Web, but CouchDB is built of the Web.” As the web is our native environment, CouchDB is the most natural tool for us to use.
The NoSQL movement is has great momentum, though it has earlier roots. Lotus Notes, for example, was forced to write their own database in 1985, which they called NSF (Notes Storage File). Founding member and former CEO, Tim Halvorsen was NoSQL when NoSQL wasn’t cool. He says,
“…we created it from scratch. At the time, I looked at some of the databases out there (e.g. dBase, etc), and they were all too limited for what we needed. So, we wrote our own. Its a “document database”, not a relational database, with each “document” (aka record) having a variable number of fields. No schema – each record was self-contained, but they could also be indexed (which any database must be capable of).”
History was made and even CouchDB is based on the work accomplished by Lotus Notes.
So – there are many options from which to choose, and if your web designer goes to SQL straight away, it might give reason to ask if others have been considered. Depending on your requirements, you may have another need…the need for speed.