Programming Bits #2

Coffee-time sized bites of eccentric programming knowledge, served lukewarm. An emphasis on modern languages like Ruby and SmallTalk with flashbacks to the tried-and-true.

Web Development

Podcasts and Screencasts for Extended Learning

http://www.smashingmagazine.com/2013/04/19/podcasts-for-designers-developers

An awesome collection by Smashing Magazine that contains a tremendous number of valuable podcasts and screencasts for learning more about web development and the business of web development.

Bootstrap WSYIWYG

http://www.layoutit.com/

What you see is what you get, bootstrapped. This tool allows you to mockup an app based on bootstrap and generate the layout. It does not build your app for you, but gives you the initial visual layout framework based on bootstrapped elements. It might be a nice way to quickly scaffold up the HTML/CSS required for a bootstrap-based site, so you can get back to focusing on your app’s core logic. Though, it likely doesn’t understand a web framework, such as Rails, so you’ll have to convert it’s output by hand.

HTML/CSS Goodies

NetFlix is Moving From Silverlight to HTML5

http://techblog.netflix.com/2013/04/html5-video-at-netflix.html

What this means is that HTML5 video is becoming the most common way to present video on the web. It helps to mark the death of Silverlight and Flash for playing videos on web pages.

LinkedIn Dumped HTML5 in Favor of Native Apps

http://venturebeat.com/2013/04/17/linkedin-mobile-web-breakup

Conversely, LinkedIn decided to dump HTML5 in favor of creating native apps. While not related to video itself, it points out that HTML5 is not necessarily the language/platform of choice for making mobile applications, and large successful companies like LinkedIn are seeing benefits of creating native apps over mobile-friendly HTML apps.

Reduce Redundant CSS

http://flippinawesome.org/2013/04/22/automating-csscss-using-grunt

Using the CSSCSS gem, you can analyze your existing CSS and find code duplication. It helps to identify areas of your CSS (like you might do for ruby using a smell detector like CodeClimate) that can be DRYed up. This article discusses using Grunt to automate this a bit (in vein of guard and other change-aware automation tools).

Heroku, Heroku, Heroku

Heroku Now in Europe

https://blog.heroku.com/archives/2013/4/10/europe-region

Heroku has released their Europe region. This allows Heroku apps to run in Europe, so that they are closer to European customers and your apps can perform more expedient in that region. It removes the mandatory 80-100ms latency increase caused by crossing the international backbones, amongst other things.

“The physical proximity of the Europe region to European end-users means reduced latency, often resulting in a dramatic improvement in app responsiveness to those users. We’ve observed performance improvements of 100ms per request or more for European end-users.”

Migrating an App to the Europe Region

http://vimeo.com/64197387

Heroku has created a screencast that shows just how simple it is to move an app to their Europe region.

Design

Ten Principles for Good Design

https://www.vitsoe.com/eu/about/good-design

Not necessarily web design focused, but presents excellent design fundamentals that can serve to enhance the design process.

Creating Responsive Email Templates

http://www.zurb.com/playground/responsive-email-templates

Just like responsive design is important for the web, it translates to email as well. You can’t control what size your market’s email client is.

Making Stuff Out of Things

http://kadavy.net/blog/posts/stuff-and-things/

A humorously written article that talks about focusing on making stuff over using things. Focus on the making, not the using.

That’s it for Programming Bits #2. If this was useful or helpful to you in anyway, I’d like to hear about it. And please, share it with others if you think there’s something useful there worth sharing. While I do my best to source these relevant bits of news myself, I also rely on you to contribute anything interesting you come across, so send them it for the next Programming Bits!

Posted in HTML5, Learning, Mobile Platforms, Programming Bits, Ruby, Ruby on Rails | Comments closed

Programming Bits #1

Coffee-time sized bites of eccentric programming knowledge, served lukewarm. An emphasis on modern languages like Ruby and SmallTalk with flashbacks to the tried-and-true.

Cargo-cult Programming

http://en.wikipedia.org/wiki/Cargo_cult_programming

Cargo cult programming can also refer to the results of (over-)applying a design pattern or coding style blindly without understanding the reasons behind that design principle in the first place. Examples are adding unnecessary comments to self-explanatory code, adding deletion code for objects that garbage collection would have collected automatically with no problem, and creating factory objects to build simple objects. It often happens when programmers are inexperienced with the programming language, or simply overzealous.
A related term in software engineering is cargo cult software engineering, coined by Steve McConnell.
McConnell describes software development organizations that attempt to emulate more successful development houses, either by slavishly following a software development process without understanding the reasoning behind it, or by attempting to emulate a commitment-oriented development approach (in which software developers devote large amounts of time and energy toward seeing their projects succeed) by mandating the long hours and unpaid overtime, when in successful companies these are side-effects of high motivation and not requirements.
In both cases, McConnell contends that competence ultimately determines whether a project succeeds or fails, regardless of the development approach taken; furthermore, he claims that incompetent “impostor organizations” (which merely imitate the form of successful software development organizations) are in fact engaging in what he calls Cargo cult software engineering.

Powwed Up

Pow
An on-demand DNS and HTTP proxy for your Rack/Rails apps in development. This lets you easily access http://yourapp.dev/ on your local system so that you can easily test your app instead of manually running the server.
Pow for Alfred (similar to Quicksilver)
Powify
Manage your pow instances from the command line. Makes it really easy to see what pows you have, and inject new apps into pow.
Powder
An alternative to powify.

Speeding Up Rails

Zeus
Speeds up your tasks such as console, migrations, and server loading by preloading Rails.
rails-dev-boost
Speeds up Rails in development mode.
turbo-sprockets-rails3
Speeds up asset pipeline precompile by only compiling assets that have changed since last time.

Heroku Plugins

Using Heroku CLI Plugins
Jenkins Plugin
Heroku Accounts
Easily manage your heroku account’s SSH config on your local system.
Papertrail Plugin
Heroku PostgreSQL Extras Plugin
Calculate performance details about your postgres database, such as cache hits and see long running queries.
That’s it for the first Programming Bits. I’m not sure about a release schedule for these yet because I still need to see how effective it will be for me to make them, and just how much interesting content I’m able to come across. I’ll likely just collect interesting things as I come across them, and then release a Programming Bits when I have enough content to feel like it will be a worthy release. If there’s someone you think who might benefit from this, feel free to forward this along.

Posted in Patterns, Programming Bits, Ruby, Ruby on Rails | Comments closed

Bootstrapping Is Insanely Hard

There are a number of ways to build a startup. The traditional route is to assemble a core team of founders, build a block of potential board advisors, and seek angel and venture capital. Another common route is to find a co-founder or two, build a prototype, and seek out seed funding from an early stage investment competition (i.e. YC) to gain momentum, press, nurturing and the possibility for future angel/VC capital. A less attractive, but very popular, third route is to bootstrap. To many, it’s the most attractive option of the three because you don’t have to put on presentations to hopefully win a few measly thousand dollars or do the dog and pony VC circuit for 6 months to potentially find a match who really gets you and your product. But bootstrapping is the most difficult, most challenging way to create a startup.

Contrary to a number of my motivation-infused articles, I want to break through the startup world smokescreen and be excessively real here. Here’s why bootstrapping is hard as hell:

1) It’s hard to find co-founders. Finding a good co-founder is like trying to find your soulmate. Most people spend their whole lives looking for the one, often stumbling along the way with a few bad relationships. In fact, the divorce rate is so high these days because people are so bad at pairing up. Finding a co-founder is no different. You’ve got a lot of things going on – you need to both be excited about the same product ideas, you have to work well together, you have to complement each other and not be working on the same parts of the business all of the time, you have to support each others shortcomings, and you need to be patient with each other. At the end of the day, you have to like each other too.

This all assumes you can actually find people who aren’t already busy working a full-time gig, busy on side projects, or running a startup of their own. Most people aren’t sitting around resting on their laurels, and if they are then chances are they aren’t well suited for building a startup anyway. So this means you have to convince people to stop working on what they’re currently doing, or you need to ditch what you are doing and join them. This is reasonable, but it’s not convenient; it’s just another roadblock to finding a co-founder.

You might be the type that loves to go to meetups, drinkups, conferences, launch parties, and other social events, but the results of attending these are often mixed bags, and are often the angst of juvenile partying disguised as startup networking events. Others think that they don’t really have the time to be sloshing it around in a dark bar with a bunch of pseudo-entrepreneurs instead of buckling down and keeping their head in code. The conundrum here is that if you never get out, you’ll never meet your co-founder. Having some balance is necessary; a feat not necessarily that easy to pull off. And if you’ve got family, kids, or a full-time job, you might just be SOL here.

2) You have no funding. You’re working out of your basement, your kitchen, your garage, or Starbucks. If you are working full-time on this, you are either burning your savings to cover your personal expenses or you have a spouse kind enough to slave away at their full-time job to pay the basic expenses. In any case, you have very little money for the business itself, so you can’t hire anyone and you need to keep your overhead low.

This presents a lot of problems. You need to be excessively picky about the services you spend your minuscule capital on. This is a good thing to do anyway, but everyday you will face opportunities to analyze services that might help you if you can afford them. If you are terrible at design, you’ll realize that it’s probably a good idea to hire a great designer so that you can focus on implementing the rest of your product. You’ll immediately discover that you can’t afford the designer you want, and either resort to hiring inexperienced but cheap freelancers or doing it yourself. By not having enough capital, you are strangling yourself by the throat because you simply do not have the talent or ability to do every possible startup role well.

If you’re good at learning new things, have incredible motivation, and work 80 to 100 hours a week without burning out, you might just be able to slide by without any funding depending on what your product is. But it will not be easy, and you’ll very quickly discover what you are and are not capable of. Do not be delusional and think that running a startup our of your grandpa’s garage will be a sure bet just because you don’t have to pay for office space. Bootstrapping is not for the faint at heart.

3) It’s hard to get traction. You’ve been building a product mostly in a gas chamber. You’ve got a co-founder, but you guys are so slammed that you don’t get out to the mixers much. You isolate yourself because you’re tired of all the buzz and success that your colleagues are receiving on TechCrunch. You’ve been talking to your customers, but they’re waiting until you release before they bring out their wallets. You’ve tried to get some beta testers, but they’re busy with their own lives, or maybe they just don’t like your product and don’t have the balls to tell you. You’ve considered paying for advertising, but know that it’s a branding game, and you don’t really have a brand yet. You’ve dreamed up guerrilla marketing campaigns, but they didn’t go as planned because you’re really spending most of your time building product.

You’ve written the major trade publications, but you can’t seem to get their attention. Maybe you are terrible at pitching, maybe you’re too proud of your product or conversely too humble, maybe you are ignorant to the needs of journalists, or maybe you’re just unlucky. You’ve got to learn another skill now; add it to the list. Oh there you go, you found a press release service for $199 who promises to announce your unfinished product to the world and get you paying subscribers. Flop. You knew it would too, come on, press releases don’t work!

You wrote a blog article every 2 weeks, trying to lure in potential customers by offering industry-relevant news and positioning yourself as a knowledge expert. You got some eyeballs, but damn, they aren’t using your product yet. In fact, some of those people have made some connections for you, but now you need to leverage those connections appropriately so you don’t scare them off. You’ve got a half-built product after all, and you’re mighty embarrassed.

Getting traction, getting users, and getting promoted is rough when you have no capital, no team, no experts advising you. When you’re bootstrapped, this problem is exacerbated.

4) It’s hard to sell before the product is ready. If you’re a natural salesman, you’ve already learned this trick… selling your product before you’ve built it. The holy grail of sales is selling a product to bring in revenue that you can use to build your product. It is risky business because you have to make promises that you have to deliver on later or lose all of your credibility. As a bootstrapper, this is a skill you probably don’t have. You want to build a product with a small budget and overhead, and get it to market quickly. To get feedback and traction you need customers. But if the product isn’t built yet, you will have a hard time landing customers.

Most people can’t sell ice to eskimos, or half baked products to unsuspecting consumers. Most people feel that it’s scammy to do this. And to some degree it is. You’re making a sale on a foundation of lies. If you can look past this flaw, you might just rocket launch your product into success. If you can’t, you’re going to continue to struggle. Even if you are a natural salesman, selling this not-so-ready product is going to be rough. You might get a customer’s interest, show them some mockup images in a printed booklet, but then you’re going to have to manage them throughout the process. You have to convince them things will be OK, and that you’re going to make good on your promises. None of this is easy.

5) Your personal life is often negatively affected. You’re late on your bills, your debts are climbing, your spouse is anxious, your colleagues are weary. When you bootstrap you will almost always get very little support. You’re new to the entrepreneur game so no one knows your name and no one trusts you. Everyone you talk to questions your ability to build your startup, sometimes mentioning that you should have a regular job just like them. That’s not easy when you begin to internalize that the world around you is actually against you. Going to meetups to talk with other bootstrappers in your situation can help, but it’s a temporary patch on the situation. Your life is still affected, until you make that big day when your product begins to sell… which may never come, as most startups fail.

If your startup fails, you’re left holding your guts. You’ll have a pile of debt, family who thinks you made a mistake (even if they don’t share their opinion), friends who think you’re an asshole because you’ve been hunkered down for 80-100 hours a week ignoring them for months at a time, and a failed product that you might actually learn to hate because of where it left you. This is incredible hard for people to deal with.

During the recession a lot of startup magazines and blogs were talking about how people need to take a stand and go into business for themselves. They presented it that just anyone could start a business with enough guts. They were partially right – it is possible for anyone to run a business – but they failed to really address just how hard it would be for the average person, who isn’t already wealthy, well connected, or geographically positioned in the heart of a startup epicenter.

Bootstrapping is a fantastic option if you are going to create your own startup, but be prepared for a lot of lonely days and nights, and the challenges will never disappear. You are the Mad Max of the entrepreneurial world. Start getting use to it.

Posted in Entrepreneur, Inspirational, Strategy | Comments closed

Bootstrapping Is Insanely Hard

There are a number of ways to build a startup. The traditional route is to assemble a core team of founders, build a block of potential board advisors, and seek angel and venture capital. Another common route is to find a co-founder or two, build a prototype, and seek out seed funding from an early stage investment competition (i.e. YC) to gain momentum, press, nurturing and the possibility for future angel/VC capital. A less attractive, but very popular, third route is to bootstrap. To many, it’s the most attractive option of the three because you don’t have to put on presentations to hopefully win a few measly thousand dollars or do the dog and pony VC circuit for 6 months to potentially find a match who really gets you and your product. But bootstrapping is the most difficult, most challenging way to create a startup.

Contrary to a number of my motivation-infused articles, I want to break through the startup world smokescreen and be excessively real here. Here’s why bootstrapping is hard as hell:

1) It’s hard to find co-founders. Finding a good co-founder is like trying to find your soulmate. Most people spend their whole lives looking for the one, often stumbling along the way with a few bad relationships. In fact, the divorce rate is so high these days because people are so bad at pairing up. Finding a co-founder is no different. You’ve got a lot of things going on – you need to both be excited about the same product ideas, you have to work well together, you have to complement each other and not be working on the same parts of the business all of the time, you have to support each others shortcomings, and you need to be patient with each other. At the end of the day, you have to like each other too.

This all assumes you can actually find people who aren’t already busy working a full-time gig, busy on side projects, or running a startup of their own. Most people aren’t sitting around resting on their laurels, and if they are then chances are they aren’t well suited for building a startup anyway. So this means you have to convince people to stop working on what they’re currently doing, or you need to ditch what you are doing and join them. This is reasonable, but it’s not convenient; it’s just another roadblock to finding a co-founder.

You might be the type that loves to go to meetups, drinkups, conferences, launch parties, and other social events, but the results of attending these are often mixed bags, and are often the angst of juvenile partying disguised as startup networking events. Others think that they don’t really have the time to be sloshing it around in a dark bar with a bunch of pseudo-entrepreneurs instead of buckling down and keeping their head in code. The conundrum here is that if you never get out, you’ll never meet your co-founder. Having some balance is necessary; a feat not necessarily that easy to pull off. And if you’ve got family, kids, or a full-time job, you might just be SOL here.

2) You have no funding. You’re working out of your basement, your kitchen, your garage, or Starbucks. If you are working full-time on this, you are either burning your savings to cover your personal expenses or you have a spouse kind enough to slave away at their full-time job to pay the basic expenses. In any case, you have very little money for the business itself, so you can’t hire anyone and you need to keep your overhead low.

This presents a lot of problems. You need to be excessively picky about the services you spend your minuscule capital on. This is a good thing to do anyway, but everyday you will face opportunities to analyze services that might help you if you can afford them. If you are terrible at design, you’ll realize that it’s probably a good idea to hire a great designer so that you can focus on implementing the rest of your product. You’ll immediately discover that you can’t afford the designer you want, and either resort to hiring inexperienced but cheap freelancers or doing it yourself. By not having enough capital, you are strangling yourself by the throat because you simply do not have the talent or ability to do every possible startup role well.

If you’re good at learning new things, have incredible motivation, and work 80 to 100 hours a week without burning out, you might just be able to slide by without any funding depending on what your product is. But it will not be easy, and you’ll very quickly discover what you are and are not capable of. Do not be delusional and think that running a startup our of your grandpa’s garage will be a sure bet just because you don’t have to pay for office space. Bootstrapping is not for the faint at heart.

3) It’s hard to get traction. You’ve been building a product mostly in a gas chamber. You’ve got a co-founder, but you guys are so slammed that you don’t get out to the mixers much. You isolate yourself because you’re tired of all the buzz and success that your colleagues are receiving on TechCrunch. You’ve been talking to your customers, but they’re waiting until you release before they bring out their wallets. You’ve tried to get some beta testers, but they’re busy with their own lives, or maybe they just don’t like your product and don’t have the balls to tell you. You’ve considered paying for advertising, but know that it’s a branding game, and you don’t really have a brand yet. You’ve dreamed up guerrilla marketing campaigns, but they didn’t go as planned because you’re really spending most of your time building product.

You’ve written the major trade publications, but you can’t seem to get their attention. Maybe you are terrible at pitching, maybe you’re too proud of your product or conversely too humble, maybe you are ignorant to the needs of journalists, or maybe you’re just unlucky. You’ve got to learn another skill now; add it to the list. Oh there you go, you found a press release service for $199 who promises to announce your unfinished product to the world and get you paying subscribers. Flop. You knew it would too, come on, press releases don’t work!

You wrote a blog article every 2 weeks, trying to lure in potential customers by offering industry-relevant news and positioning yourself as a knowledge expert. You got some eyeballs, but damn, they aren’t using your product yet. In fact, some of those people have made some connections for you, but now you need to leverage those connections appropriately so you don’t scare them off. You’ve got a half-built product after all, and you’re mighty embarrassed.

Getting traction, getting users, and getting promoted is rough when you have no capital, no team, no experts advising you. When you’re bootstrapped, this problem is exacerbated.

4) It’s hard to sell before the product is ready. If you’re a natural salesman, you’ve already learned this trick… selling your product before you’ve built it. The holy grail of sales is selling a product to bring in revenue that you can use to build your product. It is risky business because you have to make promises that you have to deliver on later or lose all of your credibility. As a bootstrapper, this is a skill you probably don’t have. You want to build a product with a small budget and overhead, and get it to market quickly. To get feedback and traction you need customers. But if the product isn’t built yet, you will have a hard time landing customers.

Most people can’t sell ice to eskimos, or half baked products to unsuspecting consumers. Most people feel that it’s scammy to do this. And to some degree it is. You’re making a sale on a foundation of lies. If you can look past this flaw, you might just rocket launch your product into success. If you can’t, you’re going to continue to struggle. Even if you are a natural salesman, selling this not-so-ready product is going to be rough. You might get a customer’s interest, show them some mockup images in a printed booklet, but then you’re going to have to manage them throughout the process. You have to convince them things will be OK, and that you’re going to make good on your promises. None of this is easy.

5) Your personal life is often negatively affected. You’re late on your bills, your debts are climbing, your spouse is anxious, your colleagues are weary. When you bootstrap you will almost always get very little support. You’re new to the entrepreneur game so no one knows your name and no one trusts you. Everyone you talk to questions your ability to build your startup, sometimes mentioning that you should have a regular job just like them. That’s not easy when you begin to internalize that the world around you is actually against you. Going to meetups to talk with other bootstrappers in your situation can help, but it’s a temporary patch on the situation. Your life is still affected, until you make that big day when your product begins to sell… which may never come, as most startups fail.

If your startup fails, you’re left holding your guts. You’ll have a pile of debt, family who thinks you made a mistake (even if they don’t share their opinion), friends who think you’re an asshole because you’ve been hunkered down for 80-100 hours a week ignoring them for months at a time, and a failed product that you might actually learn to hate because of where it left you. This is incredible hard for people to deal with.

During the recession a lot of startup magazines and blogs were talking about how people need to take a stand and go into business for themselves. They presented it that just anyone could start a business with enough guts. They were partially right – it is possible for anyone to run a business – but they failed to really address just how hard it would be for the average person, who isn’t already wealthy, well connected, or geographically positioned in the heart of a startup epicenter.

Bootstrapping is a fantastic option if you are going to create your own startup, but be prepared for a lot of lonely days and nights, and the challenges will never disappear. You are the Mad Max of the entrepreneurial world. Start getting use to it.

Posted in Uncategorized | Comments closed

Resist the Urge to Be Perfect

The reason I often blog about vague or high level concepts is that I continue to notice companies that are violating the laws of common sense. For whatever reason it is, people are constantly going against the grain with what should be obvious. So that’s why sometimes you might read one of my posts and think “Come on, I already know this!” The question I have for you is, “but do you really do what I’m suggesting or do you just know what I am saying?” With that said, let me introduce another common sense topic: perfectionism is stifling your ability to get things done.

Maybe you’re one of the lucky ones… you are more productive than the IBM Blue supercomputer, and you’re able to churn out product all by yourself, while you play the piano upside down on your head, balancing on a round spinning metal chair, singing Paul McCartney songs, and tweeting about it all at the same time. Bravo, I really do admire you. You’re one of the few and you’ve got no reason to read what I’m saying because you already get it. The rest of us have a lot to learn from you, and I hope you’re blogging about it.

It may seem counterintuitive, but being perfect will slow you down. I’ll say this again, just so you realize how important it really is. Being perfect will slow you down.

Whether or not you are a new entrepreneur (but especially if you’re new to running your own business), getting things done is the most important thing you could possibly do. Not just getting anything done, but you need to get the right things done. Figuring out what you should be doing requires that you’ve done some research and tried to do some things already. If you did the wrong things, you’ll know it soon enough, and it’ll serve as additional research for what the right things are.

OK, so you know what the right things to do are; you’ve got a plan. Fantastic. Now you’ve got to get them done. If you spend too much time researching, or too much time creating, then you might very well miss the deadline. When you own a business, you’re usually the boss, so you might not have any hard deadlines. You might have deadlines you’ve set for yourself or your team. But ultimately, you are only accountable to yourself and your investors (if you even have any) for missing them. By not having a firm deadline you might have the urge to perfect your product, since you can afford to slip on your delivery. You want that awe-ing effect when your perfect product is slipped into the hands of your customers. You want your clients to be wowed and shocked and excited.

But that’s wrong! If you try to make a perfect product, a perfect proposal, a perfect birthday cake, or a perfect song, you’re missing out on the opportunity of getting feedback from your clients early on and you might very well miss your “deadline.” Perhaps the cake is perfect, but you’ve missed the party. Perhaps the product meets all your requirements, but a competitor surfaced and stole your market. Perhaps the product still isn’t perfect, but you’ve missed the opportunity to make it happen. I have been there; I get why you want it to be perfect before letting others see it. I have spent years on a product and hundreds of thousands of dollars of my own money trying to make it perfect, only to have never shown it to the public, with the exception of a few people.

Was it worth it? No. Was I trying to be stealthy intentionally, so that my competition wouldn’t know in detail what I was cooking up? Maybe. Should I have released product improvements incrementally so that I wasn’t stuck in a hole if the whole thing flopped upon final release? Abso-fuckin’-lutely.

You need to balance progress with perfection. It’s important to try your hardest to do your best without tying yourself into the product so strongly that you’re worried that when people like or dislike it that they are making judgements of you personally. Having an incomplete or imperfect product is an opportunity for your clients to tell you what’s wrong with it or to tell you what needs improvement. It’s not a reflection upon your abilities or your value in the world, at least, not directly.

If being perfectly forces you to delay, you’re not able to make progress. If you’re unable to make progress, you might very well fail. Get that in your head now, because if you like to fail it might just happen if you try to be perfect. Small, timely improvements are better than occasional, delayed improvements. The duration of your improvements may vary depending on your market or product. For example, it’s expected that NASA takes a long time to make the next Space Shuttle or instrumented space satellite, but that’s because lives are on the line and space is dangerous. Mistakes are detrimental to the success of the program. Therefore they have a budget that allows NASA to be perfect. (This is changing, even for NASA, with the existence of commercial space companies in the private sector, forcing NASA to have smaller cycles with smaller budgets.)

You don’t have the kind of budget NASA does. And that forces you to make small leaps into your market, get feedback, and implement improvements. If you truly embrace the cycle, you’ll iteratively make a product you’re proud of, instead of one big splash.

Resist the urge to be perfect. In the end, you might actually make a product that the market deems perfect. It won’t happen right away, but people will help you build the road to eventually get there. Being perfect isn’t what matters; making things a reality is.

Posted in Inspirational, Management, Strategy | Comments closed