Someone was reading one of my previous blog posts and noted a mistake. I was very thankful that the person had taken time to let me know. Whilst pondering this it got me thinking about managing my strengths and weaknesses. There is a saying develop your strengths and manage your weaknesses. The first step is to identify your strengths and weakness. Let me list a few of them below;
Written English - yes, it's ironic that I choose to spend time writing a blog, given that my spelking and grammar is one of my weakness. Disciplining myself to write a blog forces me to use the tools that I have to help me manage that weakness. Tools such as a spell checker is a heaven-sent tool. There is another tool called Grammarly, which is a combination of a spelling and grammar checker. This tool makes an excellent crutch :-)
Social skills - despite starting and helping to run the Glasgow SQL server user group. My soft skills are not my strength. It would be fair to say, social interactions are those which I find the most challenging. One T-shirt slogan 'I like to party (and by party I mean read books)' I can identify with. One approach I take to manage this weakness is to read books quite literally, and so I have read quite a few books on soft/social skills. These have taught me a few strategies and techniques I use in everyday life.
Finding solutions - it's what I do, give me a challenge and I will find a solution. During an interview for a role, and an issue was raised regarding getting reports emailed automatically to managers. The company had tried various solutions none of which worked, over a period of a couple of years. The solution took me over 6 months, involved some VBA, a spreadsheet, and an SSIS package. I was able to deliver a solution which worked. The solution was not pretty or elegant, that said it met the specification and most important delivered with the constraints that required to work within. Many months after leaving the company it was a delightful pleasure to hear my solution was still in place being used.
Having taken time to recognize my weaknesses and strengths that was the first step for me to improve. This blog post will have been read and then re-read. Passed by someone with better grammar and spelling than myself before publishing. This is my way of managing that weakness. On the other hand, my strengths will have been used in other ways. These strengths and weakness are a part of who I am. They can help me make a positive and unique contribution. Learning to work with them is what makes me just that little bit better each day.
Over the years l have worked with many different people, and observed many people at work. When working in a mechanical garage l was impressed with the range of tools used by the time served mechanic's. When a plumber and electrician come to fit a new kitchen l was always was curious about the range to tools to do different jobs.
Today l had a relatively simple task when completing data migration task, which l was doing using SSIS. Most of the work uses TSQL when possible. In this case though l was asked convert the a string value from the source for one specific control on one form to Camel Case. First thought use play to my strengths and use TQL, so quick google, and found this stack overflow posting -> http://stackoverflow.com/questions/5164201/is-there-any-sql-server-built-in-function-to-convert-string-in-camel-case
Ok yes it was possible to use TSQL, the phrase that ran through my mind at that point was "when you have a hammer everything looks like a nail". Yes l could create the function and call it from the query etc.... SSIS is the most wonderful toolbox though (pun intended if you notice it). One of them is the script task. Since l only had to convert one control (there is a large number!) why not use some code? Would that be easier? Goggling lead to stack overflow posting -> http://stackoverflow.com/questions/1206019/converting-string-to-title-case-in-c-sharp ( This article filled in the gaps for me https://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase.aspx)
public void Main()
string fieldName = (string)Dts.Variables["User::str_Field_ID"].Value;
string stringValue = (string)Dts.Variables["User::str_NNLFP_VALUE_TXT"].Value;
if (fieldName == "XYZ014")
TextInfo textInfo = new CultureInfo("en-GB", false).TextInfo;
stringValue = textInfo.ToTitleCase(stringValue);
Dts.Variables["User::str_NNLFP_VALUE_TXT"].Value = stringValue.ToString();
Dts.TaskResult = (int)ScriptResults.Success;
Yes it has taken me time and effort to learn C#, that said it's an excellent additional to my toolbox. Yes l could have done the same in TSQL, it would have taken probably taken longer. Right tool for the right job? That l am sure is a matter of opinion and or debate. Speaking personally for this specific project yes l believe so. It has encouraged me to keep adding to my own personal IT toolbox......