Last week Justin Rohrman took a crack at the Freelance Rate Myth. It’s a good read. It made me want to take a swing at another classic, overly simple freelance idea: “Every year, fire your bottom-paying 10% of clients so you can hire new, top 10% clients.”
It sounds great. It is attractive. I have heard it preached by probably half the people I talked to about my freelance portfolio in the past five years.
The only trouble is, it doesn’t really work.
Here’s why, and an alternative. Continued »
In June I wrote a piece about what life has been like for me working as a technology contractor. This was mostly focused on the myth that all of contracting is the wild wild west. You have to be prepared to lose your gig in a moments notice. While that might be true for some people, that hasn’t been my experience.
This week, I want to go a little deeper into freelance/contractor mythology and talk about bill rates.
The literature I read gives one point of advice here; if you want a raise, raise your rates. There are even books and conferences names after this piece of advice. Logically, that pithy quote makes perfect sense. But in practice that just isn’t how freelancing works.
Extreme Programming gave us pair programming, a practice that is incredibly successful, wonderful beneficial … and hard to adapt culturally. Instead, people say they “pair when it makes sense”, which is code for “every now and again over a lunch hour”.
The main objection to pair programming is efficiency — it feels like two people doing the same job. If the pairs were split, development would be twice as fast! I can’t agree with that logic, but that is not today’s post.
Instead, today’s post is about effective pair programming when half the pair is a tester.
That’s can be scary, but with a little effort, testers can be incredibly helpful in pairing. Here are some ideas. Continued »
It is hard to point to an exact reason. It could be market saturation, the intersection of price and willingness to pay, lack of companies that want to hire people at that skill level, or coding schools graduating people that aren’t capable of doing software development work. Many of the sentiments I am seeing online right now point at the latter. People seem to think that the quality of the students graduating from a coding school just isn’t very good. They are on the verge of being self-taught, and don’t understand enough of the important concepts to be successful in a development job.
Well…duh. How good would you be at anything after 12 weeks of introduction?
I think this points to a different problem in software.
Having a baby comes with a lot of gear. Some of it you need, some of it you don’t. Some of it is useful, and and some of it just takes up space and collects dust. My wife and I spent some time researching baby monitors before our son arrived. Luckily, someone made the decision easier by gifting a Samsung BrightView HD Monitor.
We have had the monitor about 8 months now so it’s been in use long enough to form a couple of opinions. If you are are about to have a child or are hunting for a gift for a friend or family member that is, read on.
In a previous article I wrote about Katas and how understanding them can help make programmers stronger. Most Katas are relatively simple: they are usually used for small tasks, like to score a card for a bowling game or to convert roman numerals into numbers. Few of them have a real display, a real model, or significant complexity.
But have you heard of Conway’s game of life?
Conway’s game of life is a program that simulates a universe under specific rules. In the past I have not understood Conway’s Game;it is typically described as a”multidimensional cellular automata“, and I never quite understood the definition of those words. In this article I will use my experience to describe Conway’s game of life in more common words, and also explain how we can use it to become better programmers and technical staff.
Facebook is creating a company town in Menlo Park, California.
A company town is a residential area, complete with schools, grocery stores, and entertainment built by one company. Employees of that company will live there for a discounted rate. And sometimes, these companies will relocate entire families to these developments as a way to bolster their workforce. The auto industry notoriously created entire towns like this.
Facebook is doing this in something they are calling the Willow Campus.
This is good for Facebook, but probably a bad idea for its employees in the long run.
Amazon made yet another company acquisition this week. This time they bought Whole Foods for $13.7 billion. Journalists are talking about this merger could resolve some issues in food supply. The general idea there being that there are neighborhoods in the US that don’t have easy access to a grocery store. Amazon having stake in Whole Foods could potentially mean that they can resolve some of this problem by using their new access to grocery products in combination with their nearly complete supply chain.
I am seeing some potential downsides to the merger that will take some time to flush out.
I have worked in several agile projects over the years and they overwhelmingly look like a phased waterfall project got squished into two weeks. Take each phase of a waterfall project — planning, design, coding, testing, delivery/maintenance — put them into a two week delivery cycle, and that is my experience of agile. I suspect that is the agile experience for a lot of other people as well.
I went to another local tech meetup yesterday. This was an introductory agile talk for people that didn’t have much exposure, but the content was driven mostly by audience questions. The content was very good. The speaker started drawing models of what a waterfall project looks like, what an agile project looks like, and then some process we like to wrap around modern software development.
That is when it clicked for me.
Nashville is a meetup town, there is a meet up for just about anything you have an interest in. Have a thing for mechanical keyboards? Wt got you covered. Yesterday, I went to a combo meet up that covers testing, automation, and development all together. The theme was something I had heard of once or twice, but didn’t really know anything about, ChatOps.
My initial reaction to the term was “great, more fluff”. But, I kept my word. I attended the meetup, sat quietly and listened, asked a couple of questions, and learned something new.
This will be a lite into to ChatOps for people that were like me and had just heard the term once or twice.