.NET Foundation Campaign: Eric Sink
Why I’m Running
So there’s the issue of my relatively low level of awesomeness. Looking over the list of other candidates, I wonder if I will even be able to vote for myself.
So why am I running? Simple: I am passionate about .NET.
I’ve been using .NET for as long as it has existed. SourceGear was one of the first ISVs to ship a product written in C#. Today, seventeen years later, my day is usually spent with things like .NET Core and Xamarin. I’ve seen it all, and I believe this:
The best time in history to be a .NET developer is right now.
It has been terribly exciting to watch .NET move toward open source, cross-platform, and mobile. I think .NET’s best days are yet to come.
So if the voters decide that I could be helpful to the .NET community as a foundation board member, I would consider it an honor to serve.
My favorite stuff
I don’t much like technology religion, and I respect varying opinions. But I figure that folks may want to cast their votes for candidates whose technology interests align with their own. So…
I love F#. But I have to admit that I’m rather pragmatic about it. So for various reasons, I am using a lot of C# right now. And I love C# too.
So, if you are an F# fan and are disappointed in my lack of pure devotion, you should probably vote against me.
But I so wish F# had more gravity in the .NET community. So if you are someone who wishes F# would disappear from the earth, you too should not vote for me.
I am also a big fan of Rx. That tends to be another somewhat-polarizing issue in the .NET community, so my deep fondness for
IObservable might help you decide whether to vote for me or not.
I love Xamarin. I use Xamarin Forms, but not XAML.
I use .NET Core, but not Azure.
I prefer spaces over tabs, command line over IDE, vim over emacs, and static typing over dynamic.
Why you maybe SHOULD vote for me
So far I’ve mostly given you reasons NOT to vote for me. Let’s see if I can improve on that.
One thing I’ve got that may be unusual among the candidates is a lot of experience as a board member in other organizations. It’s a skill, and I can credibly claim to be pretty good at it.
I believe that the first thing that distinguishes a good board is the ability to say “no” to good things.
Every board ends up making decisions about how to allocate resources. Those resources may be time, money, attention, or whatever. But there will be a bunch of things competing for those resources, and you can’t do them all.
Obviously, filtering out the bad things isn’t enough to make the board effective. Almost any board can do that. The real problem is what happens next. You end up with a list of good things. All of them are worthy of the resources. What do you do?
A mission statement won’t help you, because most of them are just long-winded rephrasings of “We value good things”.
This moment is what separates effective boards from ineffective ones. It requires preparation, great communication skills, and discernment.
And this is the moment where diversity (of all kinds) matters, not because it’s currently cool, but because a wide variety of perspectives is actually better, and always has been.
But the other side of that coin is cooperation. A board is doomed to fail if it’s just a bunch of people, each with their own pet issue, each with a different hill they are willing to die on. One of the most important characteristics of a board member is the ability to be open-minded and objective, and to not feel threatened by differing opinions.
My .NET Activities and Contributions
I founded SourceGear (a small software company in Illinois) about 22 years ago. My business partner (Corey Steffen) and I think of ourselves as serial entrepreneurs within a single company. We do a mix of custom software contracting as well as products of our own.
Yes, in 2019, people are still switching from SourceSafe to SourceGear Vault.
Our mobile data sync solution for SQL Server is called Zumero.
Our team built the cross-platform support for Team Foundation Server (under the name Teamprise) and sold it to Microsoft in 2009.
Our latest effort is PepTown, a smartphone-based fundraising solution for high school sports teams, built on Xamarin and .NET Core.
I am the maintainer of SQLitePCL.raw, a low-level SQLite wrapper for .NET. It is widely used as the layer below a number of other libraries, including sqlite-net, Akavache, and Entity Framework Core.