Reflections of Visual Basic 6, when the end is near

Very soon Visual Basic 6 will go out of commission, Microsoft will cease all support and will officially bury a language, tool and platform that has been argued to carry their success with their platform penetration through the 90’s.

In the backwater of this I can’t help but wonder. Was Visual Basic an expensive detour or did it actually help bring our industry forward? The goal with Visual Basic was simple, bring a tool that makes it easier to build LOB type of applications. Lower the threshold and make the Microsoft platform dominant on delivering software. There will be arguments for success and failure but a simple fact remains, there is a lot of Visual Basic systems out there, there where million and millions of VB6 devs working everyday with the platform before .NET.

But did it backfire? Did the rapid growth of Visual Basic developers contribute to the mistrust in the Microsoft platform for mission critical applications? The fact is, there was a lot of really poorly written VB systems deployed. Enough to create serious doubt in the Microsoft platform. Was it VB’s fault?

I would say that with Visual Basic, Microsoft got it’s wish fulfilled. With an army of devs there where apps flying onto their platform. But was it the right devs?

Maybe, no matter the tool, people who can’t write software won’t be able to write software?

Maybe, with a really bad tool, people who can’t write software will write insanely bad software?

Maybe Microsoft should be careful what they whish for?

It might not be a tooling problem that people can’t write software, it might be a people problem.

With that in mind, I look very skeptical at things like LightSwitch. I don’t see any problems in making solid developers more productive. There is one thing that VB has taught us though; not every person with a keyboard makes a solid developer, and a tool won’t change that.

Excel as a software engineer, be a professional not an amateur

Jeff McArthur is a frequent blogger and tweets a lot. He’s one of those random (at least for me) guys you stumble across that writes good stuff you want to read.

During this weekend he’s put out a lot of tweets about the difference between a professional and an amateur. Most of them was in general terms and they all got me thinking. What do I think defines a professional software engineer? What is our profession all about?

Some label most of us technology geeks, and to some degree this is very true. I like technology. I like software and hardware and I play games. A typical description of a geek.

But is our profession only about technology? It plays a huge role indeed; technology is part of our toolbox. But is it all?

I would argue that technology is just a small part of what we need to do to be considered a professional. Here is my list, in no particular order:

  • Dedication – be dedicated towards delivering the BEST solution, not just A solution.
  • Continuously seek more knowledge – to be able to decide what is the best solution, you need to have a broad toolbox with a understanding and competence in many technologies, methods and tools.
  • Strive to deliver quality – not just quantity. A good piece of software doesn’t only do the job. It’s also reliable, stable and maintainable.
  • Pride – software engineering is a craftsmanship. You need to put pride in what you create.
  • Question your skills – at all times. There is always something to perfect, something to get a little better at.
  • Welcome feedback on your work – always look for opportunities to get your work criticized by everyone. Listen to it and change.

This seems to be oddly general. Being a professional in any trade means a lot of the above, but in our trade where business and technology moves faster then a high-speed train. We need to constantly be on our toes. Putting in an effort to learn, evolve and excel.  When we do that, we can start to count ourselves as professionals in the profession of Software Engineering.