Article by Miles Thomas, Practice Manager in Workbridge Philadelphia
Tech startups from all over the country come in a variety of shapes, sizes, and types. From established entrepreneurs who have already sold multiple companies to college seniors working out of a basement, software engineers and businessmen alike have dreams of solving the ailments of the world, one solution at a time. To start an LLC isn’t all that difficult these days either; all you need is an idea, a working space, a computer, and (for some) a bottomless pot of coffee. Sounds easy, right?
Well, as integral as elbow grease and caffeine are for any start-up, a direction may be the most important thing for any would-be entrepreneurs out there. One direction that is integral to technology companies is the different layers of technologies used to accomplish whatever problem they are trying to solve; this is known as the technology stack. There are many different kinds of technology out there, but most companies land either between one comprised of open source technologies (also called Open Stack) or a proprietary technology owned by another company (.NET owned by Microsoft, or Java owned by Oracle). So, what is the best choice for all you startups out there? Read on…
Above, is an illustration of some of the different layers of a technology stack, and the options that an entrepreneur would have for each.
It's well known amongst most tech savvy individuals that open source tech stacks seem to be all the rage amongst startups. After all, not only are open source technologies free to use for you bootstrappers out there, but there are a variety of different programming languages to use depending on what you’re trying to do. Need to use a functional programming language for reactive application design? Use Python or Scala. Need to do simple website development for clients big and small? Use PHP or Ruby on Rails. With so many tools at your disposal, the possibilities truly are endless.
Java and .NET may not be as flashy or wide-ranging, but they do offer an array of different tools. With different frameworks and API’s designated to each company’s respective programming languages, Microsoft and Oracle do not leave their users without ammunition. Furthermore, there are defined boundaries for what tool to use and when- this can be extremely valuable for someone who doesn’t necessarily know their way around the latest and greatest.
The boundaries presented by a Java/.NET stack come at a cost, quite literally. The obvious downside of proprietary programming languages is that they can be quite costly; this can be a huge deal-breaker for a small startup with little to no funding. For a smaller company looking to stay afloat, spending what little money they have on-hand for something they can get for free seems foolish (on paper, at least).
At the end of the day, picking programming languages is all about circumstance. If a company has the money to spend, Java/.NET may be the way to go. If a company is strapped for cash, or if one of their founders has a background in some kind of open source language/framework, then open source may be the way to go. Given the convergence of the current technology landscape, however, it may not be long before it won’t really matter!