RSS

Category Archives: management

I ripped through the Mythical Man-Month

[Update] You cannot read MMM without reading “Death March — Yourdon”. I just skimmed sections named “Good Enough” and “Best Practices, Worst Practices”. I will have to rip this book shortly.

I was given my first copy of this book when I was a contractor at IBM. The manager that loaned it to me was a good person and an effective leader, manager and architect. I ripped through parts of the book and gave up. Brooks is a fine writer but some of the stories were just a little too slow. Also,  for my taste, once you acknowledge that the writer is credible and provides reasonable references then I get lost in the arguing over the minutia.

What is also interesting that this tomb tome was accepted as gospel in the 1980s. A lot of the information in the book is still consistant with my personal experience but someday it may all be regarded as false. For the moment I’ll keep my one page summary as the summary I might use when my intuition checks out.

 
 

Resumes, GitHub, Blogs, or Social

What a mindbender! Yesterday I read a Hacker News headline that suggested resumes had no value. Today I read an article from a former Facebooker who said blogging and social were a waste of time to concentrate on developing something good. And there have been countless sitings of GirHub hires in recent months.

I’ve written about the hiring process many times in the last 12 months. So in response to those writers: ARE YOU KIDDING ME? C’MON MAN!

First of the hiring process for any employer you’d want to work for is never as simple as RESUME=HIRED. There are so many steps that need to be performed before and after the interviews. It’s one of the many reasons that companies insist on “contract to hire” as well as extended probationary periods. In many instances the resume has become “the cover letter”. While some employers still like cover letters they are not so much about the content as they are about demonstrating genuine interest in the potential employer. The same can be said for just about any hoop they make you jump through.

A GitHub reputation, by itself, is not a strong indicator. One of the things you’ll hear on any bank or investment bank commercial is something to the effect “past performance is not an indicator or guarantee of future performance”. The same can be said for a GitHub reputation/score. Let’s not gorget that while this appears to be an objective number it is subject to electronic analysis and could easily be gamed.

Blogs are also a tough one. When your hobby and career are one in the same thing… and you are not self employed. It is possible to upset someone for having a public opinion that might be contrary to what is happening inside the workplace. That guy from FaceBook probably got fired for not knowing when to keep his trap shut.

Blogging is one social aspect but using 100% social or marketing to land that next job will likely also not work. Everyone has circles. Are you sure that it’s a good thing that the circles overlap? Really?

None of these things are good on their own for landing a new job. You have to do them all. There are not magic pills or spells you can cast. Finding a good job, even a great job is hard work. The odds that someone is going to hand me or you a blank check are less probable than winning the lottery. So play the lottery.

 
1 Comment

Posted by on 2012/09/29 in for hire, management

 

Standup Meetings: Scrum vs KanBan vs Agile vs Other

Everywhere you go these days teams are doing some sort of standup meeting. Whether it’s rigorous, loose, or even adhoc they are doing it.

  • KanBan

In the KanBan standup meeting the team is supposed to take a task centric view. That means (a) blocking tasks, (b) tasks that are risky, (c) tasks that have not made any change since the last time, (d) whatever’s left.

  • Scrum
  • Agile

On the otherhand, Scrum and Agile take a resource centric view. Going from contributor to contributor… answering the questions (a) what I did yesterday, (b) what I an doing tomorrow, (c) what is blocking progress.

  • Other

Between the Agile/Scrum and KanBan they pretty much have things covered. I imagine that if anyone were to invent a new process it might look exactly like these with variations on time, scheduling, attendees, subject mater and/or magnification. So other is my catch all.

One other thing to mention is that sometimes the teams are cross functional and so the stand ups take place twice. Once in the cross functional team or cell and again in the vertical talent pool. And finally, at some point when the project is big enough the updates need to be escalated to the next level so that the information can be aggregated and the stake holders engaged to make critical decisions if necessary.

In conclusion they all have something to offer. Whether your team is going to benefit depends on the team, the mission, support and needs from leadership and stakeholders. Knowing what and how to communicate; and how to summarize and report are key to success. Let’s not forget that feedback is an important part of the cycle too.

 
Leave a comment

Posted by on 2012/09/25 in agile, management

 

Tags: , , ,

Pair Programming – shared experiences

I’m not a fan of continuous paired programming. There are a few cases where it makes sense. (i) new employees, (ii) rookie programmers (iii) certain rapid development cycles. However, sustained two users and one keyboard is simply not practical unless it’s full contact MMA style.

There are a few other interesting offshoots. (a) Real-time file sharing (see subethaedit and coda) (b) splitting the coding into dev and test but coding in parallel and together. This can be even more fun when you add a third person who it structuring the module’s API signature while the others fill in the blanks.

Pair programming is not meant to be arm chair programming or back seat programming.

 
2 Comments

Posted by on 2012/09/14 in agile, management

 

Tags:

Getting ahead of the pack in an Agile world?

I just bought 6 books from PragProg adding to my expanding library of eBooks on the subject and taking some cues from real life and experience I want to know “what is it going to take for me to receive the highest salary increase” when salary adjustments are handed out?

However every industry has it’s laborers and architects –Richard Bucker

Historically salary adjustments had many different names. (i) cost of living increase (ii) merit increases (iii) bonus and so on. And in pre-agile times managers would rank employees. First everyone might receive a basic or flat rate adjustment … for surviving the previous year or as a part of profit sharing. And then, using the ranking, the manager would increase the employees from a shared pool at the managers discretion based on any subjective or objective criteria.

However, in an Agile world where managers are supposed to be looking for marathon like sustainable development, what criteria should a manager use to rank or reward employees? For some employees overachieving comes naturally, for others it takes a lot of time or effort. The former will demonstrate sustainable performance and maybe some personal growth. The later will eventually burn out. Since the goal is sustainability it is going to be incumbent on the manager to NOT burn out the employees, therefore, either the bar is set lower to accommodate the average employees or only the best will do. (However every industry has it’s laborers and architects)

The fantasy world of Star Trek is based on a meritocracy. If you have the aptitude to be a starship captain or a gardener you’ll be assigned to that task. As for actual compensation I cannot remember it ever being discussed except in the rarest cases. Agile would have you believe that a meritocracy exists in this world too. If it is them maybe we are actually in transition… and while I cannot tell whether it’s a good thing or not… I want nice things and I want to make sure that my employees can have nice things too. But for this to work I need to reward them somehow.

 
Leave a comment

Posted by on 2012/09/04 in agile, management

 

Apple OSX FileVault – a false sense of security

The guys at Apple have done a pretty poor job describing the inner workings of FileVault and FileVault2. I’m sure that part of that is for security through obscurity. And the rest might be FUD like federal agency back doors. Recently there was a well publicized DEBUG flag that put the user’s password in the clear on the disk.

All of that aside. Back in 2011,  when I was working onsite in Sweden, my laptop decided to stop working. The problem was quite serious and at some point in the diagnostic I was whacking it against a coffee table. On the upside; my client had a contract with Dell who provided many hundreds of identical mini laptops running the latest Ubuntu with a totally encrypted hard drive. The user had to enter a password for the encryption and then a userid and password to win access to the OS. What was interesting about this model was that unless someone entered the HDD password there was no way to get to the data. I’m fairly certain that the password contained some shared info between the CPU, the user and Dell; in some way.

The way that Apple is doing things with FileVault2 is almost similar, however, it’s never clear whether the user’s userid and password are sufficient to get past the encryption. In which case not everything is encrypted. This is especially bad if the users’ name and picture are displayed in the login screen. A bad guy prone to violence or severe measures can now match a user to his or her hardware definitively.

In many ways the original FileVault is better. (1) because only the encrypted data is encrypted. DUH! and therefore the CPU cost to decrypt can be reduced for things like audio and video files. (2) It takes the actual users’ credentials in order to access the data which has the downside that the OS could always be compromised.

I think I like the Dell approach. It’s overt and so there is mo mistaking that the system is encrypted. The Apple version leaves too many questions for the legitimate user.

 
 

Tags:

Agile Manifesto – Agile Rails – the proof

Typically in a scientific endeavor if just one component of the proof turns out to be false or unprovable then the entire  endeavor is considered a failure. This is not the same in software development. The successful parts are kept and the failures are deleted.

But this brings me to the point. The author of Agile Web Development with Rails Fourth Edition (pragprog) quotes the Agile Manifesto and then draws an inference with Rails.

“Individuals and interactions over processes and tools” –Agile Manifesto

and then …

There are just small groups of developers, their favorite editors, and chunks of Ruby code. –Agile Web Development

and then all was lost…

“Working software over comprehensive documentation” –Agile Manifesto

You won’t find 500-page specifications at the heart of a Rails project. –Agile Web Development

The “problem” here is that is assumes that everyone is an expert; everyone is performing to the same level all the time; that there is no attrition on the tech or business side; and that people never get bored in their jobs.

It’s nice to say that everyone can look at a SHA-512 function and determine what and how it works from the function prototype and the code… as easily as they would understand a hello world. That is simply not the case. The existence of the SHA-512 is based on a rigorous mathematical proof that is akin to the 500 pages of requirements.

I recently tweeted that I could not imagine the construction crew of the Empire State Building or the Brooklyn Bridge completing their projects without (a) a requirements doc (b) a blueprint or two.

The Agile group can work on small and less complicated projects but once you get to a certain scale in complexity or Mythical Man Month scale then Agile is the real myth.

 
1 Comment

Posted by on 2012/04/21 in agile, architecture, management

 

Tags: , , ,

Startups, Incubators, and Hackathons are Evil!

I want to build my own startup!

I remember a conversation I had with my father about 30+ years ago. He was recently retired for the second time when we were talking about potential businesses. There was a time when he was the president of his own company and I always thought that when he retired I would take over. Anyway that was the message in the media in the 70s. Now it was time for a new future. As we discussed businesses he mentioned that over 90% of all new businesses fail.

Shit… what was I going to do now? (if I had to do it all over again I would have minored in computer science instead of majored)

I don’t know what the numbers are today but I cannot imagine that they are any better. And let’s be specific… the percentage of tech startups that succeed has got to be lower that that.

I want to be at a hackathon!

Until I decided to include hackathon in this article I had no real idea what it was. Some weeks ago I wrote about the social aspects of hackathons and the hiring process. I don’t think anything new or interesting is here. Frankly why would I want to sit around a table with a number of programmers etc… working on some idea that some else may or will cash in on. This is akin to the programming challenge and if you’ve read anything I’ve written then you know how I feel about that.

Hackathons are a way for employers or projects to get some concentrated and potentially high powered thinkers in a room to solve difficult problems. What happens to the results are anyones guess. They are also a way for companies to audition potential employees. And for junior programmers to leapfrog the apprentice process.

I want to be accepted by the next incubator class!

I have a great idea. If I can get some VC money it will totally disrupt a $100B market in the US. The problems here are serious.  First of all it’s $100B dollars. Once I start to pitch VCs it’s going to be a race to market. Patents or not it’s going to be about who delivered. Everyone else is going to be in court trying to figure it out for the next 100 years and in the meantime I’m standing in breadlines.

And if the incubator takes me on the first pass… then there is the huge chunk that I have to forego as compensation. Not to mention that’s when the Silicon Valley types start to insist that I have ping pong and foosball tables… and ask interview questions that have programming challenges.

The real question?

How does one become the 10 or 15% successful startups, that did not have to trick or social engineer it’s way into prominence, and did not give up too much of it’s equity…. and famously do no evil … in the process?

PS

I really do have a $100B-USD disruptive idea.

 

Tags: , ,

Programming Challenges are “de-motivational”

I think the title of this article give away the ending. Sorry… I suppose you can stop reading here.

Thank you for reading on… I recently applied for a programming position. In the initial response email from the hiring manager or HR I received a response like:

… and then there is the programming challenge … and it should take 2 days.

Really? Are you kidding? You want me to give up 2 days for what? That was my unfiltered subconscience speaking. But really, that’s a lot to ask. Specially when someone is going to take my 2 days of work and skim it for some quasi critical check boxes and make a summary evaluation.

So I said no.

As for the programming challenge. With over 25 years of practical experience and interviewing on both sides of the fence… I do not do programming challenges if I can help it. They are (a) subjective (b) generally insulting (c) trumpeted by junior silicon valley programmers (d) perpetuated by myth (e) and a sign of lazy managers.

I’ve written about this sort of thing before and I think this summarized the many articles. But this morning I had one of those inspirational moments.

I recently started reading The Developers CodeI’m only part way through the book but I have started to connect with the author. Reading an essay at a time as my toddlers crawled around the living room playing with their toys… I made it into the “Motivation” section.

Having pets in the office was a necessity when you work 10 to 16 hours a day, however, I have to admit that I never liked ping pong, darts or pool table in the place of business. And this is where I fork into two equally important thoughts.

(a) these so called “perks” require more than one person to be stimulating. In one workplace I visited all of the workspace wall are glass so if you are playing ping pong instead of your job (1) everyone sees (2) it requires two. Both have a demotivating effect on team members trying to get work done while others are at play.

(b) the “perk” of our career path is supposed to be the work. I happen to like transactions and databases. Luckily for me there is plenty of work in this space as most applications today are built this way. But the work is it’s own reward.

So when you ask me to take 2 days of my life to work on something that is not going to yield any appreciable results… there is simply no motivation to do the work. It also speaks to the nature of the organization.

As an aside, some programmers like to talk about code as art or science. The field might actually be divided on this note. I do not think it’s either. but that’s fodder for another article.

 
3 Comments

Posted by on 2012/03/30 in business, for hire, management

 

Tags: , , ,

Twitter, Facebook, when is it time to drop all your social networks?

Just a few minutes ago I saw a linkedIn post from a former coworker. It read “excellent read” and then some shortened URL. I used to follow this guy because he was a CTO that I respected while I worked with him but recently, since I started following him on Twitter, I realized that he did not have a lot to say.

One would think that a CTO for a technology company would promote the company, promote the technology or even the people. No. This guy tweets about pizza, wine, and his last great kill in the wild. So I Un-followed him. But when “excellent read” popped up in LinkedIn I found myself asking… just for a second… could he be publishing the next piece of disruptive advice that would propel me into financial and intellectual nirvana.

Meh! I doubt it and I’ll never know.

In the meantime I find myself asking myself some of the same questions. What is all this social stuff good for? The Zuckerbergs of the world would have you believe that we all need it like we need air. The fact of the matter is that all social networks are time suckers. In order to keep up with your email from work, facebook, messages and so on… you’d have to dedicate your day. And all of the micro interruptions that time consultants used to tell us about are coming back around.

There is nothing like a clean desktop policy and yet I have two screens and a second computer all directing interruptions at me.

 
 
One Page Docs

Creating a library one page at a time.

One Page Bugs

Reducing the friction of writing and fixing bugs or features.

Follow

Get every new post delivered to your Inbox.

Join 223 other followers