Open question: how do you look at the equity where one of the co-founders (Founder A) does not have to work for X number of years, since they've cashed out of another company. They have the capacity to work full time, whereas the other "co-founder" (Founder B) is only able to work part-time. Founder A has the means to not work for a lengthy period of time. While they're taking on an opportunity cost, is their risk viewed the same as some other guy that quits his job (kills his income) and maxes out his credit cards?
EDIT: According to Spolsky in his hypothetical situation, Founder B was not a co-founder because he kept his job. Founder A, OTOH was essentially unemployed and took on all the risk, and therefore was a "legitimate" founder.
There's no such thing as C# 2.5. You must be referring to 2.0. Anyhow this may be true of financial institutions, but to say that it's a norm... is not my experience at all. > 15 years of experience.
Sorry, 2.5 was me being sarcastic, so I put it in quotes. It basically means you code mostly in C# 2 with a few C# 3 features cherry-picked (Like null coalesce, maybe implicit typing with var) but avoid anything LINQ-related.
Most of the problems arise from people not understanding that linq queries return iterators, not collections and therefore writing O(n²) loops. But that's not too hard to learn.
Alas, if you are talking about Linq2Sql or Entity Framework, then of course you have to deal with all the typical ORM problems; but this has nothing to do with Linq.
I think the common sentiment is that we'd all hope to hell that we never have to work on a project so crappy that team members can't understand programming language basics.
Rant excused. While some of your points are more or less correct, would you care to elucidate on a few of the others?
1. You mentioned Oren Eini, who is the author of Rhino Mocks and contributed heavily to Castle and NHibernate. Apart from the usual TDD zealotry, how exactly do any of these screw up architecture? Or cost anything? -- they're free. Are you referring to RavenDB? Also, can you seriously name a platform that doesn't have celebrity developers slinging trash ware to line their wallets? Is this strictly a Windows/Dot Net phenomena?
5. & 6. While I agree that there are tons of clueless/mediocre Dot Net devs, I've met many that are exceptionally sharp and just as capable as any hardcore, passionate Java/Python/whatever developer. Passion outside of the Microsoft ecosphere? Are you at all familiar with the entire Alt.Net "movement"? Is your sampling based on the type of "talent" your company attracts? Or maybe the UK?
1. Oren is the least bad of the three mentioned, but his "Ayende" blog at times is a little vicious when it comes to slating other people's work [1] especially when the sheer number of bugs we've tripped over in NH, Castle dynamic proxy and NH profiler is as high as it is. I'm not a TDD zealot (I write tests for critical sections only, usually after the code writing event) but from an architectural point of view, unlike J2EE etc, there are no standard abstractions so once you've integrated something, you're stuck with it unless you fancy rewriting everything. This is hard work when your codebase is around the 2 million lines of C# and 150,000 lines of NH mapping XML (yes it's that big). Cost isn't just for the product - it's an ongoing concern. We've got to the point where we are becoming "that conservative enterprise" that someone else mentioned above.
Platform that doesn't have celebrity developers: C/POSIX. Even C++11 possibly now (I haven't evaluated it fully yet). Why? It's a set of standards, not a product. You're free to move around in it. I'd argue J2EE is fairly close to that but to be honest it's a pain to work with unless you're using Java EE 6. Go is pretty celebrity-free i.e. the authors with their heritage don't do it for the fame (which in itself sounds ridiculous).
5/6. Yes we've met them as well but to be honest they want lots of money (£100k+) or are contractors. I'm quite happy to take 3 people on that basis in myself and lose 6 members of our team as there would be a net gain but unfortunately employment law in the UK doesn't allow it and PHBs think more bums on seats is a good metric for measuring productivity. This is unfortunately a universal FAIL in the UK which concentrates on unemployment figures only - it's almost programmed into the minds of all business folk.
I'm not saying the last point is specific to .Net as for example the Perl developer community in the UK is even worse (I worked for an outfit where use strict was laughed at) but it's a hell of a lot easier to get a decent C expert than it is to get a C# expert just from the sheer amount of noise from low quality developers expecting miracle salaries. Recruitment agents are a joke as well (although they're easy to get a free lunch out of ;-) but that's another story.
> I'd argue J2EE is fairly close to that but to be honest it's a pain to work with unless you're using Java EE 6
The thing with Java is that the community is freaking huge. Actually, with Java you're not talking about one community, but of several huge communities.
If you don't like J2EE, that's OK, as there are plenty of well-supported and awesome alternatives. Alternatives like Dropwizard and Play Framework. If you don't like Java, the language, that's OK too, as there are awesome alternatives, like Scala, Clojure, Groovy or JRuby, all of them widely supported with big communities behind them.
Also, people should really acquire better taste in what technologies to pick. (N)Hibernate sucks so badly that I've always been amazed of its popularity.
Agree with your point about hibernate and its derivatives. Unfortunately with .Net you're stuck with that or EF which is even worse or something off the shelf and even crappier. TBH I've actually used raw ADO.Net with provider abstraction and dapper.net recently as replacements.
Despite its inefficiency, the old CQRS pattern with commands that INSERT/UPDATE and queries as typed DataTables are actually the most scalable solution I've found (over several years, not just on small projects).
Your point about having his girlfriend's labor as a huge contribution to his venture is pretty correct. I don't think it down plays his success at all... but it's certainly a significant contributor. If my wife would embrace my madcap ideas and work on them full-force, it would be quite awesome.
As a KnockoutJS fan, this is completely awesome to hear. It's nice to see my technology of choice pushed to the limit. You guys have really delivered some phenomenal work.
Constructive criticism: it looks like something I could actually use i.e. automation, server-side rendering, useful for SEO. But, I left the landing page and couldn't tell you exactly what the product will do for me. I have a vague idea that it might be useful for SEO or automation. I'm too busy to read the long copy. I'm not too busy to write this post, though :-)
I'd like to see different headlines (or landing pages) that speak to my pain points. "Having trouble getting your Knockout.JS website ranked?" "Frustrated by trying to automate testing of your JavaScript-heavy site?" etc.
Again, kudos. Something tells me this service is going to do fine... patience, right? ;-)
Indeed - or WatiN, the .NET port of WatiR. I've done some pretty heavy duty scraping and automation with WatiN, which included building a OO framework that trivialized writing scripts. Good stuff.
Fricking impressive, dude. I tried it and can immediately see the value.
Some constructive criticism: the scroll bar for the toolbox is too narrow for my personal taste. Gmail does this and it drives me crazy trying to actually grab it. Why not make it a nudge or three wider?
Thanks for your kind words and for trying out Mocktails.
I personally found 10px width to be quite usable, but if you are having trouble with it then I don't mind nudging it up to say 15px.
If you have any other suggestions or feature requests, please do not hesitate to let us know. You could do this at our feedback forum at http://mocktailsapp.uservoice.com
You could do what Mountain Lion does - 7px standard scroll bar, which grows to 11px on hover. It actually has a 15px clickable area on hover when you include the 2px margins. 15px visible all the time is a bit of overkill.
But don't make the mistake of implementing every little feature request or trying to fix everyone's problems (no offence to the op here). That's how bloat happens. Let uservoice do the talking to find out what the majority of people want, and focus on that.
Well, I don't really think 15px would look terribly wide, so rather than unnecessary complexity by expanding on hover, might as well always have it at that width. And you are absolutely correct that we cannot implement every single feature request. We'll most definitely be letting our users decide on uservoice.
Ah yeah, jquery-resizable is a tad difficult to use on touch devices. However, we are not planning to optimize for mobile devices anytime soon, since this is a tool people are mostly going to be using from their desktop.
Indirectly. He's referring to developers, like you and me. But, Apple, being one of the smartest businesses on the planet, is playing the exact same game. If you actually strike gold with your app/unicorn, they win. If you don't, they're still getting paid. This is just smart business.
Ok. I definitely respect any hardships the author has had to endure - I've had a few of my own. I also appreciate being frugal, calculated and managing risk in one's career.
OTOH, I am hearing echoes of what sounds like a textbook case of victim mentality. It's almost as if his fate wholly lies in the hands of these IT companies he's vying to work for. He mentions failing to hold his own during negotiations. He blames outsourcing. Complaint after complaint about why it's not all "roses, just roses"... like it used to be.
Folks: if you spend the time getting the right skills to pay the bills, this article does NOT apply to you. The crowd that I "run with" generally has NO problem finding lucrative engagements, or employment. Especially in this market. And even in a down market. There's always something brewing.
I hope I'm just gagging on some expensive link bait.
I was thinking exactly the same thing. You can complain about your job going to India, Russia or Eastern Europe all you like, but the sorts of jobs that are realistically compatible with those locations shouldn't be paid highly or in demand in the first place. The short of it is GOOD people are still HARD to find (heaven knows I've been looking for them).
The other thing that rubbed me the wrong way is this guy was taking 6 month holidays and working when he felt like it. Then he gets all upset when there's a low in the market and he's desperate for cash. What ever happened to making hay when the sun shines?
Surely with "decades of experience," this guy should have saved plenty by that point in his life to have a happy early retirement; but by the sound of it he's taken the work and salary for granted and wasted it away.
EDIT: According to Spolsky in his hypothetical situation, Founder B was not a co-founder because he kept his job. Founder A, OTOH was essentially unemployed and took on all the risk, and therefore was a "legitimate" founder.