PayPal Treated Me Right

I recently tried integrating PayPal’s APIs with a site I work on and I jumped the gun before reading (I know, rookie mistake). I had integrated many other payment processing systems and I assumed wrongly that PayPal would accept test credit card numbers for testing. They flagged this as fraud, which I suppose is valid, and locked my account, limiting my ability to finalize my site.

They gave me a list of things to do to reinstate my account, and I did them, then they got more aggressive and asked for more validation, specifically the billing details that matched my credit card number—a test number that I obviously couldn’t provide. I explained this to them and they reinstated my account. I had little hope up to this point due to PayPal’s bad PR lately, but they solved my problem with a minimum of fuss, though it did take a while. Score one for the good guys.

Google Hangouts™ is a Contender to Solving Remote Team Members

Everyone’s been talking about how remote working is important and how we should be embracing it as a coding culture, but few people have outlined the problems and solutions to fix them.
We’ve begun using a persistent Google Hangout as a means of connecting remote people to our office. The effect has been extraordinary and has really bridged a gap we had all felt in our team.

Some of the problems we’ve faced:

  • People use work from home/remote as vacation
  • Managers unable to verify if people are fully utilized
  • Lack of communication between team members

I’ve chosen these three because they stood out in the company I work for. I’ve been denied work from home requests due to the lack of oversight, and the abuse by people on my team. Honestly, I feel like it’s the output that matters and if we’re pushing things out on time in high quality, we should worry less about hours in front of a computer and effort spent. Convincing other people of that, however is an impossible task and won’t be discussed here, especially since I think we’ve found an excellent compromise.

Some of the facets that make this solution better than things we’ve tried before:

  • Google Hangouts are more like a room where people can meet, not a phone call people occasionally make
  • Remote people can hear what’s going on in the room while they’re out and chime in as though they were present.
  • They also can mute themselves if they don’t want to have home noise affect others.

This has had some unexpected results. People who enter our office say hello to our remote workers when they see they’re Google Hanging out. I feel that the perception of remote working as bad comes from a barrier to communication. If four people are in a room and the boss wants to notify them of something, the boss walks in, says it, and off they go. If the whole team is remote, you send an email, but who knows if they read it or when. If the whole team is on a persistent Google Hangout, the boss can join, say their piece, and be off. No problem. There’s no chance of thinking that our remote worker is slacking off because they’re there, working all the time. Whether they’re looking at Facebook or watching March Madness without us knowing is irrelevant, and isn’t solved by putting people in an office.

Is this a perfect solution for our team? It’s pretty close! We’ve got a good team to begin with, so remote work has never been an issue—the easier communication is just an added bonus. Given that, as someone who occasionally wants to work remotely, the ability to do so with more confidence, happiness from my managers, and being better able to support my team make it something definitely worthwhile.

Why a Single Point of Failure Can Be a Good Thing

I’ve been working in the corporate world for a while now, and I finally have figured out my personal difficulties with the transition from a small company to a large one. I’ve been there for the growth of two companies from a relatively small number of people to a larger one. The first company grew like wildfire and is now doing massive layoffs. The second company seems to be doing quite a bit better, but there’s significantly more tension than there used to be.

Working for a startup is a lot like having a child. The company is uncertain, it’s unprotected, and it’s completely dependent on other people to make sure that it grows up and succeeds. Like a parent, each member of a startup contributes something huge and important to the company. Without any of the various pieces, the company would fail quickly, and everyone in the company knows it. But, also like a parent, each member of a startup is almost religious in their devotion to the company. Every member is a spof (single point of failure), but the whole thing often ends up feeling a lot more like family than work.

Now that the company I work for is more of a corporation than a startup, there’s been a lot of talk about spof and how I need to fix that–we need to hire more people, train them to overlap my job, and ensure that if I’m out, my projects won’t fall to the wayside. I understand the need to feel secure in our company’s capability, but the sense of devotion and radical fanaticism to the company I work for has nothing to do with its well-being. It all hinges on the feeling that I, as an individual contributor am needed–and badly. The more I’m needed, the more I’ll throw myself into the mix, the more I’ll work late nights, the more I’ll innovate, create, and expand what I do because I have the opportunity to help make the whole thing better.

This is not better for my social life, my side projects, or my blog, but it’s significantly better than the alternative. My company no longer needs me. They want me around (I hope) but the only thing standing between me and layoffs is money, and the ability for the company to make money is no longer directly influenced by me. I’m a cog in a machine, and it’s by design that I’ve lost the ability to be more.

I wonder if there’s an alternative to the malaise I feel. Do people show up to Microsoft every day and say “god I’m happy to be a programmer here?” If so, where do they find their satisfaction? I suppose if I had kids myself, I’d be feeling the priority shift, but if it’s done right, startups don’t have to completely take all your time either, they just need a little extra love.

Yancy’s Law of Optimal Delay

A computer science professor at Cal Poly, San Luis Obispo, came up with a law that for any given task, there is a point between procrastination and quality that provides the optimal result.
For example:
You are given an assignment that is due 2 months from now that requires 1 week of work.

Example 1, the early bird:
You begin immediately, you will finish the task with at most 8 weeks to spare.
Unfortunately, your professor then cancels the assignment 3 weeks in and you find that you’ve wasted a week of your time for nothing.

Example 2, the procrastinator:
You wait till 4 days before deadline to begin.
Your quality suffers and you get a bad grade.

Example 3, the optimal delay:
You wait 6 weeks before beginning and take extra time to do a good job.
Your teacher probably won’t cancel their plans last minute, so you’re safe.
You get a good grade and you’re sure you didn’t waste your time.

This applies well to classes, but also applies very well, I’ve found, to the real-world example of my job. I often have tasks that get re-prioritized, canceled, or changed, and this law helps me ensure I’m always on task with something worthwhile.