Notes on designing, developing and delivering great products

Sharing and Testing Code in React with Higher Order Components

By on in Development, Web

Higher Order Components (HoC) in React can be simple to use and test. If you haven’t read about HoC’s and how and why they’ve replaced mixins, check out this great Medium post by Dan Abramov.

Most of the resources and examples that I found online about higher order components are complex, and don’t include a testing solution. This is a super simple example designed to demonstrate how we can generalize React components using Higher Order Components and unit test them. We will be using ES6 syntax and Enzyme to test.

Continue reading …


It’s a Mobile App Life (in China)

By on in Culture, Everything Else, Mobile

This week I returned from a 2-week trip through 4 cities in China. I was born there, spent a fair amount of time there growing up, and I also lived there for a year on a Fulbright fellowship after college. Today, I work as in San Francisco at Carbon Five as a product manager, helping startups and tech companies turn their ideas into software.

Although the purpose of this trip was family-based, and though I’ve been there before, seeing China’s adoption of mobile technology completely blew my mind. The growing differences between U.S. and China mobile applications made my stay pretty difficult in ways I hadn’t experienced or expected. While I missed my American apps, the sophistication of extremely powerful Chinese apps also took me by surprise, with just a handful of many-featured, multi-purpose apps dominating my usage.

Let’s get the bad news out of the way first.

Blocked Apps

Some of the apps that – straight up –  will not work:

  • Facebook (blocked by the government for not censoring content and providing access to user data after the 2009 Xinjiang riots)
  • Instagram
  • All things Google (including web browsing, gmail, drive and google maps)

What do I mean by not working? It’s not like you’ll see a notification like this:

Notification

It’ll look more like this:

slack_loading

Never have I ever upgraded so many Apple native apps out of my Appleware folder as I had to in China. But let’s move on to the good. Continue reading …


Top Five Questions Founders Ask – Part 4

By on in Everything Else, Partner Interviews

As a full-service software consultancy, we at Carbon Five get lots of questions from clients past, present, and future. We’re passionate about sharing our industry knowledge, so we sat down with our leadership team and got some advice for aspiring founders and product leaders as part of an ongoing 6-part series. You can see all the interviews here.

Here in part four, we asked Partner and Director of Design David Hendee to talk to us about costs, operations and the big brand.

Should I work with an outside design agency? Do I need a branding firm?

Carbon Five is an action-oriented consultancy. We are passionate about putting product into market, not just having great ideas. The question does come up: how much design do I need to get started with Carbon Five? The real answer is none. You can come with just an idea. On day one, we’ll talk about the people your product solves a problem for, what you think the problem is, and how you think you’re going to solve it. That’s a great starting point for working with us, because we can do both design and the first version of your brand. Our clients work with our in-house designers, but sometimes we’ll partner with outside agencies, which can be great as well.

david

More important, I think is do you have a team that can solve a problem and has the grit and wherewithal to take the money and actually do something effective with it?

Continue reading …


Establishing Culture? Get Outta Town!

By on in Culture, Everything Else

As Carbon Five grows, we experiment with different ways to define, elaborate, and communicate our company culture. One thing we do is organize semi-annual retreats, we call them summits, that rotate between our two main offices in San Francisco and Santa Monica.

These events are, first and foremost, about people. They are a way for our employees to establish a more personal connection with each other even though our offices are geographically separated.

The summits aim to be fun, light hearted, and not take themselves too seriously. We aren’t looking to hand down a set of values, guidelines, and rules that Carbon Five employees must follow. Instead we encourage people to discover and define our shared values by talking with each other: What is going on in the different offices? What is emerging across our design, development, and product management practices? What are the things that make coming into work every day enjoyable and inspiring?

We’ve been organizing company retreats for three years now. We thought it was time to share what what’s worked and what we’ve learned.

Continue reading …


Top Five Questions Founders Ask – Part 3

By on in Everything Else, Partner Interviews, Process, Startups

As a full-stack software consultancy, we at Carbon Five get lots of questions from clients past, present, and future. We’re passionate about sharing our industry knowledge, so we sat down with our leadership team and got some advice for aspiring founders and product leaders as part of an ongoing 6-part series. You can see all the interviews here.

Here, we sat down with Courtney Hemphill, partner and technical lead, to give us some insight into keeping your startup lean and functioning smoothly.

How can I find great developers to hire?

There are a couple things that I’m seeing right now that I feel like are smart plays to finding great developers. I think great developers are not people that are created in 12 weeks at a Bootcamp, I think they’re people who are really interested in solving problems, and they’ve just found that their modus operandi for solving problems happens to be in code. The equivalent holds true for design. They’re just solving problems through a visual experience versus code. Finding those people is what you want to do. That doesn’t really answer the question though so I would say that code languages are something that people get really interested in. Meaning that new languages are coming out and each of those languages can solve specific problems. Courtney Hemphill

I think great developers are not people that are created in 12 weeks at a Bootcamp, I think they’re people who are really interested in solving problems, and they’ve just found that their modus operandi for solving problems happens to be in code. The equivalent holds true for design. They’re just solving problems through a visual experience versus code.

Continue reading …


Top Five Questions Founders Ask – Part 2

By on in Partner Interviews, Product Management, Startups

As a full-stack software consultancy, we at Carbon Five get lots of questions from clients past, present, and future. We’re passionate about sharing our industry knowledge, so we sat down with our leadership team and got some advice for aspiring founders and product leaders as part of an ongoing 6-part series. You can see all the interviews here.

How healthy is my codebase? Can I rewrite it, or can it be nursed back to health?

A hundred percent of the time, your codebase can be nursed back to health. In my experience, ninety-five percent of the time, that’s the path you should take. This is making one assumption, that there’s a product already built and in use. The bigger the codebase, and the longer it’s lived, the more likely that it has features or bugs or whatever, pieces of code that are in use, that people are relying on, but nobody knows about at the company. So whenever you talk about rewriting a codebase to be the same as an existing codebase, you are opening yourself up for a world of pain because it’s very likely that there’s nobody in the world that exists who knows all of the requirements. If you ever decide to rewrite a codebase, you have to start from first principles and say, “We have to start from the very beginning and define what this new product does, and as a basis, we’re going to use this old product, and we’re going to say this is our starting point.” The same way if a client came to us with wire frames and said, “This is what I want,” we’d say, “Well, we’re going to use this as a starting point, but we’re still going to go through our personas exercise, and our experience map, and our story mapping, and our story writing, because we need to understand all that in order to build this product.” If you can do it that way, then rewriting is actually completely doable. I’ve discovered that even though it can be a lot of work to nurse a codebase back to health, if the functionality is there and fulfilling the needs of the users, then to continue to fulfill the need of the users without any interruption, you gotta nurse it back to health.

mike_260

A hundred percent of the time, your codebase can be nursed back to health. In my experience, ninety-five percent of the time, that’s the path you should take. This is making one assumption, that there’s a product already built and in use.

Continue reading …


Iron Gaming Launches Rezli

By on in Everything Else

Our client, Iron Gaming, announced the release of Rezli today at the 2050 Events Daytona Conference. Iron Gaming is a major player in eSports tournaments, offering live streaming of gaming events that have developed a massive following in the gaming community. They came to Carbon Five looking to develop an online product that would suit the needs of their existing user base. Rezli fills that gap by connecting gamers to each other and gaming organizations, much like LinkedIn does for job seekers.

Continue reading …


Habits of Effective Teams

By on in Process, Product Management, Startups

Have you ever worked on a team that went off the rails? Product teams need lots of support to run efficiently. You need to move fast, but you also need to be aligned in order to build successful products. Here are a few activities we use to keep our teams moving. We often facilitate them in Stickies.io, a product we built for collaboration, but any of these activities could also be done using analog sticky notes.

When you need to generate ideas

Rapid Rounds

We like to structure brainstorming sessions to help get the entire team working together towards a unified goal. We set a timer for 3-5 minutes to challenge ourselves to think fast and broad. Then, we review the ideas and do another rapid round, with 2-4 minutes this time. Finally, we give all team members 3 votes and prioritize our ideas based on votes. The sequence looks like this:

  • Introduce the goal of the brainstorming session
  • Run rapid rounds.You can run as many as needed. We typically reduce the time set as we go and build off of each other’s ideas.
    • Set the timer for 3-5 minutes
    • Individually ideate on post-its until the timer goes off
    • Let everyone describe their top 3 ideas
  • Give everyone 3 dots and ask them to vote on three ideas to explore further
  • Arrange ideas by votes

In person, we use post-its, sharpies and sticker dots:

Brainstorming in person Continue reading …


Top Five Questions Founders Ask – Part 1

By on in Partner Interviews, Product Management, Startups

As a full-service software consultancy, we at Carbon Five get lots of questions from clients past, present, and future. We’re passionate about sharing our industry knowledge, so we sat down with our leadership team and got some advice for aspiring founders and product leaders as part of an ongoing 6-part series. You can see all the interviews here.

First up are some practical answers from Partner and COO Don Thompson on lessons learned from 15+ years of collaboration on client-driven technical projects and insights into how Carbon Five’s process enables companies of all sizes.

When do I build my internal team?

Beginning day one is our preference. The happiest clients are the ones that have a team in place to take over before we’re done. It doesn’t have to be a CTO–that can simply be a junior developer. It can be a struggle for clients to make a junior hire if they have more confidence putting a senior person in place. They feel a Director or VP will have more confidence in some of the decisions they’re making early on, and can build out their own team. From our standpoint, either approach can be successful.

Where do I find my talent, and how do I attract them?

That is really tough. The early hires will often establish and shape a corporate culture so it is important to get it right. In addition to the roles to hire for, we encourage our clients to consider making diversity a hiring goal. Creating a balanced, inclusive team takes more time and effort than most company founders expect. When our clients do begin to ramp up hiring, we’re happy to help with writing a job rec and shaping a job description. We’re happy to help review resumes. We’re happy to interview people and really be that advocate for our client as far as where people can fit into the organization. We’re happy to give them desk space once they’re hired. We have a recruiter, and we’re happy to make introductions to on the behalf of our client.  While we still encourage people to reach out to their own networks, remember to reach out well beyond it. Don

In addition to the roles to hire for, we encourage our clients to consider making diversity a hiring goal. Creating a balanced, inclusive team takes more time and effort than most company founders expect…while we still encourage people to reach out to their own networks, remember to reach out well beyond it.

Continue reading …


Oct 21st 2015 Talk Night at Carbon Five LA – Getting Back to (Developing) the Future

By on in Announcements, Events

back-to-the-future-delorean

October 21st, 2015. A day historic before it ever happened. For those of you who don’t know why STOP READING THIS POST AND GO WATCH BACK TO THE FUTURE II.

Go on, we’ll wait.

Back? You’re welcome.

As you now know, October 21st, 2015 is when everyhero Marty McFly is due to arrive. To celebrate, we’re holding a Back to the Future themed Talk Night at Carbon Five Santa Monica!

Continue reading …