Glenn Berry is used to do doing things his own way. A former US Marine, who says that, as an infantryman, he became so tired of walking that he became a Tank Commander. He first learned to program after persuading a clerk at a Radio Shack store to print out the source code from a Commodore game called B1 Nuclear Bomber. This was then retyped and converted it to a 20 column display with added sound effects.
After leaving the forces he studied economics and international affairs thinking it might become useful in his chosen career as an intelligence analyst similar to Tom Clancy’s hero Jack Ryan, the former stockbroker and CIA agent.
Instead Glenn spent his second career rather more prosaically as a developer before discovering he liked being a DBA much better. The job has its similarities; both require the patience of a saint and being fluent in a second language.
A well known SQL Server MVP since July 2007, Glenn is also a competent author, blogger and regular contributor at PASS events with a particular emphasis on T-SQL Programming, query tuning, best practice and configuration management and version control.
A keen amateur astronomer, military historian and modeller, he worked for social media communicator NewsGator for five years before joining Avalara in Bainbridge Island, Washington last summer.
- RM:
- Glenn, when did you learn to program and what was the transition to what you do now?
- GB:
- I was working as a Claims Adjuster at an Automobile Insurance company when I taught myself how to program with Visual Basic 3.0 and Access 2.0. Not too long after that, I got my first development job. I was always more interested in databases, so I eventually gravitated to being a DBA. One joke I always tell when I am speaking is that I used to be a developer, but then I grew up and became a DBA.
- RM:
- You’re largely self-taught. Do you have any advice for self-taught programmers? Does it matter that people learn assembly or Basic if the way software is going to be all web applications or a piece of distributed code that will move around a dozen servers spawning other copies of itself.
- GB:
- I would say that you should buy a few decent books for the programming language you are interested in learning, and use them to help you get a good grasp of the fundamentals. Looking at good code examples from other developers is also very helpful. I think that learning a popular language like C# is a good idea, regardless of what you are planning on doing.
- RM:
- Lots of programmers come out of mathematics and lots of computer-science theory is very much mathematical. You’re proof that it is not necessary. How much maths based thinking is necessary to be a good programmer?
- GB:
- Well, I don’t know that I am really a good programmer. I was always much better at optimizing existing code to make it run much faster. Working on most business and database applications, you don’t really need much math beyond algebra and arithmetic. You certainly don’t need things like calculus for most programming tasks in that arena.
- RM:
- Have the kind of people who can be successful at programming changed, do you think?
- GB:
- I think the most important trait for a good developer is perseverance. Most end-users (and many IT people) tend to get frustrated and give up if they can’t figure out a problem pretty quickly. As a good developer, you have to stick with it, troubleshooting, debugging, and walking through your code until you figure out what the problem is. Then, you have to figure out how to fix it. You can’t just give up, and wait for someone else to fix it.
- RM:
- I wonder if the inclination to take things apart and understand how everything works is little more tempered these days. If you tried to take apart every piece of code you work with, it would never end. I guess now you have to say to yourself, ‘I sort of understand how this works and I’m going to let it go at that until it becomes urgent that I understand it better.’
- GB:
- Many developers are endlessly curious, and they do like to figure everything out. This is fun for them, but can be bad for a project if they spend too much time “gold-plating” their code.
- RM:
- Can you tell me something about the way you work? Do you live a hectic life and work every day, 7 days a week?
- GB:
- Currently, I work from home, doing remote work for Avalara. Not having to commute to work is very nice, but there is a trade-off in that you sometimes feel guilty if you are not online working 24 x 7. I try not to live a hectic life and work seven days a week, but if there is a crisis, I feel a sense of responsibility.
- RM:
- You’re well known as a mentor, did you have any important mentors when you were starting out? Can you say something about the direct influences on the way you work?
- GB:
- I try to spread useful, accurate knowledge as much as possible, and I like to help people out, so I guess that makes me somewhat of a mentor. One of my early role models was Kimberly Tripp, who really inspired me after I saw a few of her presentations. Paul Nielsen helped me get started as a speaker by giving up one of his speaking slots at a regional event, so that I could get a chance to speak there. I think being in the U.S. Marines had a big influence on how I try to work, with the idea of discipline and responsibility.
- RM:
- T-SQL as a programming language isn’t very sophisticated and there are a lot of things you would take for granted in any modern language that just are not there. Do you think Microsoft need to do a lot of work in this area such as tools for the professional programmer?
- GB:
- Unlike many developers, I think T-SQL works pretty well for what I think people should actually be using it for (which are basic CRUD operations). If you find yourself wanting to do complicated business logic in T-SQL, and you are frustrated because T-SQL won’t let you do it as easily as you would like, I would say that you should be writing that business logic in C# to run in a middle-tier component.
- RM:
- Do you think beginners who have no formal training see SQL as more difficult than it really is? I was talking with a well known MVP and he was saying that colleagues of his can write SQL queries all day long and are able to retrieve information but they wouldn’t be able to that if they had to write in C# or Visual Basic.
- GB:
- The basics of T-SQL are pretty easy to pick up, kind of like the rules of Chess. People can learn to write quite a bit of T-SQL in a relatively short time. T-SQL does work pretty well for its intended purpose.
- RM:
- What are the important parts of your programming toolkit, Transact-SQL? Do you use source control? Do you think people who use SSMS and similar tools are led astray by the fact that it so easy to create an object in the database that they forget saving it to a file?
- GB:
- I spend most of my time in SSMS, and I have quite a library of useful DMV queries that I have built up over the years. I have used various different types of Source Control at different times. I always teach people that the Script button in SSMS is their friend. I never want to make a change or create an object in the SSMS GUI without looking at the T-SQL commands that are going to be run. Unless you work at an ISV, having a good backup and recovery strategy for your databases is even more important that simply having all of your DDL scripted out and in Source Control.
- RM:
- What would you most like to see added to T-SQL in the next iteration?
- GB:
- I honestly don’t have any pet command or extension that I am anxiously waiting for in T-SQL.
- RM:
- Let’s chat briefly about your life as a teacher and writer. What do you consider the most difficult aspect of teaching? And how does a teacher become a published writer? Was it a natural progression for you?
- GB:
- One of the most difficult aspects of teaching is the reality of “grade inflation”, where some students get very upset if they don’t get 100% on every assignment or test. On the other hand, I really enjoy teaching people how to use SQL Server the “proper” way, so that they can be safe and effective DBAs. There are so many people who are accidental DBAs, who unfortunately have no idea, what they are doing! They can be really dangerous, where they can make one mistake that have huge consequences. I’m not sure that teaching really led into writing for me. I think being a speaker was more of an inspiration.
- RM:
- You wrote SQL Server Hardware and contributed to Volume 1 and Volume 2 of SQL Server MVP Deep Dives. Were there attempts at other books before then?
- GB:
- No, not really. I have been blogging pretty regularly for over five years, and between that and my speaking at big conferences, it seemed like a natural progression to eventually write a book. Being able to just write a few chapters for the MVP Deep Dives books was a good way to get started. I always thought that I would try to write a few magazine articles first, but that never happened. I am really grateful that Tony Davis at Red Gate gave me a chance to write SQL Server Hardware.
- RM:
- Were there books that were important to you when you were learning to programme?
- GB:
- When I was first learning, I used to read Visual Basic Programmer’s Journal quite a bit. I have bought so many books from Microsoft Press, APress, and Wrox over the years, they tend to blur together. Honestly, Redgate has been putting out some very good SQL Server books over the last several years.
- RM:
- Have you read Knuth’s The Art of Computer Programming?
- GB:
- Sadly, I have not. I do know that is one of the classics that everyone is supposed to read.
- RM:
- I’d like to ask about speaking at conferences, something which fills some people with dread. Do you feel comfortable as a speaker and what’s the key to delivering a good speech?
- GB:
- I used to get pretty nervous when I was going to speak at the PASS Summit. I was worried that someone like Paul Randal would be sitting in the audience, waiting for me to make the slightest technical mistake, so they could publicly correct me. So far, that has never happened. Even if I made a mistake like that, the better known speakers in the SQL Server world would not publicly humiliate anyone (unless they really, really deserved it).
If you can speak effectively to five or ten people, you can speak to two or three hundred. As long as you know your material, and are passionate about the subject, you will be fine. Of course, I always feel better after I am done speaking!
- RM:
- How would you make money from your skills if you weren’t in the job that you are now?
- GB:
- Hopefully, it would be something related to SQL Server, whether it was consulting or training, or just working as a DBA.
- RM:
- Is there any moment or event either in IT or computer science would you like to have been at and why?
- GB:
- It would have been nice to have been Bill Gates best friend at Harvard, and been involved in the absolute beginning of Microsoft. That would have been interesting and very lucrative if you had been in the right place at the right time, and had been able to stick with it. Being around during the early days of Intel would have been a similar situation.
Load comments