Banks prefer bad debt, why is that?

First some definitions:

  • Bad debt is debt that was incurred for a liability, for example, buying cars, throwing a party, buying a boat, going on a trip.
  • Good debt is debt that is used to buy a producing asset. Debt used to start a business that is producing profit, buy a property that produces rent, etc.

I once asked a bank for a loan. The loan would have been given to me on the basis of my salary, track record in earning money, credit report, and current affordability level. Still they asked me what I was planning on doing with the money and I told them I was planning on investing them in one of my business and on that basis the told me that I was rejected because they don’t do business loans. Mind you, I wasn’t asking for one, I was asking for a personal loan.

Naively hoping to still qualify I explained that my business was buying property abroad and that it was a really good deal. Their answer was that I should talk to the mortgage department because they don’t do loans to buy property because then the property could be mortgaged and lost and they are left with nothing (nothing except every single payment coming out of my salary, mind you).

When I talked to the mortgage department they told me what I expected: they can’t offer mortgages abroad.

Later on I went to the same bank, I asked for the same amount and I told them I was planning on blowing it all out on a party. They said yes. Now that I was planning on just spending it on one single event of which no good financial outcome could come out, my salary was good enough for them to say yes to the loan. I asked what if I wanted to spend it on a highly depreciating asset, like a car, and they also said yes.

It seems like banks prefer you to have bad debt, than good debt. I don’t know why it should matter one way or another if the collateral is the salary, not the asset, but if it matters, why does it matter in the wrong direction?

How I started documenting at a new company

I once got a job at a company that was acquiring a massive piece of intellectual property from another and it was my task to build a team to maintain and transition the knowledge as well as running assets (servers, databases, etc). The company that hired me had no relevant the documentation and the IP we were buying came with very little and all potentially obsolete. Everything was a matter of asking random people one after the other piecing together the puzzle until the answer was built. Oh… and I had 6 months to get it done.

The process of starting to write documentation was very daunting, so I created a new type of document that I named “Exploration”. An exploration is frozen in time and describes something that happened, was found, discovered, figured out, etc. For example an exploration might say: “My boss asked me to add an account, I didn’t know we had accounts. I asked Johnny and he said Sally used to do it but she left. I asked my boss who replaced Sally and I was told to talk to Sam. Sam told me how he adds accounts, the steps are 1, 2, 3, 4. He doesn’t know what step 3 does but he knows that if you don’t do it, the account doesn’t work.”

An exploration is frozen in time and describes something that happened, was found, discovered, figured out, etc.

I bet I’m not the first one to come up with this concept, but I haven’t seen it anywhere. Have you?

The goal of the explorations is to quickly form a written corpus of documentation about “How do we do things here?”. This allows you to depend less on people, which is very useful during transitions or turbulent periods where people might leave.

One of the key aspects of explorations is that they are narrative, informal, and not necessarily high quality. It’s hard to write the manual so people don’t do it. Specially if it’s a big manual of which nothing is written. The exploration is a brain dump.

Explorations should be stored in a centralized documentation system that’s easily searchable. My preference is Confluence (maybe using the blogging feature), the cool kids are using Notion these days. Stay away from Google Docs, because it promotes private copies and there’s no way of having a single tree or directory of documentation. Being able to easily search all explorations is very important and they should be searchable with the rest of the documentation.

Explorations sometimes evolve into proper documentation, procedures that are maintained and live. When that happens, I often have a See Also section in the document that points to the explorations that influenced it and at the top of the explorations I add links to the document. It’s important to note that explorations are tier 2 documentation and it’s important that everybody knows it so that they are not taken as truth when read and are written liberally.

The frequency at which explorations are created changes depending on what’s going on at the company, but generally people should be writing them any time they faced something puzzling. The way I do it is very simple: I constantly debrief with my team about what they did and after they told me the story of what happened, what they did, the workarounds and we have a good laugh, I almost always say: “Please, write an exploration about it”. It takes some effort to get started, but I think often people realize not having to remember things and just making brain dumps has a lot of value. Eventually they would just write explorations without me asking.

Don’t expect explorations to have an immediate effect. It takes time to build a corpus of data that is worth searching for answers. It might take you a year to get there.

A manager should multiply, not add

If you are managing a team of people that are transporting rocks from A to B and you spend one hour picking ups rock from A and dropping them on B, you added one hour of work. If you spend that one hour procuring wheeled carts so that people don’t have to carry rocks on their backs, you increased their performance by 25% (and happiness). One task makes you an adder, one makes you a multiplier.

And this is very semantically correct. If your team has 0 people, increasing 25% of 0 is still 0. Your effort was wasted.

If you are a multiplier, the more people you manage, the more impact you have. That’s why often the compensation of a person at the top of a huge organization is so big (not to say that current CEO compensation is correct, that’s another story).

I find this is a good heuristic to know if I’m working on the right thing as a manager. Am I adding or am I multiplying? Sometimes I have to add, but if all I do is add, am I a manager?

The output of a manager is the output of the organizational units under his or her supervision or influence.

Andy Grove, High Output Management

Something to keep in mind is that multiplying is hard. Well, it’s hard to find the opportunities when you can multiply. You need to sit down, look at the team carrying the stones, think about a better way, go find some carts, get a quote, evaluate it, run an experiment, see the increase in performance, discover not everyone knows what to do with it, write the manual and the training program, stop everyone from carrying stones (temporarily dropping productivity) so they can learn to use the wheeled carts.

If as a manager you are so busy with interruption work that constantly lands on your lap, busy doing adding work, you will not have the time and mental space to think and find opportunities to multiply. This is why I don’t like the always-busy CEO or always-busy manager. When do they do their thinking?

If you want to learn more about this I highly recommend Andy Grove’s High Output Management.

Standups should be asynchronous

Quick definition:

A standup is a type of meeting commonly done in software development teams and now expanding to other knowledge working teams. During the standup meeting you say what you’ve done, what you are planning to do, and whether you need help or are blocked. Normally they happen daily and they are called standups because traditionally were supposed to stand up in front of your desk and just share with everyone else. The idea is that by standing up, people would be brief… that is often not the case (I worked at a place where standups would take between 20 to 60 minutes for about 6 people).

The idea of the standup is that the whole team is on the same page, but in my opinion, most developers zone out until it’s their turn, they say their bit, and then they zone out again. The only person paying attention to everyone is the manager. And generally there’s nothing bad with that except that we are wasting people’s times.

There’s a problem with the standup though, which is, at what time is it supposed to happen?

  • 9? too early for most developers
  • 10? ok for most, but those that show up at 9 will do nothing until the standup, because why bother getting in the zone if you are getting to get pushed out of it.
  • 11? now almost everybody spends most of the morning doing nothing because of the upcoming interruption
  • 12? just before lunch? maybe… at least people will keep it brief! But those that eat later will get annoyed by the interruption.
  • Any time in the afternoon? are we talking about today/tomorrow instead of yesterday/today? most people don’t plan tomorrow’s work and thus the what-will-you-do? part will be of low quality. Oh… and those that are not morning people will get their most productive time interrupted.

The solution is very straightforward: asynchronous standup. People just give a brief report to the manager, but in a public space, about their plan for the day and what happened yesterday. I guess you could do it face to face, but that’s awkward. Text asynchronous standup are much better and they are friendly towards distributed work. They have a second advantage: track record.

The standup is one of my most useful tools for management. I don’t expect members of the team to read each others report, but they are all public. If I notice a conflict or a potential synergy, I may ask someone to look at someone else’s report.

If I don’t understand something, I drop a question. If someone has been working on the same thing every day for too long, specially if they mentioned they were close to finish, I have a chat with them (could be a task is problematic, blocked, a drop in performance, etc). If someone is planning on doing something that shouldn’t happen, I jump immediately.

As a manager, it’s yet another opportunity for me to give encouragement to individual members of my team about their work, to thank them for doing the crappy tasks that nobody likes, etc. I sometimes push myself to do that, because otherwise the standup could start feeling like a useless bureaucracy, writing something that nobody ever reads, a thankless task. I want my team to know I’m reading it, paying attention, finding places to help, etc.

I generally use Slack for text communication for my teams and my favorite app for asynchronous standups in Geekbot. It’s good if you are together, essential if you are distributed.

Your first tool for distributed work: the headset

This is an essential tool that every worker on a distributed team or company should have, no exceptions: a headset. Let’s explore why.

When working distributed you are going to be having a lot of calls and the quality of audio is important. All meetings are tiring the same thing work is tiring, but bad audio is a divider. The worst the audio is, the shorter people can sustain the attention to complex meetings. Not only that, but the cognitive load generally means that people get cranky, irritated, tired and that means wasting productivity.

You want the audio of the other person to come directly to your ears. That will help you understand and hear, but also it will remove any chances of the audio getting to the mic completely removing the chances of any echo. Yes, software can kill echo, but generally that adds awkward micro silences at the beginning and end of someone’s speech that are very tiring.

You want the microphone right in front of your mouth to avoid capturing your environment’s noise, the cars on the street, the AC or fan, the children on the patio (or your lap), the cat running around, etc.

This formula is not new, it’s what we use in environments that are so noisy people can’t talk to someone sitting next to them and so critical that miscommunication can mean death, aviation:

Just copying the aviation headset form factor is a good place to start.

FAQ

Can I use my laptop’s speakers and microphone?

The microphone tends to be bad, capture audio from the speakers, generating echo, or vibrations from the cooling fans making a buzzing sound that can go from annoying to overpowering depending on the laptop and frequently they are omnidirectional making any tiny noise on your environment really loud.

When someone uses a laptop I feel they don’t care about anybody but themselves. Everybody has to put up with their shitty audio while for them it’s just fine.

What about headphones and my laptops or phone microphone?

That’s a bit better, at least there’s no echo, but buzzing and background noise as well as bad quality voice are still there.

What about my phone?

The mic and speaker tend to be of poor quality and limited processing power on the device mean more frequent artifacts, but at least there’s no echo nor buzzing. Depending on the phone, the mic could be quite omnidirectional though.

What about the phone in loudspeak?

No… that’s almost as bad as the laptop.

Be distributed because it’s cooler, not cheaper

There are two motivations that drive the creation of distributed teams or companies:

  • it’s cheaper
  • there just isn’t any available people locally

There’s nothing wrong with these motivations as starting point, but if they become your sole driver for being distributed the results are probably going to end badly. Remote workers will be treated as cheaper handicapped workers and nobody likes being on that position. Soon they’ll find another better company to work for.

Also, if you expect that a distributed company behaves the same way as a local one, you’ll end up with a dysfunctional organization (something that’s happening to a lot of companies during the pandemic, they are now distributed but they behave as if they are not).

To build an effective distributed team engage the cool factor: we are all different, we are more diverse, we bring variety and we feel very strongly about living where we live. Celebrate the distributeness. This will not happen automatically and as a manager/leader at a distributed company, you have to make it happen. Same thing with socializing and bonding: it will not happen automatically as it might if you are all in the same room, and the manager/leader is in charge of making it happen.

Here are some examples of things you can do:

  • Create a Slack channel where people can share pictures of their food. People will show off the good and bad of the food of where they live. People might end up exchanging recipes.
  • Follow news of the countries/cities where your staff is located and if something major happens, reach out to check on their well-being. Send the signal that you care about where they are, not just that they are far away.
  • Create optional and mandatory engineered social time for people to hang out together. A small amount of mandatory bonding is a good thing, because otherwise it may not happen at all (there’s no water cooler), but don’t force people to be away from their families for a gaming night to avoid losing status at the company.
  • Embrace hobbies, activities and lifestyles. People that work remotely they often care deeply about somethings, like their families, living in rural areas, having more free time, being able to work with constraints, hobbies that are location specific. Celebrate all of that.
  • Allow extra flexibility: don’t expect them to work 9 to 5, but know that they can still work hard or harder and even for more hours. Allow someone to break away from work to go pick up the kids from school in the middle of the day but they fixed a ticket in the middle of the night.

If you want to learn more, I highly recommend The Year Without Pants. If you want some help distributing your company, feel free to contact me.

My biggest hiring secret: text interviews

I built a kick-ass team of 6 developers in little over 6 weeks, by myself, doing all the hiring and without using any recruiters. When I tell people how I did it there’s one aspect of my hiring process that raises the most eyebrows: text interviews.

When someones profile looks promising (CV, GitHub, cover letter) I send them a text message over Google Hangouts, WhatsApp, Signal, etc asking them if they are free for 10 minutes. I don’t even book a time, it’s a short informal text conversation. The goal is to evaluate how good they are at maintaining that type of communication which is important for all development teams and essential for distributed ones. These are some of the questions I ask:

  • How did you learn to code?
  • How did you learn programming language X?
  • What do you want to learn next?
  • What are the pros/cons of distributed companies?
  • Can you tell more about project X?
  • In your application you said X, what did you mean? Can you clarify?
  • Do you have any questions for me?

The sad reality is that a lot of people don’t pass this stage and only a few pass it with flying colors. This makes it a good filter to put at the very beginning.

But there’s another reason why this is a good first filter: I can hold several text conversations at the same time. I can probably interview about 4 people at the same time this way. Or, I can interview 1 or 2 as I keep on doing other work, reading documents, addressing questions, etc making it not only of high efficacy but also highly efficient.

I didn’t invent this, I was inspired by how Automattic hires according to The Year Without Pants. If you have any questions feel free to just ask in the comments and if you need any help hiring developers, don’t hesitate to contact me, but know that I’m not a recruiter.

From bank to Google, what’s your staff onboarding like?

I remember two onboarding experiences the most. Joining Google was an amazing experience, I felt like a hero in a hero’s parade. Joining a Swiss Investment Bank made me question my life choices.

Google

At Google, I had clear instructions sent to me well in advance about what to expect, where I was supposed to show up. I was taken step by step like clueless tourist in a packaged tour. There was one whole week of super interesting lessons about the ins-and-outs of Google, from the amazing (how does search work) to the mundane (how do I log in to my own computer). It was like being a Disney World. My manager personally came to pick me up from the cafeteria where us nooglers (new googlers) would be hanging out to take me to my brand new desk ready for me to start learning more.

The Bank

At the bank I had to convince the receptionist that I worked there, get her to issue me a badge and then give me some instructions on how to find my team. When I finally did I and said hello to my manager he said:

Oh, I forgot you were starting today. I didn’t order your computer, I’m doing that now, it’ll take 2 weeks. Go find someone to pair with.

I was faced with a sea of 200 grumpy-looking people of which about 4 were in my team but I wasn’t sure who, or their names, and there was no way for me to find out. This is a horrible way of onboarding socially awkward introverts. It made me feel bad for weeks, months even.

The Strategy

When designing an onboarding process for your new staff, I believe this is the strategy to follow: don’t make newcomers do any work other than what you are paying them for.

New staff shouldn’t spend any amount of time trying to figure out the company, navigating complex undocumented hierarchies of people, wondering what to do if their computer doesn’t start, finding out where critical information is stored by accident, learning what tools to use because they overheard someone else talk about it, not knowing where the central documentation is, etc.

If you like to learn more about staff onboarding tactics, let me know and I’ll write a follow up post. If you need any help designing the onboarding experience at your company feel free to contact me, I’m very passionate about it.

Talk to each other, you are missing out

For the past few weeks I’ve been talking to entrepreneurs, trying to help with their problems. I’ve heard both of these statements repeated a few times:

Marketing is easy, but coding is impossible.

Marketeers

and

Building a thing is fun, but then I have no idea how to market it.

Coders

It’s frustrating to hear both this things at the same time. Even within each of the communities, inside Indie Hackers, Microconf, TWiST, we seem to have subgroups of techies and non-techies that talk among themselves but not to one another and they are both wondering where the other ones are.

Please: start talking to one another, you need those connections, your idea need those connections.

If you are either a marketer or a coder and want the other one to join your team as a non-paid co-founder you are asking them to make an investment. A huge investment in terms of personal wealth. A person might be able to start 10 startups in their life, so, you are asking them for 1 tenth of their resources. Act accordingly. Put the effort, show traction, show results. I see people put more effort into talking to an investor that will invest only 1% of their resources.

The second thing a lot of us should do, and this include me, is not focus so much on our own ideas and try to work on other people’s ideas. Build someone else’s thing, market someone else’s thing. Don’t chase one idea, chase the outcome of a successful startup and accept that it might not be your idea.

If you are a developer, know this: whatever idea you come up with, it’s an idea that another developer is likely to have, and likely to implement to compete with you. That’s why there’s so much out there in terms of Twitter clones, issue trackers, cryptocurrencies thingies, etc. A non-coder idea has the value of less competition. A CRM for a niche you’ve never heard of might be the best SaaS ever!

If you are a marketer, know this: even in a crowded space, you can make a difference because there are a lot of companies out there that have a great product and are struggling with marketing. I often find a market need, like, “Private teachers need booking systems” and in my market research I find that the perfect booking system exists and nobody is using it. Lending your superpowers to a developer that’s charging ahead with building yet-another-whatever might be the best SaaS ever!

How can the price of oil or anything be negative?

The price of oil being negative is clearly a milestone of sorts, but $0 is not such a special price point. It feels special, it feels different, specially to consumers, but it’s not.

I won’t explain why oil got so low. There’s a mix of a pandemic going on, Russia fighting OPEC, etc. There’s also the difference or lack-of buying oil vs oil futures. I don’t know about that and I won’t speculate on that. Back to the problem of something costing $0 or even negative.

Let’s say you buy a trinket and it costs you $1 and then you can sell it for $2, making 100% profit. You go and spend $1000 in buying 1000 trinkets, you are about to make $1000 but then you realize 1000 trinkets take a lot of space, so, you rent a storage space for $200/month. Now you are making $800 per month. That’s ok, that’s a good profit.

One day, the prices of trinkets start to fall. First they fall to $0.9, and you sell them for $1.8, and now your profit is $700 because your revenue is $1800, the cost of buying 1000 trinkets is $900 and rent stays at $200. As the price continues to fall, this happens:

Buy priceSell priceRevenueCostRentProfit
$0.9$1.8$1800$900$200$700
$0.8$1.6$1600$800$200$600
$0.4$0.8$800$400$200$200
$0.2$0.4$400$200$200$0
$0.1$0.2$200$100$200$-100

See how it wasn’t required for the trinkets to get to $0 to make the business nonviable? At $0.2 per trinket, there’s no profit and you might as well put the on the sidewalk, and walk away. Except that you’d get fined, so now you are losing money.

This is the equation that all shops and warehouses run for all products.

For this example, I’ve assumed $200 was the rent for one month and that all trinkets would be sold in one month. Now, let’s imagine the trinkets don’t go down in price, but they sell more slowly. It takes 2 months, which means $400 in rent. If they stay in the warehouse long enough, the magic number at which it’ll cause loses would be much higher, even higher than $2.

This is why you often get business selling you products for less than the cost. Because they are losing money by keeping it around and they need to cut those loses. The magic number in which you go from profit to loses is never $0, it’s always above.

This means that at some point before oil hit $0 it already crossed the magic number at which holding oil was causing loses, it’s just that the loses were so high that it kept pushing down the number into the negative.