Ship it. Ship it real good.

I learned a great deal the last year at Prosper Marketplace. Despite the difficulties we faced as a team, there are definitely some good takeaways.

  • Organizing end-to-end teams allows full autonomy and to ship quickly.
  • Using metrics allows team members to focus on the right things.
  • Align how we work, but you don’t need to align the technologies used.
  • Agile works. Make an intentional effort to improve it.

Project launch: Prosper Marketplace’s retail investor experience

I’m very glad to share that the project I’ve been working on for months finally launched. Even in turmoil, the team overcame all obstacles and launched this projects. Credit to everyone who worked on this together (past or present). You know who you are.

Significance of this project:

When I first joined Prosper Marketplace, they had a low-volume consumer product. The old site consisted of a series of incoherent pages, cluttered with an overflow of information and functionalities designed for sophisticated investors – desktop only.

The new experience is simplified, visually appealing, mobile friendly and allows investors to invest in only a few clicks.

The Dashboard:
Prosper Account Overview

The Auto Invest page:

Prosper Select Criteria

Prosper Marketplace Investor Dashboard in mobile

Prosper Marketplace Investor Dashboard in mobile

Leading the engineering effort was no mean feat. I’ll write more on what we did well in the next post.

To learn more about this project officially, click here.

Fake agile: Get out of the rituals

You were told in your job interview they practice agile development. You ask a follow-up question to learn more. Then, they clarified they used their custom “brand” of agile – a hybrid of sort. You signed the offer anyway. Soon after your start you realized they had all the rituals of agile but everything felt wrong and pointless. Sound familiar?

I’ve been there. It’s easy to become a stagnant agile organization. Here are some pointers to get better at agile.

1. Be agilists

The most successful agile organization is one where everyone is on the same page about what agile is. Build an on-boarding of their agile practices before employees start. Form an agile forums to advance the organizations’ agile practices.

2. Listen

Feedback can come from anywhere – customers, retrospectives, sprint reviews, demos, stand-ups, day-to-day conversations. Collect them and address them in your sprints. There is constant self-improvement in agile – as an individual, as a team, and as an organization.

3. Ship it. Implement it.

You should always ship code at the end of every sprint. Keep the momentum. Break down big projects into smaller shippable chunks. Improve the technology to support it – e.g. release beta versions, use feature flag, improve continuous delivery and automation. Address process improvements with the same “ship it” mindset. This is important because shipping things enable customers and users to give you more feedback to further improve.

4. No jerks. No turf wars.

Treat each other equally and with respect. Everyone can suggest and make changes – regardless of how big or small the changes are. All responsibilities are task-based, not role-based. Everyone can lead, prioritize, design or code. This way, everyone is equally accountable for the output of the team.

5. Focused Meetings

Minimize the number of meetings. Understand why you need any of them, including scrum meetings. If the meetings do not help your team achieve your sprint or team goals, you should cancel them. This is why some companies (like Spotify) suggest all scrum meetings are optional.

6. Build team identity

Your team should have a team goal. It is an internal compass for the team members and helps them understand how to prioritize feedback by themselves. Name your team according to the team goal. Pick a name that anyone outside the company would understand.  With an identity, your team members will be more likely to work together as a team.

7. Measure it

Use various metrics to measure your team’s success. Estimate all known work and plan for the unknown using capacity allocation. Besides measuring team velocity, pick business metrics to measure how your team is achieving the team goal. Make these metrics accessible to the team.

Sony: The unfortunate undoing – A retrospective

Leaving Sony after 8 years of service was a bittersweet departure. My story is probably similar to many who left Sony before me. I wanted to be part of a brand that produced products that changed many lives – the walkmans, the TVs, the Playstations. Sony seemed to be one of the best brands to work for. Being young and ambitious, I was selected to join. I was proud and happy to be part of this beloved company, a global entity, a premium brand.

Then reality set in. I saw the red tapes, the brick walls, the Office Space scenes, the politics. I met people whom I wondered how they got the job in the first place. I vowed not to be like them. And luckily there are many opportunities within Sony. I moved to other divisions that were growing and more innovative. I thrived and excelled in my positions. I progressed from an individual contributor to a people manager, expanded my influence from local to global. I built new teams from the ground up and worked with people who shared the same passion. I operated at a high level with quality, efficiency and excellence.

Then more reality set in. Sony’s years of losses forced the company to downsize. People became numbers on excel spreadsheets. And after all, Sony is a Japanese company and it is human nature to save their own. Groups of people outside of Japan were let go regardless of their talents. My group was no different. Numbers on spreadsheets would meet its fate – erased.

How did Sony come to this? Here is what I see from my point of view:

  1. Silos – Sony just doesn’t have a structure to support collaboration from all corners of the company. Every division is winning or losing on its own. Any collaboration is done formally – budgeted and planned. No spontaneity.
  2. Core values and culture – company’s core values are not engrained in employees. As a result, these values are interpreted differently from person to person, department to department. Culture is different in every department – making any collaboration hard.
  3. Lots of ideas, nowhere to go – There were many people with great ideas. However, there was no effective outlet for them to materialize. There were many failed attempts – online forms on Share Point, monthly emails. None of them was effective. And people were just too busy with their own jobs. They still needed to meet their department’s KPI and not really encouraged to contribute.
  4. Pride – “the worst sin is pride” I think also applies to a company. Sony thinks it is a “premium” brand and focuses too much on being “premium”. They rolled out overpriced products with closed platforms for many years.
    • Take the PlayStation for example. PlayStation 3 was a failure because of Sony taking the high road and introducing a ‘hard to develop for’ software platform. The recent turnaround of Playstation 4 success was built on them listening to what the game developers and gamers want.
    • Because of their past as a successful electronics manufacturer, they focused too much on excellent hardware manufacturing and neglected to build sophisticated software ecosystems.
  5. Slow to change – Being slow to change is probably one of the worst qualities a technology company can have. Sony simply did not have the desire to change its old ways of working. Their unit of change was counted in months, quarters and years. Other successful technology companies are counting them in days.

I started a new job for over a month and can finally comprehend how I feel about the company I spent almost a decade of my life working for. I miss it. I miss the structure, the strive for excellence. I miss the hours working to perfect the quality of the work I was putting out. I miss the perks of being a Sony employee – the company discounts, the benefits and that working for Sony was a conversation starter. But most of all, I miss the people I met in all walks of life and from all corners of the world. I’d work for this company again despite the problems it has. I hope Sony turns around. I hope to work for this once beloved company again.

Sony Japanese Headquarters in Shinagawa

Sony Japanese Headquarters in Shinagawa

Updates for “less-watch-compiler” – A utility that watches and auto-compiles LESS CSS files

I wrote a small nodejs utility 2 years ago. It basically watches a folder of LESS files and auto-compiles them into CSS files when changes are made. Since I posted this, usage of this utility picked up. Many users have sent some feedback to me on github but I hadn’t have time to resolve them until now So yesterday, I worked this and made some major improvements.

Here is a list of updates:

  • Fixed the bug where subfolder changes are not detected
  • Externalized configurations in json
  • Introduced project-based JSON configuation files
  • Refactored the code
  • Added Mocha unit tests
  • Added pcakage information for npm
  • Posted project to npm

If you’d like to check it out, here are links to my project:

Please feel free to contribute to this project.