Hacker News new | ask | show | jobs
by ryanjshaw 4418 days ago
> are you going to stay on that version for the lifespan of the system? Likely not.

Not sure why you say that -- if it works, it works. I've just spent the last year working on a multi-million dollar project budget building a new system on a SQL Server 2005 cluster. Why? Because there was no need to budget for new hardware. (SQL Server 2008 R2 would have been a big step up, after that not really worthwhile upgrades, in our case.)

> For example, if my Azure costs are $10K a month, from that cost is likely $2K-$3K the Microsoft tax. Keep scaling your VMs and servers and that margin starts to look a bit less palatable.

Let's say my hosting costs are 10k p.m, 120k p.a. and represent 15% of revenue (this is just how my business works - if I need that much SQL power I'm doing a hell of a lot of business). 120/0.15 = 800k in revenue. Keeping things really simple, let's say my gross margin is 50% and corp tax is 20%. That leaves the business with a nice 320k profit. Sure I don't like spending 4.5% of my revenue on MS licensing, but at this point I can quit my job and port over to Postgresql (or more likely pay somebody else to). The point is that nobody wants to give away 4.5% but if it's the line between success and failure then you probably have bigger issues with your business model/environment.

Don't get me wrong - for my current side project I'd love to use Postgresql as the backend and .NET for the rest but the problem with Postgresql is two-fold and really specific to me:

1. I'd spend a lot of my time learning a new set of tools for zero benefit when time is my most expensive resource right now. I'm very familiar with T-SQL and the MSSQL platform (even simple things like having MERGE available has saved me lots of time given my problem domain, nevermind the ability to reuse a lot of code I've written and optimised over the past 10 years and knowledge of various issues and errors I will encounter). Porting in 3 years will be easier because we'll have a working system to port from, and the risk to the project will be less because we aren't doing two things at once (learn a new platform + solve a new problem -- only the later is going to make me money).

2. I plan on using some of the MS BI tools for the first time as part of this project -- this represents quite valuable experience to have as a .NET developer/solution designer; if I go the Postgresql route I will spend a lot of time exploring and evaluating open source options with zero benefit to my day job career progression over the next 3 years - I don't have the luxury of neglecting my day job while I work on side projects, so I need to be careful I don't lose value

1 comments

Definitely all valid points. I don't have any side projects that can potentially turn into a full business at the moment, so I do have the time to learn. I'm focusing on Django and python for the moment. I think Postgresql is a great hybrid solution as you could live in both worlds (.NET and otherwise). Would be much harder to do with SQL Server.

I also felt a similar way in terms of wanting to keep my day job skills in alignment with my side projects. I think its actually the opposite. Picking up python and Django (or RoR) will make me much more valuable for my own work and otherwise. Microsoft certainly has its place for desktop applications but that's not my focus. Heck, even for that, I am seeing more applications in Adobe Air.

Also, it's just fun to learn these new stacks. I don't need to be an expert, just enough to get the job done and know when to ask for help. Another motivator for me is the ability to hire developers remotely to take on development. I would imagine this is going to be easier to do with an open-source stack versus Microsoft.

Don't get me wrong. Microsoft in the last 3-4 years is doing great work. If you happen to stay out of the Silverlight, WPF, SharePoint side of things it's not been all bad. ASP.NET MVC is now mature and there is enough momentum with nuget and open-source .NET projects that you can replace components if need be.

I'm fortunate to be on both sides of the fence. I don't intend to never use Microsoft tech for my side work but there is a lot to gain from seeing what's out there that isn't Microsoft.