Welcome to another round of Interview with a Wiki Ninja! Did you know we've done over 100+ of these? Well, that's what happens when you do it for years.
It's my pleasure to introduce you to someone who is no newcomer to the community (so hopefully you already know her). She's an MVP, she has already written 16 Wiki articles (wow!)...
Some of her profile stats:
Some of Karen's example Wiki articles:
Now let's dig into the interview...
Who are you, where are you, and what do you do? What are your specialty technologies?
Karen Payne, resides in Oregon USA and is a Microsoft MVP. Karen has a passion for providing high quality customer solutions and teaching other developers.
For the past 22 years Karen was employed by Oregon department of Revenue working on desktop and web solutions using many development languages with .NET at the forefront for personal and corporate income tax, property tax and cadastral maps divisions. When Karen first started at Department of Revenue she worked on five of the top enterprise solutions which were virtually not maintained for several years. In the years following Karen worked on every enterprise solution at the Department of Revenue using various programming languages which included C, Borland Delphi, Nantucket Clipper, VB-6, VB.NET and C# along with all the common web languages. In recent years Karen specialized in SPA (Single Page Applications) working with SQL-Server Entity Framework sometimes half-stack, other times full stack. Karen also was one of the principle architect of a generic team library and has written B2C and Windows services.
In January of 2018 Karen was offered a rotational position with Oregon department of employment which becomes a permanent position June 2018. This can about from a three month stay at employment department to assist in a mission critical solution which was heading for failure and I turn the tables.
At the department of employment Karen's duties are writing and maintaining C# and Cold fusion solutions along with writing services for C# and Cold Fusion to work together with mainframes and Oracle databases. Prior to moving to Employment, I had no Cold Fusion experience yet was up to speed in one month and ended up being a mentor for a third-party framework.
Main technologies presently, SPA (Single Page Applications) enterprise and public facing web solutions, Windows services and Cold Fusion MVC public facing web applications.
In Karen's out of the office time is partially spent driving a highly modified 2016 Mazda Miata and has been teaching various forms of personal protection for over twenty years with awards in a prestigious worldwide martial arts organization for teaching mythologies.
What are your big projects right now?
Currently working on several projects
- WPF/C# MVC solution which is the main internal tool for Employment department auditors to audit businesses to ensure they are following the law in regard to paying into the system for those currently are employed with the company so that if they become unemployed they have benefits.
- NET/C# employer tool for filing tax information of employees.
- Teaching TDD (test driven development)
- Mentoring several Cold fusion developers to work with C#
- Teaching Cold Fusion Framework 1 to current Cold Fusion developers
- C# plug-in for Cold Fusion to mainframe service
- Cold Fusion mobile solution which provides the ability for people to file for unemployment.
In what other sites and communities do you contribute your technical knowledge?
- Teach/mentor developers at Oregon department of Revenue and Oregon Department of Employment in Azure B2C and C#.
- Forum moderator for Microsoft developer network for C#, VB.NET, Data controls and binding.
- Daily contributor on Microsoft developer network
- Microsoft Developer Network samples with 146 code samples presently.
- Forum moderator for VBForums
- StackOverflow contributor.
Do you have any tips for new Wiki authors?
Having years of experience writing code samples for Microsoft Developer's Network taught me a few things which turn into the following tips.
- Ask yourself these questions, if you feel good about your answers this is a start.
- Who is your audience and why do they need what you are presenting?
- You have verified your article addresses a topic that over many years there is no good all-encompassing ready to run code sample or the article addresses new technologies where there are spare to no good examples presently.
- Has some else written on the same topic and if so what does your article provide what other articles don't provide?
- Is the programming language relevant today?
- Are you an expert in the topic (if not best be prepared to answer questions on your topic)?
- Write the article in a word processor such as Microsoft Word and take your time composing the article. Drop in code snippets into the document and notes to where they were in the Visual Studio solution.
- Your code should be fully tested so there are no issues for those who download your sample code. Then be prepared to fix things when something goes wrong because there are always things that you never considered when writing the article.
- When web based test on multiple browsers.
- When desktop based run on the current OS and at least one version back on the OS.
- Utilize version control, what I've learned is when attempts are made to break your code as per the last bullet you may get to a point where it’s impossible to get back to a working version. I've been doing this for many years.
- Before posting, let the article and code base "rest" which means walk away, for say an hour to clear your head. Come back, review everything fresh as if you were the reader of this article and not the writer, does it all make sense? If not spend time correcting anything which is unclear.
- When posting an article select the HTML tab, copy the contents into notepad or notepad ++ as a backup in the event the submission fails.
On what Wiki articles do you spend most of your time?
I tend to spend more time on articles like Excel operations with Open XML, Automation and OleDb which has many variable conditions along with from my time on the web there are really no one article that lays down a decent foundation for the basics for working with Excel in Visual Studio. This article forms the basis for building solutions in developer's projects. Currently I’m sitting on over a dozen articles/code samples where they are all over 80 (or 100) percent (done and will be released. How does this play into this question? Because I'm a stickler on details plus in the middle of an article when answering question on a forum a question prompts me to consider writing an article or code sample. The truth of the matter is most time is spent up front preparation. I've gotten to the point where an idea pops into my head and several hours later it's ready for publishing when the topic is one that I know is needed by developers at large.
What are your favorite Wiki articles you’ve contributed?
There are several, Different methods to display unit test in Visual Studio which is a platform for providing developers with the basics of writing unit test. Another one is .NET: Defensive data programming (part 1) as there are countless developers who look for simply solutions without considering what happens when things don't go as planned which leads back to unit testing.
What does success look like for TechNet Wiki?
To be honest I'm not sure I can answer this question as for my article there is no way to know how many times someone has engaged with one of my articles. What is known, each article I've written would not have been published if I didn't see an audience for the article.
What could we do differently on TechNet Wiki?
One idea is to have a link for TechNet Wiki in the footer of MSDN forums under "Learning resources".
Thank you, Karen for such a detailed resume! It's truly an honor to have you contributing content with us!
Everyone, please join me in thanking Karen Payne for his contributions to the community!
Join the world! Join TechNet Wiki.
— Ninja [Kamlesh Kumar]
PS: Today's banners are from Ronen Ariely.