In this talk, Dave will strive to make sense of the impact the Lean Startup Movement (of which 500 Startups and its portfolio companies are great fans of) has had on entrepreneurship, particularly in Silicon Valley, where Dave is based.
On the whole I'm in favor of using copyright in this way - as one who writes a lot of prose describing software development, the mechanism seems to fit well. But that fit breaks down when it comes to interfaces of software components.
Generally, I want to tell all these people the same thing. If you really enjoy the work and want to be successful in the business for a long time, you should try to make decisions, think like, and become an engineer’s engineer.
As they say, with great power comes great responsibility. It was a shock to the system to have this level of autonomy. I've worked in various types of company over the 15 years people have paid me to develop code, but nothing prepared me for this.
Strategic work is difficult. It requires thought and discussion. Tactical work is difficult in a different way. Tactical work often demands answers quickly. Strategic work, assuming you don’t postpone it and create management debt should take longer because reflection is a good thing for strategic work.
In many cases (but not all) these quick solutions are built without regard for business logic reuse. This is not as important for one off apps but if they are part of a group of related apps this can be more of an overriding factor.
Software Estimation – the way that most of us do it – is broken. As an industry we’re bad at estimating, we've been bad at it for a long time, and there’s no evidence that we’re getting much better at it.
One problem with many (maybe most) software development organizations is that they inadvertently create perverse incentives, rewarding undesirable behavior and creating confusing and chaotic environments that, despite best efforts of all involved, seem to only on a hit or miss basis produce the desired result.
My friend Larry Calrkin did a whole series on Architecture by Baseball, but after going to a recent White Sox game I got to thinking about the how baseball mirrors my experience. For me it boils down to specialization, team work and leadership.
Being schemaless doesn't mean you will never have to migrate data between the implicit schemas with which data is represented inside NoSQL databases such as MongoDB. Even when leaving in place code that works with multiple versions of data and provide a smooth transition between the old and new formats, indexes provide an example of operation to be performed once and for all and that is mostly put outside of the code the database supports.