October 2009 - Posts

Does everyone need to be the one that chooses?
13 October 09 01:45 PM | wmmihaa | 5 comment(s)

Johan Lindfors and Patrik Löwendahl did a duoblog titled “Everybody wants choices but nobody wants to make a choice” where they wrote about the growing opinion that software development and .net framework is getting to complex. It was later commented by Johan Hedberg among others.

It’s a very relevant issue, as many of us struggle to convince other developers and organizations to embrace new technology. But even though I agree with most of what’s been said, there is one part I strongly disagree with:

Patrik Löwendahl wrote:

“..developers seem to not understand the basics of the job requirements. As a software developer, my job always include constant learning and constant improvement of my skills. If I can’t agree with that I am a bad developer. This is not the tool vendors fault, this is because business change, improve and learn as well. If we don’t do that with them, we will be left behind.”

Only a tiny fraction of the worlds software is currently being built, some is being re-factored but the overwhelming majority is in “maintenance mode”. Of course this allocation is also reflected among developers, as many are working with already existing applications, adding new features, fixing bugs etc.

Naturally, these developers grow more focus and understanding of business requirements rather than the evolvement of the underlying technique. This is only natural as transition from already established standards such as Visual Source Safe, ODBC and ASMX, will not be prioritized in comparison with new features and capabilities of an already working system.  

One could argue that if they don’t keep up with the latest technology, their system will eventually become unmanageable. When key resources find better (and more interesting jobs), they will face a challenge finding anyone willing to take the job. But if this is the reason for adapting to the latest technology, it’s not the technology in it self they will benefit from, but the access to “good developers”.

As Johan pointed out, this is a problem for the management. –Sure there are bad developers, but focusing on the business needs and prioritizing your family and friends does not make you one!

If I’d call for the janitor to come and help me with a problem in my apartment, I’d rather see the a person with years of experience from my building than an outsider with a cool tool belt. The knowledge about every pipe in the building, will impress me more then the DeWalt DC927KLV in his hand.

Everyone who knows me, knows that the last comment is a lie. I would drool over the DC927, in fact begging to try it out. But the point is, my passion for technology (and power tools), does not necessary make me a good developer, for the same reason the employee with a deep understanding of the business is not necessary a “bad developer”.

It’s all about being the right person for the job, eager to solve the business need. Sometimes, and especially in new projects, the passionate developer is essential to make life easier for the ones making sure it will evolve with the change of the business. 

Filed under:
Search ALL tables query
06 October 09 10:53 PM | wmmihaa | 5 comment(s)

Ever needed to scan the entire database for a specific value? I ran into problem twice in one week, so I put some thought into it, and hopefully it will help someone else.

DECLARE @wordToSearchFor varchar(50)
SET @wordToSearchFor = 'BizTalk Application Users' -- The word you search for

DECLARE @query varchar(500)
DECLARE SearchAll CURSOR FOR 
SELECT 'IF(SELECT COUNT(*) FROM [' + TABLE_SCHEMA + '].[' + TABLE_NAME
+ '] WHERE ['+COLUMN_NAME+'] = '''+@wordToSearchFor+''')>0
BEGIN SELECT * FROM [' + TABLE_SCHEMA + '].[' + TABLE_NAME
+ '] WHERE ['+COLUMN_NAME+'] = '''+@wordToSearchFor+'''
PRINT ''[' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']'' END'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE LIKE '%CHAR'

OPEN SearchAll
FETCH NEXT FROM SearchAll INTO @query
WHILE @@FETCH_STATUS = 0
BEGIN
    EXEC (@query)
    FETCH NEXT FROM SearchAll INTO @query
END
CLOSE SearchAll
DEALLOCATE SearchAll

Hope this helps

This Blog

News

    MVP - Microsoft Most Valuable Professional BizTalk User Group Sweden BizTalk blogdoc

    Follow me on Twitter Meet me at TechEd

    Visitors

    Locations of visitors to this page

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

Syndication