Hacker News new | ask | show | jobs
by stickac 1656 days ago
This might provide some hints (or not): https://en.wikipedia.org/wiki/Anders_Hejlsberg#At_Microsoft

"In 1996, Hejlsberg left Borland and joined Microsoft. One of his first achievements was the J++ programming language and the Windows Foundation Classes; he also became a Microsoft Distinguished Engineer and Technical Fellow. Since 2000, he has been the lead architect of the team developing the C# language. In 2012 Hejlsberg announced a new Microsoft project, TypeScript, a superset of JavaScript."

I can only speculate that lots of skilled Borland developers followed Hejlsberg and participated in creation of C# and later TypeScript.

5 comments

The story I heard (I worked at Borland briefly in 1999): Microsoft would send a limo to the Borland HQ to pick up engineers for interviews on their lunch breaks. Borland sued, Microsoft settled for many millions, but basically instead of buying their rival outright (for assimilation into the Borg, lol), they just bought the talent. Last I knew Borland had changed names at least twice (Inprise, Embarcadero) and still existed, in some remnant form.
Amusingly Steve Ballmer got the hump when MS engineers started leaving for Google
As did Google when Google engineers started leaving for Facebook, and FB when their engineers started leaving for Uber/Lyft/AirBnB/Stripe/Coinbase/etc, and so on. It's pretty much a revolving door now, where many engineers have worked at all these companies and sometimes even come back to their home base.

CA's prohibition against non-competes and the DoJ's lawsuit against anti-poaching agreements is basically what makes Silicon Valley work.

Oh that definitely happened, but we don't have quotes from Google like this:

    Prior to joining Google, I set up a meeting on or about November 11, 2004 with Microsoft’s CEO Steve Ballmer to discuss my planned departure….At some point in the conversation Mr. Ballmer said: “Just tell me it’s not Google.” I told him it was Google.

    At that point, Mr. Ballmer picked up a chair and threw it across the room hitting a table in his office. Mr. Ballmer then said: “F---ing Eric Schmidt is a f---ing p--sy. I’m going to f---ing bury that guy, I have done it before, and I will do it again. I’m going to f---ing kill Google.”
Not that the giants haven't tried to be a cartel when it comes to labor. Including Jobs at Apple.
Borland sold their software division to Embarcadero, which appears to have been a big payday for top execs as they jumped out. However, Embarcadero did do a decent job of keeping the ship afloat and running things, though Delphi got very expensive. Idera then bought Embarcadero, but appears to allow it to have a high level of autonomy.
Another maybe interesting detail:

At some point there was an attempted pivot as well or maybe it was just what Embarcadero always had focused on.

I wasn't yet working in software then I think but there was an interview or paid article or something I think were someone told that the future of software laid not in languages and IDEs but in Software Lifecycle Management.

In a way they were right:

Today all major languages have free and open source implementations and Atlassian and a few others seems to have found larger or smaller sweet spots in what I think is Software Lifecycle Management or something.

That said what could Borland do at that point? It probably felt worse for them to bet the farm but in my opinion it absolutely isn't the most bone headed moveI have seen.

That said: The ads not so long after for "Delphi con" or something similar with large "No toothbrush required", that didn't exactly seem smart to me. I think by then everyone who used their products were grown up serious business programmers.

> At some point there was an attempted pivot as well or maybe it was just what Embarcadero always had focused on. [...] that the future of software laid not in languages and IDEs but in Software Lifecycle Management.

That was after they'd changed their name from Borland to Inprise, before they sold out to Embarcadero. I think that, in contrast to this, Embarcadero still bought them mainly for the IDEs.

> I think that, in contrast to this, Embarcadero still bought them mainly for the IDEs.

Indeed, seems it was the dev tools division Emba bought. Maybe the ALM div is still around. Hm, have I actually heard somewhere they even switched the name or that back from Inprise to Borland, or am I imagining it? Naah, can't be -- 't'would be both too pathetic and too absurd.

I remember I started getting a bunch of emails from an "Embarcadero." I didn't remember subscribing, and the unsubscribe didn't work, so I just wrote a filter to skip the inbox and send them all to spam. I must have subscribed to something from Borland at some point.
Interesting, do they make a similar effort to hire IntelliJ staff? I mean they could offer a much higher sallary than what they would get in Russia. Or is it all due to having the top guy, who is in the know on who-is-who?
What was the basis of the lawsuit?
"In the past 30 months, Microsoft has hired at least 34 of Borland's top software architects, engineers, and marketing managers", according to a complaint prepared by Wilson Sonsini Goodrich & Rosati. These actions have been undertaken “for wrongful purposes: to acquire Borland confidential information and to inhibit Borland's competitive position,” the filing states.

Borland's lawsuit seeks unspecified financial damages and an immediate end to Microsoft's unfair practice of targeting Borland employees in order to hamper the company's ability to compete. The suit claims that Microsoft's activities are illegal under California Business & Professions Code Section 17200.

https://www.eetimes.com/borland-sues-microsoft-for-unfair-co...

> Saying that he "just wants Microsoft to leave us alone," Borland International (BORL) CEO Delbert Yocam today filed a lawsuit against Microsoft (MSFT), claiming that the software giant is hiring away Borland's key employees to put it out of business.

https://www.cnet.com/tech/services-and-software/borland-sues...

Ruthless. Just pure evil to target one specific company like that!
Not really. Borland could have issued attractive stock based retention packages to the employees they wanted to keep, and forced Microsoft to acquire the company or go away.

This was on Borland for not adequately valuing their staff.

Borland was losing over a hundred million in revenue while Microsoft was offering seven figure signing bonuses. There's no way they could have paid more than what MS was, since MS was using their war chest to kill the company.
If they were losing a hundred million in revenue before their best employees were poached then we should thank Microsoft for saving these people‘s careers.
as the op says - they could have issued stock instead of real money
I call equity "Bison dollars": https://youtu.be/Shxiy7l5b_4

It's only worth anything if the world-domination plans go off without a hitch.

"Stock Instead of Real Money" is my new band name. So much meaning in just five words :)
Equity schmequity, and we don't know what Borland did or didn't offer to keep people around. We just know MS offered more.
Anders got 3mil signing bonus. Hard to counter that.
a million dollar signing bonus? Is there documentation of this?
I remember hearing rumors that microsoft would pay some developers $1 million a year and tell them to just take a vacation instead of work at borland.
Man, 1999 sounds wild.
Long term this kind of practice is bad for engineers the same way Wal-Mart driving other retailers out of town with low prices due to their size was bad for small businesses and small towns in the 90s and 00s.
how do I upvote a comment more than once?
You're acting like the employees were forced into the limos at gunpoint. People have free volition. Offering someone a better opportunity is not remotely 'evil'.
"What's wrong with this country? Can't a man walk down the street without being offered a job‽" https://www.youtube.com/watch?v=yDbvVFffWV4
In this case it's more like, "can't a CEO walk down the street knowing his employees are safely shielded from better work opportunities"
It's anti-competitive.

There's a difference between hiring talent because you want talent, and hiring talent to undermine a smaller competitor.

It's an analogous to dumping.

That is evil.

Dumping is basically not enforced, even if it is against the law.

Monopolies and cartels are against the law, but not enforced.

It is a sad reality of the modern economy, and one of the biggest indicators of who actually runs America.

At least in this case workers made money.

If borland was losing money, why didn't the execs negotiate a merger if they had so much desirable talent?

Hmmmmm, I bet the execs couldn't negotiate a big enough reward for themselves in an acquisition. The limo pickup at lunch strikes me as a big middle finger to Borland's management.

Of all of Borland's products that I liked, did I like them because of the software devs or the management? I guess what I want is the borland devs back.

I miss Turbo Pascal, DOS or Windows.

Again...you are acting as if the people being hired are...what? Not humans with free will?
Shoppers buying lower-priced products at a giant retailer moving into a new market are also humans with free will. It's the rational choice.

Once the store drives local businesses out, prices go up.

That's why this kind of behavior is unlawful.

It's not ruthless -- it's business.

If the fault lies on anyone, it's the employees who accepted the offers. If they really thought it was "evil", they would have denied the offer on moral grounds or in loyalty to their employer.

Do you not frequently get offers for more money than you are currently making at your employer? I would be a massive asshole if I accepted and left a job every time I got one of those -- especially in this market!

Since they succeeded in hiring so much of their company away, it seems none of them felt particularly attached to Borland or their work there, compared to a salary.

The only "evil" in the situation is how easily some (most?) people will abandon you the moment they get a better opportunity.

I suppose Borland could have matched salaries or tried to keep their employees in whatever way (maybe they did, who knows?) but at the end of the day either they didn't, or it wasn't enough for those engineers.

>The only "evil" in the situation is how easily some (most?) people will abandon you the moment they get a better opportunity.

As if your company wouldn't fire you the moment it was more lucrative to do so.

> It's not ruthless -- it's business.

It's not like these things are mutually exclusive.

It's a dick move, and I wouldn't do it, but I am also not beholden to a board of investors/shareholders that expect to see positive ROE at the end of the day.
This is part of Microsoft's core culture. Bill Gates championed the philosophy of doing anything it takes to get ahead, as long as there's some argument that it might be legal.
Wait till you hear how they compete for suppliers, customers, and regulatory changes. Business is about gaining an advantage over a rival. Scoping up rival employees is a 2x activity, you get talent and a competitor has less.
> It's not ruthless -- it's business.

Targeting all employees of a smaller company to destroy them is considered unfair business practice in some countries (legitimately IMHO). It's similar than selling at loss until your smaller competitor is out of business.

  > It's similar than selling at loss until your smaller competitor is out of business.
Why is this considered illegal or unethical? This seems like a fairly legitimate tactical move to me.

It's like a war of attrition -- you allow yourself to suffer losses for the sake of ultimately winning. At least in this scenario, the main player is also slightly fucking themselves over, instead of just you.

> Why is this considered illegal or unethical?

After competitors are knocked out of the market, the survivor can raise prices to above-market levels.

https://www.ftc.gov/tips-advice/competition-guidance/guide-a...

You can take a job and leave if they pay you more. That is fine. Microsoft isn't really only trying to gain talent. They want to drain the life blood out of their competition so they can get ahead. That intention is evil
It's a tactic. A dark one for sure. But corporations aren't known for being philanthropist anyway even if they spend millions on PR to mask that image.

As long as there's no enforcement (and in a free capitalist economy it's hard to enforce this, and I personally think it shouldn't be enforced too) these will happen. The best thing that smaller companies can do is to adapt and play by the rules if they can't change them.

Not saying it's good or bad. It is just it is.

>"The only "evil" in the situation is how easily some (most?) people will abandon you the moment they get a better opportunity."

To keep feeding bosses while loosing potential raise? Thanks but no thanks

Why do you think they only targeted Borland like that?
MS was trying to pivot away from their 90s platforms, and Borland was a potential destination for customers jumping ship from stuff like VB.

It was a different time. Even dinosaurs like IBM were still competitive in some verticals.

Because the objective of Microsoft's recruitment was not just to acquire talent, it was to diminish their leading competitor.
In a nutshell: Because Borland, more than anyone else, had hugely superior development tools (compilers and IDEs) for Windows.
No. One man's departure did not bring down Borland. Years after this guy left JBuilder was a great product that made them tons of money in the early 2000s. Java's popularity explosion (think J2EE) came years after the J++ debacle and JBuilder cashed in.

They disappeared because they weren't able to compete with the commoditization of Java IDE's (Eclipse) and Microsoft's integrated sales channel on Windows (Visual Studio). These two things killed their two biggest products.

Borland staff also disappeared because M$ made them offers that they couldn't refuse. Departing engineers were offered megabucks salaries which lasted only a year or two, but were enough to decimate the ranks of Borland's talent and wipe out the company's skillbase. Of course, Borland wasn't the only competitor to receive this kind of attention from M$.

In the 1999 federal prosecution of M$ for antitrust, Judge Thomas Penfield Jackson found that 'Microsoft used its "market power" to unlawfully "maintain its monopoly in the operating system market," violating the Sherman Antitrust Act. Microsoft, the Appeals Court found, unfairly used its monopoly power to strongarm computer manufacturers, Internet access providers, Internet content providers, independent software vendors, and companies like AOL, Apple, Intel, and Sun Microsystems.'

https://www.newyorker.com/magazine/2001/07/09/the-microsoft-...

They weren't able to compete with those things in the early-2000's, yet JetBrains was founded in 2000 and has had nothing but growth and success ever since.

The quality of leadership at Borland fell off, and the organization lost its vision and ability to execute. Simple as that.

I suspect JetBrains location in Eastern Europe helped a great deal talent-wise.
Maybe, but I really doubt it. "Our developers are cheaper" is rarely a winning strategy.

JetBrains did - and still does - execute well. They expanded their IDE to many languages and caught the Ruby, Node, and Typescript waves. Borland did JBuilder, yes, but it wasn't category-winning. Maybe Delphi could have dominated with more investment and more imagination, but it seems to have risen and fallen with Win32.

Their pricing strategy always sucked. I mean, 4000 Bucks for a Java IDE? Jetbrains on the other hand did the right thing from the beginning by asking money but keeping the price realistic.
If I recall Borland had very strong team in Saint Petersburg that moved entirely to JB
> They disappeared because they weren't able to compete with the commoditization of Java IDE's (Eclipse) and Microsoft's integrated sales channel on Windows (Visual Studio).

That, plus their weird and (IMO obviously even at the time) misguided pivot to emphasise SLM systems over dev tools. Well, it may be the same thing: seems likely this pivot was what led to them not being able to keep up with Microsoft on dev tools.

It's important to understand that in the 90s Microsoft was one of the few software companies that took "software talent" seriously, and would aggressively poach talent from competitors. They offered better pay, better working environments (private offices instead of cube farms). Often times their competitors wouldn't realize this until it was too late.
I can die for a private office :(
Hell even a cubicle would be a step up from the last few office environments I've had.
Yeah exactly. Now that I work in open space I realize that a cubicle is actually not bad.
What incredible impact.
Still Delphi was better.

- DSL for UI (Forms) - fast native compiler that produced self sufficient binaries - great component library and many open source libraries - Object Pascal was extended to fit perfectly the needs of UI programming

Building things that have no real-world constraints does often result in great beauty. Unfortunately, the web and all its ugliness became the dominant platform because it enabled no-download no-install information & application interaction
It was probably 20 or so years ago when I played for some time with Delphi. It was extraordinary easy to make program interfaces. Fast forward to today and we are in this clusterfuck, where everyone keeps reinventing the wheel and complexities just keep growing.
Yeah I feel that in a way, the best time to be a developer was back in the 1980s/90s. Your tools were limited but those constraints took away a lot of the "overhead" thinking about what frameworks to use and you could just focus on functionality. You didn't have Google or StackOverflow, but had a few books on your desk that covered pretty much everything you needed to know. Or if you were working on Unix, you had man pages, K&R, and Kernigan and Pike's The UNIX Programming Environment
The reason was you weren't competing with the world class. Programming was great because you could be a local hero.

Now everyone strives to make as beautiful websites as <insert big blue with their genius web framework>

We also didn't have security issues, which helped.
In the same way that Visual Basic offered simple, drag & drop interface builders.

What happened is also changing hardware, UIs that need to adapt to changing screen sizes, different needs, theming, and many more.

Making resolution-agnostic applications in C# Winforms wasn't hard, it was a simple flag to tell the OS how to scale the GUI. And if you used the native widgets and set tab-indexes you'd be all set for changing sizes, blind users, OS re-theming, etc. A good UI framework should handle that stuff internally... even a bad one should do that (bad, like how winforms set the wrong default font).

Imho, the real reason we don't see stuff like this for the Web is that the web isn't designed for modularity. CSS, Javascript, and HTML IDs are all global.

Programming 101 lesson 1 is "don't use globals" and the Web is the perfect object-lesson in why not.

Everyone seemingly unaware that this still exists and you can still do it in Hejlsberg's C#? Drag and drop WPF components and program in code-behind? With themes and responsive design?

(Big asterisk: mostly Windows-only and has recently lost product direction coherency)

> UIs that need to adapt to changing screen sizes, different needs, theming, and many more.

People keep saying that as if that is this new thing that wasn't ever heard of before the web or smartphones.

Open any desktop app and resize it. Boom, you've got "changing screen sizes".

And yeah, "needs are different, and we need theming is this new thing that never existed before the iPhone ".

> Fast forward to today and we are in this clusterfuck, where everyone keeps reinventing the wheel and complexities just keep growing

Yes, it is quite funny to see how no toolkit exists to simply produce Web UIs in a meaningful way.

However, the complexity has grown largely from externalities that didn't exist during the time of effortless interface builders, which is screen sizes and aspect ratios and pixel densities of all sorts. To handle this, you need to have some lower level primitives, and of course any time you have to go to a lower level you surface more complexity.

Final point - as a person who develops web UIs professionally for 7 years now, I think that the "reinventing the wheel" has been actually quite beneficial to tame this complexity. Previously, untyped JS had to be bent into surfacing type-style error messages, and good luck with boundary crossing data. Now, TypeScript lets you describe every key in your application and have incredible confidence that a fully-typed piece of UI or logic (which of course must avoid `any`) will deliver exactly what you intended. GraphQL & codegen has given us the ability to type our boundary crossing data straight from our DB or resolvers without any runtime reflection. Runtime reflection tools like io-ts also bridge that gap admirably to program defensively in the situations it's needed. It's obviously been accompanied by a lot of churn, but with strictly typed component libraries, a bit of reusable layout logic, and Hasura, I can make sexy fully-themable UIs strictly typed all the way to and from the data source without significant effort. The complexity in my new paradigm is entirely in application-level tricks like UIs visually informing users of all the async actions, animations / transitions, avoiding dynamic content causing bad layout blips, and ensuring user input is never lost. I think this kind of thing wouldn't have been easy in any oldschool toolkit because it inherently requires some wiring that isn't easy to surface

> where everyone keeps reinventing the wheel and complexities just keep growing

Cue XKCD "Standards" comic. People look at an existing framework and declare "this is total shit, I can build a better, easier to use version!" They then start building the better-easier and realize why the old version is so hard to use--because it's a difficult fucking problem begetting awful complexity + shitty code.

This repeats itself every 18-24 months, giving us the current clusterfuck of JavaScript libraries. Lather, rinse, repeat for the past 30 years (n.b. XWindows Athena -> Xt -> Motif/Lesstif -> ...<aeons pass>... -> Qt -> Electron)

The user downloads a browser that downloads the site-specific javascript application.
But in today's reality, there is a lot of Javascript that is getting "downloaded and installed" into your browser's cache. It's all being managed for you and it mostly works.
Please, you must not be pedantic in this way, it's clear that I mean there's no install wizard and OS-native interactions the user must go thru, they just provide a string URL and immediately begin application-style interactions after a brief load
It's not really pedantic. Since any application (not just a browser) could provide the same download-interpreted-code-then-run-it functionality.

It's probably not this particular feature of the web browser matters but the fact that web browsers come preinstalled with new computers.

Compare and contrast today's Javascript-in-browser dependent applications versus a pure server-side-rendering model. With the latter, there is truly no software downloaded, only static assets such as images.
It was the pinnacle of an era that was gone with the rise of the Internet.
That does not diminish the accomplishment in my eyes.
It doesn't, but that doesn't help us now.

See Flash.

Shit, I never thought I’d ever be a fan of any given programmer, but if one guy made both C# and Typescript I’m prepared to change my mind.