It is the question we have all heard – “Have you ever worked with C#?” or was it “Have you ever worked with VB.NET?” or any of the other languages and technologies that exist in today’s world. I understand why the questions are asked but I don’t understand why many people hold such high regard for the answer. I know that each language has it’s own syntax and a unique way of doing certain things but those are easy things to learn for experienced programmers. Don’t get me wrong, I’m not trying to say that a Visual Basic developer with 15 years’ experience is going to be a crackerjack C# developer in a day – that would be an unreasonable expectation. What I am saying is that, to me, the difficulty with programming is learning the logic behind what you’re coding. How to think in code and how to write good code. You need to know when to write a function and when to just include that code in you current procedure. When should you break code out of a procedure and create a new one? Do you need a class or do you just want to create one? Is the code too fragmented? Unreadable? The list goes on….. Does it really matter if I am writing a protected sub or a protected void? If I import a namespace or I am using it? If I forget a “;” at the end of my C# code, Visual Studio will let me know immediately but it doesn’t care if I create an infinite loop that does absolutely nothing.
It would be easy to stop at programming languages but let me ask you – is it terribly important that you have extensive experience with the most recent version of SQL Server or is it enough to have a solid understanding of databases? Should you care if someone has 10 years experience with virtually every aspect of database design and implementation or is it important that they have 3 years of MySQL work? I have worked with Access, SQL Server, Oracle, MySQL and PostgreSQL over the years. Was I a rock star developer with any of them as soon as I sat down? Of course not! Do I know everything there is to know about all of them? No! I did, however, quickly learn what I needed to know to get the job done.
When did it become more important to know the most recent “greatest thing” than to have a solid background in getting things done. Is it more important to have all the answers or the wisdom to know how to find the answers and put them to work? Don’t get me started with “tools”. I know what you’re thinking – everything is a “tool” and, by the way didn’t you mention that you use Visual Studio? You’re right but that isn’t what I mean by tools. I am talking about applications that allow you to build a website without knowing that it uses HTML and other applications that require little to no knowledge to use. Call me old-fashioned but I like to know what is going on “behind the scenes”. If you read We Need a Website you’ll remember that I had to learn HTML and I actually created my first page (yes, it was HELLO, WORLD! as a heading on a plain page) using NotePad. I moved to a free HTML editor called HomeSite and now use CoffeeCup HTML editor. I was forced to use FrontPage for publishing my initial websites but always used HomeSite for editing. I have worked with people who have intimate knowledge of the tool but little or no knowledge of what it actually does. If the tool doesn’t work or they need to do something beyond the scope of the tool, they are lost.
So there you have it; my first editorial written by The Happy Coder. I know that I am not the only one who is concerned about the changing attitude in today’s technology field but I don’t know how many of us remain. That concerns me. Am I over-reacting? I don’t know and I may never know for sure. What do you think? Leave your thoughts in the comments section below or shoot me an e-mail at joe@joevalencia.site90.com.
Filed under: ASP.NET, C#, VB.NET, VBA, Web development, Windows programming Tagged: Access, C#, Database, interview, job interview, MySQL, Oracle, PostgreSQL, Programming, SQL Server, VB.NET
