Interesting article:
Jason Fried talks about hiring at 37 signals.
This on the street interviewing done by Google is really interesting:
http://www.youtube.com/watch?v=o4MwTvtyrUQ
It is not really that surprising that some people don’t know what a browser is. It is surprising how few people interviewed knew. The sample was probably not large enough and diverse enough to be statistically meaningful. But it is interesting anecdotally. And it really confirms what we already suspect–that most people aren’t really interested in how things work as long as they do. Those of us who are interested in how things work gravitate toward technical fields such as software development. We know what a Browser is, not only because we work in the field, but also because we are curious about how things work. And we have a hard time understanding how other people don’t seem to have a drive to figure things out.
When I’m working from home, I will usually work in a virtual machine that is sitting in a VM cluster on my company’s servers. When I’m in the office I’ll work primarily on the box that is siting under the desk. This arrangement started out for purely practical reasons. But I’ve discovered something very useful about doing development in two different environments: it forces me to get everything checked into source control. It is one thing to use source control in principle. But when you are working on a small team, it is really easy to fudge. I might for example create a SQL script for development purposes, but to save it on my desktop. Ooops, now I don’t have it anymore when I’m in my other location and I need to go looking for it. Getting in the habit of working in multiple environments means I’m much more conscious about getting everything checked in and hence organized.
There are two more benefits of using a VM that I’ve discovered. The first goes to general development work habits. I have a very flexible work schedule and don’t always decide if I’ll be working from home or from the office until the evening of the prior day. So I get in the habit of checking in my work every day. Which in itself is not all that valuable. But it leads to a focus on getting all my code to a clean state by the end of the day. I don’t want to check something in that might break a build. So I make sure that I leave everything in a clean and complete state before I go home. I find that this helps me to be very focused on the task at hand. The build works. Unit tests are complete and I get that satisfying green check mark. It’s a whole lot better to start a day without something that has to be finished or fixed.
The second benefit relates to working from home. If there was a power outage or some system update over night my desktop box might be unavailable and I might not be able to connect to it remotely. But since my virtual machine is running on monitored servers, it is more likely to be available.
A friend of mine recently asked me what I thought of the idea of a daily stand up meeting. I like it. A few years ago I was working as a consultant and the group I was working with had a daily stand up meeting. That daily meeting was very helpful to me because it instilled in me the principle that I call “Daily Delivery.” The principle is this:
Every day at work, I try to focus on one (or two) things that I can get done and deliver.
This principle was a direct result of the stand up meetings. Because every day I would report my work to the rest of the team, I wanted to make sure I had something to report. Some days, particularly at first, I had to be creative and come up with something to say. But as I got into the routine I found that having the meeting meant that I was planning my work in smaller chunks of 2, 4 or 8 hours. Not only did I FEEL like I was getting more done, but I actually WAS getting more done. It is hard to be focused on a large, nebulous task. Having a very concrete, short term task makes it easy to focus. And it is harder to put things off. When individual tasks are measured in weeks or months, it is all together too easy to procrastinate.
Even after I had moved on from that consulting job, I found that the principle of Daily Delivery stuck with me and has become a habit. I find that I am better at planing my work, more focused and more productive. Maybe all that isn’t just because of daily stand up meetings, but I think those meetings sure helped.
This week’s issue of Code Project included a poll question. The question was: “Do you limit the width of your source code? 76 columns? 100 columns? Anything and let word wrap deal with it? How do you swing?” The results were:
Yes, so that it can be printed easily, 6.09%
Yes, so it fits on my screen, 48.59%
Sometimes yes, sometimes no, 28.04%
No, 17.28%
I was surprised that the list of possible answers didn’t include anything about readability. Code readability is a big issue and long lines are harder to read, whether it be in a novel or in code. Code should be formatted so that it can be read!
I saw these pictures of Fog Creek Software’s new office space. This is really amazing! Who wouldn’t want to work in a place like that?
http://picasaweb.google.com/spolsky/FogCreekSNewOffice#
I’m not sure if I should admit that I think this is funny:
http://www.perlmonks.org/?node_id=149675
Thanks to my friend Neil for pointing me to this one.
I have lately had opportunity to review other people’s applications and source code, and there’s something that I just don’t get. After all the books, magazines, blogs, thinking and discussion about best practices, standards and the like, why in the world do so few developers actually pay them any heed? Why, why WHY!?! And I’m not talking about having a very heavy development process with all kinds of long written documents. I’m just talking about having some kind of program specification, some kind of testing plan, even writing code comments.
One of the excuses that I hear a lot is that “we don’t have time for that.” But in several ways, time is a lame excuse. Take code comments for example. If you are only thinking about typing extra characters, it makes some sense to say it takes longer. But typing is not the hard part! The act of writing some code comments for a function or a class can help the developer to clarify the design. I think it is more an issue of habit than of time. Once in the habit of writing code comments, it doesn’t really add more time. If anything, writing the comment first can help to structure the code and can actually speed things up. The other factor is of course that having good comments can make code more understandable to users and hence more valuable in the long run.
Another good example is unit tests. Sure it takes a bit more time up front to write a unit test. But in the long run it can save time. And not only that, but it improves the quality of the code and gives much more confidence in the application. So to use time as an excuse not to write unit tests is really hog wash.
Again and again I meet coders who shun all process, standards and best practices. They think that only the running application is what matters. In a very limited way, they are right. But this is really what separates a hobbyist from a professional developer. The professional developer is interested in the full application life cycle. When considering the full life of an application it is hard to justify NOT writing code comments, unit tests, and a minimum of supporting documentation. These are just the starting point for a professional. I don’t mean to be disparaging of other developers. But I’m tired of seeing sloppy work, poor quality and lame excuses. I want to have pride in what I do, and I could never take pride in some of the code I have seen recently. I thank that sounds harsher than I mean it to. It wouldn’t bother me as much if there were an accompanying desire to improve and learn. But when sloppy work is compounded with a smugness and arrogance it aggravates me.
I recently came across this web site that I hadn’t visited for years. They have a lot of cool geek stuff, some of the t-shirts are particularly funny.
http://www.thinkgeek.com/
Paxil and xanax interaction
Hydrocodone for ibs
Viagra side effects
Vicodin cod
Chlorzoxazone
Drug interaction xanax and holy basil
Celiprolol
Phentermine money orders
Buy domain onlinebigsitecitycom phentermine
Brand drug generic name viagra
Phentermine money order
Ethambutol
Snorting vicodin
Counterfeit viagra
Cefazolin
Lexapro and xanax
Discount cialis
Order cialis uk
Deslanoside
Norethindrone
Cyclothiazide
Xanax no prescription required
Mesoridazine
Drug viagra
Viagra generic brand
Buy online purchase viagra
On line prescription viagra
Phentermine very cheap
Viagra female sexual inhancement
Adipexdrug addiction order phentermine online
Bupropion
Adipex phentermine prescription
Dutasteride
Diflucan
Xanax online without prescription
Buy cialis in uk
Keyword prescription qoclick tramadol without
Generic cialis online
Phentermine sites that ship cash on delivery
Compare generic viagra prices
Phentermine side affects
Bad side effects of viagra
Discount viagra perscription drug
Herbal phentermine review
Cod overnight tramadol
Meridia better than phentermine
Iprindole
Buy canada cialis
Cialis levivia viagra vs vs
Moricizine
Buy in phentermine uk
Nonoxynol
Try viagra for free
Benicar
Buy cialis
Buy viagra
Adalat
Alternative viagra
Free sample herbal viagra
Viagra dangers
Dicumarol
Xanax versus prozac
Generic purchase viagra
Diet pills phentermine
Buy and purchase viagra online
Ergotamine
Valium vicodin
Viagra alternative for women
Phentermine pharmacy
Lorazepam
Information on the drug xanax
Buying phentermine without prescription
Diet information phentermine pill
Phentermine no perscription required
Dopamine
Prazosin
Vicodin abuse
180 phentermine
Viagra
Lindane
Lowest phentermine
Menadione
Phentermine diet pills
Female herbal viagra
Phentermine airborne express
Soma fm
Tramadol ingredients
Order viagra
Mebanazine
Buy phentermine tablet
Colestipol
Lowest priced viagra in the uk
Nasonex
Chlorpropamide
Pilljar phentermine
Cefpodoxime
Buying phentermine online
Viagra online sales
Xanax cash on delivery
Viagra dosage
Compare levivia viagra
Free viagra sample before buying
Hydrochlorothiazide
Ceftibuten
Cialis dosage
Lamotrigine
Phentermine without a prescription
Cialis new viagra
Albuterol
Discount viagra sales
Mevacor
Itraconazole
Sulfasalazine
Prozac interact xanax
Cialis generic viagra
Cheapest cialis
Phentermine for sale
Overnight tramadol
Information viagra
Bacitracin
Flovent
Viagra and pulmonary hypertension
Protriptyline
Cheapest phentermine online
Niacin
Kaopectate
Viagra pictures
Home made viagra
Best online deal for phentermine
Effects of phentermine
Cheapest viagra uk
Compare cialis levitra
Xanax bar effects
Low cost cialis
Generic vicodin
Premphase
Buy phentermine online same day delivery
Lovastatin
Tramadol dogs
Pulmonary hypertension and viagra
Xanax alcohol
Noroxin
Suicide xanax
Buy phentermine online payment method cod accepted
Cialis levitra sales viagra
Levitra vs cialis
Tramadol drug test
Cialis vs viagra
Cheap phentermine diet pills
Cialis uk
The daily scrum meeting is part of the Agile development methodology. A google search will reveal a lot of web resources on the topic. To summarize, a scrum meeting is a short (15 minutes), daily team or project meeting with some particular characteristics. The most significant of which are that only team members can talk. Management can be present and observe, but not speak. All discussion should be taken off-line after the meeting. The meeting is conducted standing up. Team members answer three question:
What have you done since last meeting?
What are you going to do before next meeting?
Is anything impeding your progress?
I have come up with ten reasons to have daily Scrum meetings. They are:
10. It’s good to stand up and stretch for a few minutes.
9. The meetings don’t take long, freeing time for more important things.
8. The project manager does not get to talk.
7. Team members get equal opportunity to talk.
6. The name comes from rugby. If you have never watched a rugby match you should.
5. The regularity of the meetings promotes team cohesion and consistency.
4. It is obvious if someone on the team isn’t doing their share of the work.
3. The meetings help facilitate team communications.
2. Scrum meetings help people set and achieve short term goals.
…and the number one reason to have a Scrum meeting is:
1. ‘Scrum’ is a cool name for a meeting.