Risks, risks & risks.. That's my #1 priority on communicating estimates.
Overall this is a nice short summary on the topic. The one thing I would add that I found very helpful on larger projects is communicating the risks & unknowns. I suggest listing them out at the start of the project & update their status as you work on it.
I've worked on teams where it's done with a simple color (red, yellow or green) on how confident we are on the task estimate based on risks/unknowns. This is the simplest way in my opinion.
I preferred lists as the only usable way to use Twitter, even before the takeover. I like how Bluesky has improved the functionality of your own feeds & being able to share them. If I recall, Elon was promising something similar when he bought Twitter but I don't believe that ever happened.
It will be interesting to see how Bluesky is able to continue operating when it needs to generate a profit though. I'm curious what their plans are. The need for profit on social media platforms often results in loss of quality & user experience.
I used to use lists but find that the info there diverges and gets noisy overtime, they don’t have a one click way to remove people from lists, so I use them less than I should
* Microsoft did just fight off a huge government battle on Activision. I believe they lost a battle on Teams bundling. Last week the FTC announced they were looking into Azure.
* Apple, their store & mobile browser has been a topic of monopoly discussions for years.
* Amazon wasn't allowed to buy Roomba just this past year. They've had tons of inquires over the past decade.
As a paying subscriber I love this move for the .NET community.
As a .NET dev for many years, I've noticed there have been periods of time where either Visual Studio or Rider was far better than the other. Currently, Rider is much better.
Hopefully this encourages more people to try out C# & F#. Both fantastic languages.
- Edit - Looks like Webstorm (JS/TS editor) is also free now.
I had a Rider license for a while but just let it lapse.
I've found myself totally satisfied with just VS Code on macOS (it's come a really long way).
I'm glad that this move will possibly make .NET more accessible, but I think VSC is in a really good place with C# at the moment and shouldn't be overlooked.
We have a mono-repo with 100k lines of C# in 8 projects, 40k lines of Vue SFCs in 2 workspaces, 39k lines of TypeScript, 23k lines of Astro. No issues at all running it on a 2021 14" MacBook Pro with only 16GB RAM and 512GB SSD while also running multiple Docker containers for Postgres, Neo4j, Memcached, and LocalStack.
My take is that folks should not underestimate VSC; there are certainly things that Rider does better, but VSC is totally viable for modern .NET backend work.
It's not an all C# project; C# only comprises the backend.
All in, the mono-repo is somewhere over 250k SLOC with mixed languages (Vue SFC, TS, Astro, JSX, shell). So when VSC is loaded, it's not only handling C#, but also everything else.
Point is that VSC is more than capable of handling production scale, multi-language workspaces even on 2021 hardware with only 16GB of RAM.
It's not that VS Code can't load a large project, that is table stakes. It's that the tools it provides to work with those large code bases are like fisher price versions of the Jetbrains equivalents. If one take their tools seriously, and uses them to the maximum extent possible to increase productivity, reliability, and robustness of code then there is just no comparison between the two.
Don't get me wrong, I still use VS code for all front-end development and other ecosystems (such as Rust). But when it specifically comes to C#/.NET there is no substitute to Rider in my opinion.
VS Code starts out as a lightweight code editor & via extensions you can turn it into more of an IDE but it'll take a lot of customization & messing around.
Rider is an IDE with all the bells & whistles already included. It also has extensions but they've built it with the most popular things already.
Refactoring, debugging, code navigation, formatting & hinting/suggestions are far superior in Rider. They have a lot more advanced features. Check out some YouTube videos by JetBrains to see examples.
Don't get me wrong - VS Code is still a great tool & I use it daily. I do wish they would have named it something other than "Code" or "Visual Studio Code" but hey, it's Microsoft. They're famous for terrible bad name choices. Maybe they'll make a copilot to fix that.
Just my experience, but at multiple companies, which are in the 50-70 employees range, their C# codebases were over 1 million LOC and I didn't get the feeling that they were exceptionally large or doing anything significantly different. I would put 1 million LOC as "medium enterprise . NET" which would place 100k in the small or possibly medium sized if there was significantly more LOC in another language that is part of the project that you aren't counting (eg. different web front-end).
my experience last time i tried it on a decent sized blazor project (about a year ago) was countless false errors and broken syntax highlighting to the point that i had to ignore everything and treat it like a dumb text editor like notepad if i wanted to actually get anything done instead of chasing shadows
I work on a almost 20 year old C# monolith, with 1000+ projects per solution. It doesn't even load in VS or VSC. Rider needs 16GB of ram, but manages to open it. I try to never close the IDE, as it takes 30mins to open.
The C# dev kit plug-in improved VSCode a lot, but it is still under the same licensing as Visual Studio Community. So, you need an account to use it, and it is pretty restricted for commercial use without an MSDN/Visual Studio subscription. If you are using it commercially outside of the terms of the Community license, you are probably using it illegally.
Not using the C# Dev kit, the old OmniSharp stuff is miles behind Rider. It is really poor in comparison.
I've been a previous subscriber, but I let my license lapse after this announcement. I don;t really need to be on the "latest and greatest" train, and I can get my company to buy me a license if a new feature comes in that I need commercially. I have got a perpetual fallback Rider license, but I will also use the non-commercial licenses to do any OS work in my spare time going forward (which is mostly on Mac and why I had a paid licence initially anyway.)
What fan boy nonsense is this? The VSC support for c# is miles behind visual studio. Rider isn’t as good either, but it’s certainly better than VSC.
Are you heavily using typescript with a bit of c# or a really tiny code base?
This comment is incomprehensible to me. Do you never refactor code? There are a lot of sophisticated things you can’t do with VSC.
It’s a great editor; but not for c#.
The benefit of using it is absolutely zero unless you’re heavily leaning into the other parts of the VSC ecosystem (like a big typescript code base).
> it’s come a really long way
So has visual studio; and it started off better, and still is.
Rider is too.
I’m happy to die on this hill; if you’re using VSC for c#, it’s because it’s free, and perhaps good enough for some things; not because it’s better than the alternatives.
Even if you’re stuck on a Mac, I can't believe you honestly find VSC an acceptable editor after using rider.
If Visual Studio has better support for C# than Rider, why does Resharper exist?
Not trying to start an argument - I've never used Visual Studio with C# (I was a PyCharm user when I started learning Unity so Rider was an obvious choice) but I always assumed that Rider was better - because it was managing to survive as a paid product so it must have had an edge.
I've wondered this for a long time. Last time I looked at the feature list, it seemed to consist mostly of stuff that was already in VS. The rest was stuff for which I could not fathom any practical utility.
Some people love it. When I've asked them why, they mention features that are in VS, but they just didn't know it.
i like resharper just because it has some nice suggestions for cleaning up code that visual studio doesn't have. i probably wouldn't pay for it on its own, but it comes with the package i have for rider so i do use it.
> If Visual Studio has better support for C# than Rider, why does Resharper exist?
I'm pretty sure Resharper existed before Rider. Also, the existence and utility of the plugin is a mystery to me. I tried it once and it adds so many attention disturbing behavior especially in the bottom bar that I disabled it immediately. None of its feature was every needed in the company I work, and the Rider crowd there don't seems to produce better code than those using VS.
My point isn't that "people shouldn't use Rider"; I myself had a Rider license and it's a GREAT IDE.
My point is "you shouldn't skip C# because you think you need a license for an IDE to be use it professionally".
Devs who are already using VSC for doing front-end and want to try full stack can absolutely do heavy lifting in VSC.
I let my license lapse not because Rider wasn't a great IDE, but because VSC is fully capable for backend and fullstack work.
> I think you're crazy
I'll take that as a compliment :D. Even back in 2021 when I was invited to present at the Azure Serverless Conf[0], I chose VSC for my session to showcase that anyone could start developing .NET without expensive licenses (a common myth).
"What fan boy nonsense is this?" Good way to start a VS fanboy post.
Personally, I have written APIs in C# from scratch to production entirely in VSC; your assertion that "It’s a great editor; but not for c#" is literally false in my lived experience.
Rider is also good. And since I run Linux, VS took itself out of my consideration entirely.
That's my exact workflow nowadays. The best text editing experience with GH copilot and lowest battery footprint makes using a VSC a no-brainer. It's especially nice since it also happens to be the choice for Rust, so I experience very little friction, not having to switch an editor and using capable CLI of .NET and Cargo.
For advanced scenarios Rider still rules, and this change is a very welcome one. I hope it will help with promoting .NET as the first choice where teams historically picked Go (which is worse).
With discipline, it is both more expressive by having a better and more powerful type system, and faster by allowing much finer control over code execution, data layout and allocations as well as offering actual GC tuning options. .NET's compiler is much more capable too, and the rate of improvement is not slowing down. It also has much richer package for writing line-of-business applications productively. The main advantage of Go used to be and still is "culture". But once you apply such minimalism mentality to C#, it gives a much better end result.
I think JetBrains is struggling a bit to land their next gen editor Fleet.
It came out swinging with a very early open beta and seemed to market itself as the coming replacement for all their IDEs, because all their IDEs would become plugins of sorts under the Fleet architecture, but have a dramatically easier API to develop against for plugin authors, be snappier, load quickly be less memory intensive etc.
From the looks of it now they changed the wording and messaging around Fleet as a longer term project and they seem to have gone back to mainly doubling down on pushing their bespoke IDEs, which ain’t a bad thing
Almost (or maybe even all) of what WebStorm does, you can do it in Rider or RustRover (which is also free). So it make no sense to not also make WebStorm free.
Sadly I cancelled my Rider subscription this year because AFAICT they've stopped supporting F#, it hasn't worked well for at least two years and has only gotten worse: crawling performance, lots of erroneous red squiggles, no IDE support for later .NET features. Maybe Visual Studio is better than it was a few years ago, but these days I just use emacs, and the MS F# team seems to prefer VSC over VS.
Do you actually use Rider for F#, or are you just repeating old wisdom? Your comment is rude and unhelpful, because I gave my direct experience as to why I stopped using Rider, and you responded with an empty platitude. Yet you did so in the most thoughtless, dismissive way imaginable, as if I was simply lying.
Rider was first-class a few years ago but has gone badly downhill, and it does not support F# on newer versions of .NET - or at least it didn't in June 2024 when I cancelled my subscription.
On a side note, if you code in JS/TS and you are a full-stack or backend dev, use PhpStorm instead. It is essentially Webstorm (+ PHP) + all the database tools. Those tools are one of the big reasons I bought their software with my own money.
I recently upgraded my laptop and finally VS with Resharper is blazingly fast.
My old laptop was a an 8th gen i7 with SSD and 32GB of RAM.
New one is a 13th gen i7 with an NVMe and 64GB of RAM.
I suspect the biggest difference is the NVMe. It probably also helps that I’m using Windows 11’s Dev Drive where I’ve enabled all the policies mentioned in their docs to minimise the impact of Windows Defender.
And finally, so much RAM means Windows gets to keep a lot of my working files cached.
Certainly any poorly configure av scanners will turn even the best computers into a heaping pile of garbage. A lot of people abandoned windows development not because the platforms were bad, but because corporate av policy was always scan everything and the performance became unbelievably slow. Now, it's so extreme, you can't enev get a windows (or shocked, Linux) requisition in so many dev shops.
Made me think of this old joke that's been on HackerNews, Reddit, etc for years:
The European Commission has just announced an agreement whereby English will be the official language of the European Union rather than German, which was the other possibility.
As part of the negotiations, the British Government conceded that English spelling had some room for improvement and has accepted a 5- year phase-in plan that would become known as "Euro-English".
In the first year, "s" will replace the soft "c". Sertainly, this will make the sivil servants jump with joy. The hard "c" will be dropped in favour of "k". This should klear up konfusion, and keyboards kan have one less letter.
There will be growing publik enthusiasm in the sekond year when the troublesome "ph" will be replaced with "f". This will make words like fotograf 20% shorter.
In the 3rd year, publik akseptanse of the new spelling kan be expekted to reach the stage where more komplikated changes are possible.
Governments will enkourage the removal of double letters which have always ben a deterent to akurate speling.
Also, al wil agre that the horibl mes of the silent "e" in the languag is disgrasful and it should go away.
By the 4th yer peopl wil be reseptiv to steps such as replasing "th" with "z" and "w" with "v".
During ze fifz yer, ze unesesary "o" kan be dropd from vords kontaining "ou" and after ziz fifz yer, ve vil hav a reil sensi bl riten styl.
Zer vil be no mor trubl or difikultis and evrivun vil find it ezi TU understand ech oza. Ze drem of a united urop vil finali kum tru.
Und efter ze fifz yer, ve vil al be speking German like zey vunted in ze forst plas.
>Reads like Mark Twain’s short piece “A Plan for the Improvement of English Spelling”
Which is a gem, regardless of authorship. Another related bit associated with Twain is:
“whenever the literary german dives into a sentence, this is the last you are going to see of him till he emerges on the other side of his atlantic with his verb in his mouth.”[0]
Which, as a native English speaker who learned German, I find both amusing and (mostly) correct.
As a German, I must say this is very well done. It went from clear English, over me having to think about every word, to clear English again (though only if I read it out loud)
> but Nvidia themselves are trying to spin up their own cloud provider offering, and unsurprisingly don't want to help a competitor
I thought Jensen recently said he does not want to offer their own cloud offering. He instead wants to focus on creating ready made solutions for cloud vendors to purchase & re-sell services with.
Fair point! I think that's a recentish pivot though (past 2-3 years). I vaguely remember that in the late 2010s they were building and testing DGX Cloud as it's own standalone offering, but I might be wrong and confusing some other offerings they were working on.
If you want a "diverse" team, having both kinds of above stated people on the team is crucial. The above mentioned A players can't do the steady boring work the so called C players can do & likewise that the C players can't do what the A players can. Also C players can be great at questioning all the bleeding edge new tech A players want to implement. For reasons like this, I think it's important that more senior positions are made up of both kinds of people.
Good managers will help everyone identify which kind of person they are & help them have work that fits them best. They'll keep the C players motivated & the A players feeling challenged.
A very common modern setup is PostgreSQL, C#/.NET, Linux & using JetBrains Rider for the IDE. You don't have to go all in Microsoft to use C#, F# or .NET.
Also .NET has been about "run everywhere on any platform" as their tagline for quite a few years now.
They have had plenty of community fumbles without question. I can't speak to those though. I've seen lots of vocal high up Microsoft employees try to win those fights on the side of the community but no idea what happens internally.
A very common modern setup is PostgreSQL, C#/.NET, Linux & using JetBrains Rider for the IDE
You just described the startup I'm at. All devs are on Arm64 MacBooks and we deploy to Arm64 AWS T4g Linux instances. I'm all VS Code, others are primarily Rider.
.NET is a highly underrated platform for backend; it always puzzles me when teams think about moving from TypeScript to Rust or Go instead of C# because it seems a much smaller leap from TypeScript.
Worst part for me about Go is how exceptions are usually basically handled the way that they would be with a Result<T> in Rust, but without an actual Result<T> type. That and how nulls are handled, feels like the worst of both worlds.
I love how much better listening to books with AI has become.
Have you done any attempts at multiple narrators telling a story?
Microsoft's Azure has a great tool for doing this but it's time consuming as you have to take all the text & match it to the narrator by hand. Open AI's last big demo kind of showed using voice chat to change narrator voices on the fly.
I think it would be awesome if you could submit a book, have a simple tool parse through & find all the speakers. Then let you sample how each one sounds with a brief description of what the person is like. Basically you get to have each voice do an audition & you pick your favorites. Then it goes through page by page generating audio based on the voices selected.
I'm not suggesting this feature for the app. I'm just throwing out this idea as one I've been thinking about. There have been a lot of books I've wanted to listen to but don't have time to sit down & read.
Overall this is a nice short summary on the topic. The one thing I would add that I found very helpful on larger projects is communicating the risks & unknowns. I suggest listing them out at the start of the project & update their status as you work on it.
I've worked on teams where it's done with a simple color (red, yellow or green) on how confident we are on the task estimate based on risks/unknowns. This is the simplest way in my opinion.
I also like Basecamp's Hill Charts - https://3.basecamp-help.com/article/412-hill-charts