Software Architecture

Journey From Founding Engineer to Founder, Lesson 2: Invest in Infrastructure

By Poornima Vijayashanker A little over 4 years ago I decided to transition from being a founding engineer to a founder. I knew that I could build a product and recruit a team, I had learned those skills at my first startup, Mint.com. But I was really curious to know what it was like to be a founder. I wanted to build a company and a business. Most recently I’ve met many engineers out there who are contemplating this transition, and maybe filled ... Read more

5 Important Things to Remember when Designing a Product

By Frances Advincula As a software engineer who is primarily focused on the front end, I have to help ensure our products have a great user experience. Here are the top 5 lessons I have learned when helping design a new product, from simple things such as a school project to even more complex situations such as enterprise software. I hope you find them helpful! 1.Write problem scenarios because they are very effective ways of putting yourself in the user’s shoes. I think ... Read more

Stop the Endless Firefighting

By David Grieser You hear the loud-pitched fire alarm going off, alerting you of smoke… It could be real fire! Fortunately in most cases it’s just over-cooked food. Now imagine burning food every week, day, meal, or hour! The battery in your fire alarm might just give up. Or you, tired of the annoying and incessant sound, might just pull the plug! While we’re quick to pull the plug on fire alarms, why have we let them become the driving force for software development? Pssh… ... Read more

What Software Engineers Need to Know About Cookie Tracking Scripts

Whether you have an interest in Google Analytics and internet advertising, or your boss or coworkers do, as a coder you’ll likely at some point need to install a cookie tracking script. Developers often question the necessity for such codes, the security of them, and the privacy of the networks that use them. In this article we will explain what purpose this tracking serves, why it’s vital for measurement and effectiveness of online advertising, and what a software engineer needs to ... Read more

Pre-Launch Prep

I've been advising a few pre-launch startups that are getting ready to do their first ever product launch.  From first-hand experience I know that the first product launch can be nerve-wrecking.  You expect the product to be pixel perfect, and all the features to be fully functional and bug-free.  But there is such a thing as spending too much time on perfecting the product, and forgetting that you need to be able to support load on the system.  What good is ... Read more

Think About Scale from the Start

If you are thinking about scaling a web application or service, congratulations, because you have users that liked you or were curious enough to sign up and stick around! You will of course be acquiring more users shortly.  While the trajectory of user growth is unknown, and depends a lot on your usage model (viral social network vs. word-of-mouth individual user service) there are a few things you need to address: Capacity - your site will need to handle more concurrent users, ... Read more

Presentation for Code Camp ‘08

Part III. Rapid Development I’ve covered three of the areas that are very important to becoming a web-service (latency, throughput, and quality), and I’m sure this seems daunting or overwhelming. But keep in mind I’m talking about how Mint’s code and service evolved; we didn’t do everything at once because we did not have the resources or the time. As Mint started maturing there were two areas that we stressed: Manageability: keeping the code and data base clean, and extensible in case features ... Read more

Presentation for Code Camp ‘08

Part II. Web Application to Web Service Creating a prototype is very challenging, but its not sufficient. Many companies fail to actually create a service, because they simply take a prototype and add more features to satisfy the demands of the users. Transforming a prototype into a product is what I call the app to service phase, and it takes more than just piling on features. An application is just a point tool that a user uses to complete a few simple ... Read more

Presentation for Code Camp ‘08

I will be giving a presentation at Code Camp in about one month. The title of my presentation is “The Evolution of a Scrappy Startup to a Successful Web Service”. In the following posts I will attempt to flush out some of the ideas I plan on presenting. Please feel free to comment on my ideas and provide feedback. Part I: Prototyping I remember Mint’s alpha launch as if it were yesterday even though it was almost two years. The main purpose of ... Read more

Performance: Part II Address Scalability Before Its Too Late

As your product and user base grows you want to ensure that your customers both old and new have a good user experience. You want their experience to improve and not stagnate or diminish over time; scalability is another key element to address to ensure the success of your website. Scalability is defined as the capacity to keep pace with changes and growth. Maintaining a scalable website requires thinking from a business perspective. You want to understand how rapidly your site is ... Read more
Page 1 of 212