Editorials, Encryption/Data Security, Townsend Security

Accidental Programmers Unite

SSWUG TV
With Stephen Wynkoop
In this edition you’ll find Eric Johnson and Stephen Wynkoop talking SSIS, and Laura Rose is back with more tips for your career.
Watch the Show

Webcast Tomorrow – Last day to register, free for Full Members!
SSRS Data-driven Subscription using SSIS
SQL Server Reporting Services provides a powerful tool to render report based on information in a database table. However, you are required to purchase an Enterprise license of SQL Server in order to use this feature.In this session, Russel Loski will create an SQL Server Integration Services (SSIS) package that renders reports to the file system based on values stored in the database
[Find out more here]

Accidental Programmers Unite
I can’t believe the number of responses I have received regarding the concept of an Accidental Programmer. There are so many I’m just picking a few of the responses at random. Please don’t feel discouraged if your response isn’t listed here…

One thing that was repeated over and over is that as an Accidental Programmer, you have the opportunity to create great business value, or great business distress. Sometimes the tools are overwhelming. Sometimes the tools are too simple, and you think you have a good product, but it won’t scale.

Regardless of how you became a programmer, it makes sense to learn good programming techniques, processes, and frameworks. This takes years…there is no way around it. However, don’t be discouraged. The best programmers are often those who know the business first, and then learn to code well.

Kurt:
I’d love to hear more on this topic. I’m an accidental programmer, except I can’t do much programming. I’m also an accidental DBA. If there are words of wisdom from another accidental programmer, I’d love to hear them!

Colleen
I am both an accidental DBA and an accidental programmer. I’ve got over 20 years experience as a DBA now though, so I no longer consider myself an accidental DBA.

I’ve been tasked with automating some of our SQL installs. The SQL install is easy (and was done years ago) but everything we do post-sql install needs to be automated in such a way that it runs with virtually no manual intervention, where all variability is programmed into the solution. This is a daunting task for an accidental programmer who has no development skills and is just learning Powershell. As DBA’s, coding (t-sql) and scripting (powershell) is one thing we all need to learn, but to become a good developer takes years of practice, experience and good mentors (so critical!) It also requires a particular discipline not all DBA’s posess (like error-trapping, re-using code, etc.)

In my opinion, accidental programmers are treading dangerous waters and could really use a good mentor and some formal training if they want to be successful. Not all DBA’s are a good fit to become programmers and I think it’s important to recognize that.

John
Luckily in the run-up to the .com crash, I was able to grow from working on IT and accounting systems, to be the sole administrator for a small .gone database consulting firm where I learned TSQL and SQL server 6.5. That led to getting a job at a local software company supporting custom business systems based around SQL Server. One of the systems I had to support was built from scratch in C++ to interface with SQL. It was absolutely a horrible experience since I didn’t know anything about C++. I swore if I had to do that over again, I would learn C++ first.

I eventually had the opportunity to start working on another system that was to be written in a new language called C#. At first my goal was just to be able to read C# but progressed to writing small utilities. After years of supporting the application, I was asked if I wanted to move into the development team where I work today;

At times it is a challenge trying to keep up with all the changes. There is always something new learn. There are new technologies like Windows and SQL Azure to new development approaches to learn like functional programming.

… My experience has been to just keep plugging away at developing new skills while balancing the theoretical concepts with practice application of them. An example was trying to understand the concept of finite state machines with the practical application of parsing text with regular expressions.

Javier
Speaking of Accidental Programmers I know quite a few: why ? because of the "usefulness" of MS Access (and Shapoint sometimes). You see, some managers, directors and even owners of some companies enjoy "having fun" with MS Access (or Sharepoint or MS Excel macros). Which might be fine or not (having 150K and more-paid managers spending their time programming is their decision, right ?).

But what are the real consequences of this ? The most critical one starts on their side, developing their own systems/tools in Access because the analyst/programmers are busy with critical systems, the backend, the support, creating awful UIs (when you do not have the budget to hire designers) and …. well, wearing the hat of a DBA on top of that.

So how ends the story ? well, the Accidental Programmers realize that they suddenly do not have more time "to play around" on the Access tables and forms, and the VBA program got way too complex or tricky because they cannot keep adding features requested by users, ….and we are gently given these "systems" to now be supported and to add new features….

So what the real Senior or intermediate analyst/programmer is confronted with now ?

well, since these so called "systems" were written so poorly by these Accidental Programmers and the systems do not scale well and won’t run on multiple devices, and many other problems, there is no other choice than wasting valuable time migrating them properly to C# or equivalent, on a properly built layered-architecture, and to another platform (web based mostly).

And you know why ? Well…. because all these Accidental Programmers now all have iPads or tablets (!!!) and, of course, they want their poorly made systems to run anywhere and anytime. 🙂

Cheers !

Javier

Sent from my iPad=

Luis
I once had a colleague, electronic engineer, who started has a hardware support technician on on a national branch of a company. When the hardware division on that company was extinct he was reassigned to a salesman pet project who consisted in selling a software who was much like a ERP with a quite lot of different packages that must be installed, configured, and, sometimes, integrated with custom software integrations parts to do what the client wants. He learned to program and he did the job so well that it created two new positions for, this time, software developers. One was reassigned from other section and the other was the contracted my self.

Four year later, when I left the company we were responsible for the main source of income of our branch, with three new colleagues. His code was terrible, I had to re-write two or three of his integration applications, but no one could have the sort of ideas that he had. Has much of our work as integrators was implementation of communication protocols, his area of expertise fitted like a glove. I learned with him to count bytes and bits to… 🙂

I hope you enjoyed a view into the careers of many Accidental Programmers. As always, you can send me a note at btaylor@sswug.org

Cheers,

Ben

$$SWYNK$$

Featured White Paper(s)
Encryption & Key Management for Microsoft SQL Server 2008
Written by Townsend Security

Simplify encryption and key management on … (read more)

Featured Script
Metadata get descriptions from all tables
SQL Server 2000 allows metadata to be added to table definitions – i.e. descriptions. This script gets all descriptions for… (read more)