Hey new person! I mostly tweet about tech topics but really anything goes. Be kind and enjoy being a part of a supportive part of the Twitter tech community.
I'll add a few more resources in a thread below. For now here's a pic of my dog Rosie and her dinosaur.
Always tailor your offering to the problem you're solving, not the way in which you plan to solve it.
People don't want a drill; they want holes. If they could buy a package full of holes, nobody would buy a drill.
Focus on the problem you'll solve, not the tools you'll use.
@ocswaynee
@kvlly
Snap back to the IDE,
Oh, there goes TDD
Oh there goes habits he knows
He’s so mad but he goes
Deeper in debt that easy
No, he won’t have it
He knows, his old build server
Woke, he knows his whole build will be broke
It don’t matter, he’ll cope
He knows a back door he wrote...
Adding "-Ops" to the end of whatever your job title is now is guaranteed to boost your salary x%.
Some helpful ideas:
DevOps
DBAOps
FrontEndOps
DesignOps (DesOps?)
SecOps
TestOps
ProductOps (ProdOps?)
President and CEOps
RT/Reply with your own:
If you want to improve as a software developer you need to be creating. Not reading about creating. Not listening to people talking about creating. Not planning on creating. Create new software, in new ways. Push out of your comfort zone. That's how we grow.
I've created a custom Pluralsight channel, Software Engineering with .NET. If you're a subscriber, check it out. If you've completed it, send me a screenshot and congratulations!
I don't know who needs to hear this, but
Interfaces/Abstractions describe WHAT
Classes/Implementations describe HOW
I really wish I'd learned this, as concretely and succinctly, WAY earlier in my career as a
#programmer
.
#dotnet
@TheCodeJunkie
While I agree I try not to be satisfied with that. We need to try harder to communicate what is or isn’t “good”. Also, I believe you don’t really understand a thing if you can’t explain it to those less experienced than yourself. Figure out how to express it; you’ll know better.
This is why you don't use float/double for monetary types in
#dotnet
If you see non-decimal (or int) types used for prices or other monetary values in your system, flag those for review and (most likely) correct them when you get a chance.
Don't want a heavy git client but would like to see a graph view of branches/merges? Grab the Git Graph extension for VS Code. It's free and awesome.
#git
#vscode
#programming
#dev
@rogerdickey
Killer feature for Teams/Zoom/etc:
Meeting cost display.
Each attendee’s cost to the org, per second, is added to a running counter next to the duration of the meeting.
Authentication: who are you?
Authorization: given who you are, what are you allowed to do?
New proposed word for both of these:
Authentorization
Who's with me?
So you have a problem, and you want to solve it with microservices...
So now you have N problems... plus N(N-1) communication problems, plus consistency problems, plus hosting, deploying, debugging, monitoring problems...
#microservices
Before thinking about building microservices, build a monolith first.
If you're on .NET Core, check out eShopOnWeb (monolith) and eShopOnContainers (microservices) samples on GitHub. You'll see the difference in complexity immediately.
@csmcintire
@mchooyah
I have veteran friends I've served with who feel the same. To me, the national anthem has never been about honoring fallen soldiers.
If you're a C#/.NET developer, you need to understand the SOLID principles. Senior developers should be comfortable teaching these principles to their junior peers. Learn how to apply them in this Pluralsight course:
#dotnet
Say you're using CQRS in an app with multiple resources/aggregates. Which organization method do you prefer?
It would be great if twitter polls supported image attachments but here we are.
#CQRS
#dotnet
#dddesign
One of my favorite new
#csharp
#dotnet
features is file scoped namespaces. I basically never needed multiple namespaces per file, so these make perfect sense and save a few lines of code and a ton of indentation whitespace.
@paulg
@stevenpcurtis
“Wow, I’m not even going to bother with this startup because it might only net me $98M rather than $100M when I exit.”
Said nobody, ever.
Most .NET systems make frequent use of DateTime, but very few use DateTimeOffset. Learn what this type is and why you probably should be using it more often.
#dotnet
Microservices still too big? Break them up into
Nanoservices!
Picoservices!
Femtoservices!
Attoservices!
Zeptoservices!
Yoctoservices!
At some point you reach the "flipping one bit" level of service which should be the smallest... except now we have Quantum Computing, so...
I've created a custom Pluralsight channel, Software Engineering with .NET. If you're a subscriber, check it out. If you've completed it, send me a screenshot and congratulations!
The thing most Agile approaches lack is any focus on the quality of the work product. You can have all the special ceremonies and burndowns you want but if the quality isn’t there things are only going to keep getting worse.
Like if you’ve lived this. Counter examples welcome.
I've created a custom Pluralsight channel, Software Engineering with .NET. If you're a subscriber, check it out. If you've completed it, send me a screenshot and congratulations!
If you're a C#/.NET developer, you need to understand the SOLID principles. Senior developers should be comfortable teaching these principles to their junior peers. Learn how to apply them in this Pluralsight course:
#dotnet
FYI, this C# course is 100% free until the end of March. You can sign up now, and it'll be in your library forever - you don't have to actually *take* the course this month.
Check it out here:
#csharp
#dotnet
If you find the need to test private methods (directly, because you can't easily test them by testing a public method that uses them), it almost always means that you should extract that method to a new class where it's public (and then inject that class into the original class).
I've created a custom Pluralsight channel, Software Engineering with .NET. If you're a subscriber, check it out. If you've completed it, send me a screenshot and congratulations!
Most .NET systems make frequent use of DateTime, but very few use DateTimeOffset. Learn what this type is and why you probably should be using it more often.
#dotnet
In
#dotnet
#csharp
the whole thing would be:
public bool IsPriceTooHigh(int price) => price > 1000;
Bonus point if you replace 1000 with a constant.
Also price should almost certainly be type decimal.
Refactoring and recognizing Code Smells are critical skills for senior developers. This extensive course, though now retired, provides a nearly-exhaustive overview of the topic for C#/.NET developers.
.NET data access recommendations (since 2001):
DataReader
DataSet
Typed DataSet
ASPNET DataSource control
LLBLGen / NHibernate
LINQ to SQL
Dapper / Massive
Entity Framework
EF Core
I'm sure it's not going to change so I'll just hard code to EF Core in all my apps I build today.
I've created a custom Pluralsight channel, Software Engineering with .NET. If you're a subscriber, check it out. If you've completed it, send me a screenshot and congratulations!
Architecting Cloud Native .NET Applications for Azure
This guide is for developers, development leads, and architects who are interested in learning how to build applications designed for the cloud.
#SoftwareArchitecture
#dotnet
#CloudNative
#Azure
“Don’t deploy on Fridays”
Unless deployments are no big deal because you do them all the time and they have a very high likelihood of success based on past data. In that case just keep delivering value like every other day.
The new eShop sample in the dotnet repo on GitHub should probably move to the dotnet-architecture repo where all of the *other* eShop samples are.
Also for clarity, call it eShopOnAspire.
#dotnet