Wednesday, January 12, 2011

Yammer

Is exclusive like facebook used to be- it's only for people with a company email address. I like the interface- it's simple and works well. Usage is growing but I'm not sure how it supplements or replaces other free-for-all discussion zones within the private company network.

I've been added to the TW bloglist. I've read the TW blog policy (thanks, Roopa!) and the part that says that I have to be interesting is only a comment at the bottom of the main document.

Feedback

My suggested draft of a communication from and to someone at a company (which is not TW or a client of TW):

I would say "If you look at your error message, it's caused by the fact that in the code you sent me you hard-coded the path of a file in your program to find a test file in your own system. This is not acceptable. It also implies that you haven't done testing with a significant test set, which is also not acceptable. Please tell me what work you plan to do on the two technical errors, and your thoughts on what I/Company can do to help you improve your quality of work on this project."
I think that my feedback is too harsh. I think if the "This is not acceptable" was taken out it would be better. However, the person being addressed has shown a lack of knowledge such that there is a need for very clear statements about what code practices are not best practices.

There's rather a lot more in the above vein, but this is the part that makes me most wonder what more I have to learn about feedback. 


TW Anthology

I learned about the TW Anthology today and checked it out on Amazon. Looks like they're a little expensive.

Training Day 3

A burn up chart keeps track of what the tasks are and in what stage of done they are. It is shared with the client, and it builds trust and helps to avoid surprises.

A lesson learned from the lego exercise: there was no user story for the body, but we had to build it in order to attach the legs to the head. Same for many parts of software. These are called nonfunctional requirements. 

In my opinion, Agile is just a zillion tiny waterfalls, with a customer on your shoulder.

As a warmup, we played charades, only the words were concepts from yesterday.
YAGNI - "you ain't gonna need it."
"every line of code is a libility."
Cycle: Estimate, plan, develop, showcase, retrospective.

The economic model of TW is based on where a $1 of revenue goes. There was a pi chart that had many parts. There are several types of overhead. Salary ia large part of total expenses. 

TW earns fees from clients. If the client is displeased with the work, or thinks that they will be displeased with the work partway through the project, they might not pay. As TWers, we have to do well enough at making good work and communicating with the client that this problem is kept to a minimum.

Fixed costs include rent and servers. TW treats employees as a fixed cost rather than a variable cost, which means that when times are bad TW doesn't just start firing people. "The biggest problem in this industry is getting good talent. Pushing them away (doesn't make sense)"
Operating expenses include the salaries of Legal and Recruiting. There are two kinds of overhead: overhead that goes towards any one country/office, and overhead that goes towards the company as a whole.

Types of deals in the consulting world: time and materials, fixed bid, and risk and reward (which is a combination of the above two, I think.) TW does mostly the first type. "TW charges more per hr than most other companies."

Risk and how it influences fixed price deals. Caps on time and expenses deals.

SOW = statement of work. It's a cost to fixed bids, and it's corrosive to the relationship...
The deal review process happens before TW decides to try to get a project(?): capability(can we do it), intangibles (new tech is good because it gives us an edge later), financial (how's the compensation).

Gross margin should be a certain number (but in the example we were shown, was below that)
On your first day on a contract, "what's in the contract?" (hardly anyone does this, but it might be a good idea?)

Differences between the UK and the US in how billing works- country customs and regulations(?)

Accurate timesheets confirm (or indicate a need for fixing) estimate quality.

A shadow is a non-charged consultant. It's a way to train a junior consultant and make them useful.

Blended rate

Wikileaks:
There will be a forum tor tech leaders and tech $ people at the Churchill in the Bay Area next Weds at 7pm their time, 8:30am our time. TW is sponsoring it. It's being broadcast live and we may be able to watch it if our trainers let us take time off during the work day to do that.

The boycotts of Wikileaks by various companies.

Lawrence Lessig wrote a review of the Social Network that goes into a case study about Nantucket Nectar and why the internet is a good thing in that context.

The subpoena of Twitter records in relation to Wikileaks.

Daniel Ellsberg, the guy who stole the Pentagon Papers, is 83 and still gets arrested at protests. This guy is badass.

Civil liberties group involving tech companies?


Tuesday, January 11, 2011

apartment internet speed

Last Result:
Download Speed: 499 kbps (62.4 KB/sec transfer rate)
Upload Speed: 481 kbps (60.1 KB/sec transfer rate)
Wed Jan 12 2011 07:45:50 GMT+0530 (IST)
from http://www.bandwidthplace.com/

And according to http://testinternetspeed.org/ I'm getting .46Mb down, which sounds pretty plausible.

My apartment has five balconies

Yesterday was awesome. My apartment here in India has five balconies, and there were cloves. Smoked a clove cigarette on a balcony in India, check. Had awesome conversations with fellow TWUers, check. Ate pizza in India, check. Had a study party, check. Got an epic series of bugbites which are interfering with my ability to type, check. Awake again at 6am when I don't want to be, check.

Training Day 2

Term: "geeks on a parachute" A few geeks who drop in and make win happen. (Usually a preparatory team to impress the client with a fast result so that the company may be thought of favorably in the future.

It's crucial to make good informal connections with clients so that you will be able to move past your differing technical opinions with good will- whereas if the technical argument is your only interaction, neither of you will feel connected to the other, or very happy about them.

"Get a Linkedin and connect with everyone in this room."

Here, we listen to a recounting of a cocksure young consultant's first two projects and the mistakes that we should avoid repeating. Lesson: don't interrupt clients when they're talking.

Complexities of engagement with the client:
- there is usually internal conflict in the client company.
- understand the politics behind the scenes.
- consultants have influence, not power. The goal is to have a lot of influence.

Book: Flawless Consulting (There are two books by this title on Amazon and I don't know which one he meant.)

In general, there are only 3 reasons that anyone hires a consulting company:
  1. Genuine desire for outside expertise (they give you power)
  2. Political (infighting)
  3. Dirty work (firing people. similar to political.) <- in general TW avoids this strongly
Here, we hear the story of how TW ended up with a certain large contract, and the mess that we had to deal with when it finally arrived at our door. It is long and complicated.

Next, we hear a story about negotiation at the highest levels about toxic individuals and project style.

"Nothing in large organizations happens very quickly."
"Most of the toughest problems we face are non-technical."

Next, we hear a story about a mobile app and the political situation which surrounded its creation and who could access its database.

Skills: trainable vs. non-trainable (can only gain through experience) 

Strategy- building influence through excellence. And then using the influence to affect goals.

We went over the TW categorization system for accounts, in brief. It'll make more sense when we're actually working on a project.

We discuss stereotypes about Indian culture using the example of a shopkeeper who keeps a customer waiting rather than telling him that the item he wants to buy is not in the shop. We must tell the customer "no" and "can't" when those things are true. No beating around the bush. A lot of times, what the client is asking for isn't what they want. Keep asking "why". If you have doubts in a client meeting i.e. something seems impossible or undesirable, TELL your fellow coworkers + leader. Never agree with someone just because they are above you. Also, when telling the client no, offer options and alternative courses of action.

We watch a video about TW and a satisfied TW customer. The satisfied customer still has complaints, and we analyze those. Quote: "choose to understand the craft."

Consultant vs. contractor: respected expert vs. body shop. TW avoids being used as a body shop unless we're doing it as a way to build the client's respect for us so we can have a good consulting contract.

We hear a funny story which warns us against accidental unprofessionalism, and also against lax security permissions on your computer.

What is a risk log? We went over it at a very high level. "A risk log helps to quantify risk." 

We did an exercise "how to put on my shoe" which taught us about how people can (willfully or through ignorance) misinterpret instructions. This uses what I like to call the duty of creative disobedience for the purposes of education- i.e. exploit every loophole in order to show how a thing can be improved.

We did a session called Roles on a Project, which was pretty interesting and elucidated many acronyms. 

We did an exercise involving making paper hats and submitting them to a trainer posing as a client for evaluation... the client valued different things and we got to figure out what they were by question-answer. 

Session on how to give good feedback: art critic exercise. There was much hilarity. Renaud's picture was the best. "I think you should make it more clear that this man is vomiting." and "Is that blood???"

thekua.com/atwork  is an excellent blog for consulting skills

Sumeet recommends books:

Sumeet recommends a lecture by Randy Pausch called The Last Lecture. It's about "achieving your dreams" and that sets off my fluff-o-meter but the clip he showed of it was pretty excellent.  

Written feedback is often unspecific and has adjective overload. But this is ok or at least not that bad as long as you give good verbal feedback.

Constructive feedback as the number of incidents increase: first talk about content, then about pattern, then about relationship.



History of TW assignment.

How did TWU get its current name? See the long below quote. 

Make sure it doesn't scare off immigration/border protection officers! We got into trouble when it was called "Global Boot Camp" because immigration officers thought that ThoughtWorks was sending people off to India to train with some sort of para-military organization. http://twuname.ideascale.com/ (check out the comments for more info)
The original name of the program was "Global Boot Camp", something most people felt was good and described how new hires from college would be trained once they joined TW. "Global Boot Camp" was also catchy; we could use it when talking to our customers, and even they started asking if we could run boot camps for them.
Unfortunately, this name doesn't work so well when it comes to crossing borders. Everyone involved had to be instructed to use "technical training course" when going through immigration at airports and border crossings, so we wouldn't cause any alarm. Apparently, that still didn't matter, because a ThoughtWorker unrelated to the GBC was stopped at an airport and asked "what is this 'Global Boot Camp' thing all about?"
In the search of a new name that still sounded catchy but had less of a militant edge, we through around a few names for the next round of training. Some of those that were rejected included the following:
"ThoughtLearning" (according to our brand guidelines, we can't break up ThoughtWorks)
"Global Thought Learning"
"Technical Training Course"
"ThoughtWorks Center of Excellence"
"Neville Singham's School for the Gifted" (Gary Larson fans united around this one)
"[ThoughtWorks.edu]" (couldn't get the domain)
So, we ended up with "ThoughtWorks University." We're not trying to be smart-alecky nor are we full of ourselves. We just needed to find a name we could use consistently to throw to the recruits, regional invitation letters, t-shirts and the corporate website.
We want something that rolls of the tongue and is easy to understand. If you want a better name, please suggest one soon.
https://confluence.wazokazi.com/display/GBC/About+the+Name

Monday, January 10, 2011

OpenSpace on Arduino, soldering, and makerbots (possibly with practical demonstrations)

What is (bring mine)
  • soldering
    - flux
    - lead-free or notlead free
  • an Arduino
    Show it off. Microcontroller. It has its own dev language.
  • a makerbot? (I only wish that I had one of these)
    - prints plastic, can make shapes that modern manufacturing can only do in many steps
    - prototyping
    - ideally self-replicating
  • hackerspaces
    - there's one in pretty much every city, and usually several
    - PS1 in Chicago
    - Janga in Bangalore http://www.jaaga.in/bangalore-hackerspace
What would you do with one?
  • Everyone say an idea
And then we will discuss... I expect it to be over relatively quickly (especially considering that not that many people are signed up for it...)

defeating jet lag

I slept during the normal hours of the night! Woke up to my alarm at 7:30 feeling triumphant but groggy. Now we're at the Orchid, eating breakfast... and it turns out that when I take both my wake-me-up pill and the weekly malaria pill at the same time- even if I take them both with food like they're supposed to be- the feeling it creates is to say the least interesting. I wonder how well I can learn while under the influence of pills which reportedly give mild psychoactive side effects.

The ill appears to have vanished for me and several other TWUers, which is excellent. I hope it stays away!