Author: way0utwest

  • My Journey – Part II

    This is part II of my journey to being a DBA. I was “tagged” by Jacob Sebastian, so I decided to make my entry. Yesterday’s entry, Part I, looked at my education, and today I’ll talk about my career.

    Internship

    I wanted some practical experience, and I thought that an internship would be good. Even if I took another year to graduate, it would help ensure I got a good job, so I started looking around. This was 1991, and the Internet hadn’t exploded. Windows was unknown, and computers were being used in business, but they weren’t as commonplace as you might expect. The local power company, Virginia Power, had offered internships to students at ODU and since I was still an EE major at the time, I applied.

    I’d learned some tricks for interviewing my senior year of college, and one of those was to research the company and prepare a custom cover letter for your resume. Another was to be prepared for the interview by showing some knowledge about the company. So I did that, heading to the school library to look through magazines and the microfiche for information on Virginia Power, which was owned by Dominion Resources. I picked up a few facts, applied, had a great interview and got a job.

    I was assigned as an EE assistant to the Surry Nuclear Power Station. When I heard the offer, I was both surprised and a little nervous. I knew little about nuclear power, and wasn’t sure how closely I wanted to learn more. But it was a good internship, it paid something like $12/hour in 1991, which was good money, and it was a new experience. Plus I had to get a security clearance. I later learned that was a stumbling block for many people. Luckily I had no major issues in my past.

    lotus Working at Surry was interesting. My first few weeks involved no computer time. I worked with electrical engineers, mainly dealing with paperwork and ensuring things were properly signed off and filed. The amount of regulation in this industry amazed me. After a few weeks my boss asked me if I had computer skills and could I help him with a Lotus 1-2-3 project. He was trying to manage a schedule of projects and calculate times for various items. I said I could figure it out and entered the wonderful world of Lotus 1-2-3 macros.

    I built one of those spreadsheets that recalculates all kinds of things when it’s opened; the kind that makes DBAs cringe. It was a classic example of knowledge being stored in a spreadsheet that would be better stored in a database, but we didn’t know how to do that and no resources were available from IT to help. It worked well in a limited capacity, but not great.

    Around this time I met the IT guy for the power station. He was rough, gruff, ex-Navy EOD (explosive ordinance and demolitions) expert that ran a tight IT ship. He had 3 people + an intern supporting 1400 people at the station, and roughly 800 PCs. He noticed my work and said that he had a project that was similar and could probably help us better than my spreadsheets. He asked me if I knew about databases, and gave me a book on dBase III. I dug through it in a week and received a book on Clipper for my troubles. His project was based on Clipper for DOS, and I spent a week learning the architecture and basics of how a Clipper program and database was structured. Most of the programming made sense to me and I was off and running, finishing off his work.

    I was nearing the end of my internship for the summer, and I realized that EE wasn’t the area for me. My boss agreed, and arranged to transfer to the IT department. There was another program designed to manage workloads among various departments in the power station and so my new boss asked me if I wanted to continue working part time in the fall. The internship arrangement was a semester working, then a semester of school, then repeat. I agreed, and took on a heavy load that fall. My schedule consisted of:

    • 4 classes in computer engineering, including Fourier Transforms.
    • Rowing on the crew team
    • Working 2 nights a week waiting tables
    • working Saturday afternoons at the power station

    Needless to say I was exhausted most of the time, and eventually realized that I couldn’t maintain this schedule. I tailed off after Thanksgiving, quitting the restaurant job and surviving on my savings and a small paycheck. However I also gained some programming experience and built a system that many secretaries appreciated.

    I was offered the chance to start my spring internship early over the Christmas vacation. I agreed, and one of my first assignments was to get ready for a new radiation monitoring system that would be put in place on Jan 1. I was assigned to baby-sit the programmer installing the system on Dec 31, being the most junior member of the team. I arrived at work Dec 31 about 4:00pm, expecting to be there late while things were switched over. Around 8pm all work in the reactor area was stopped, people checked out, and the old system was shut down. The programmer started setting up the new system and transferring data from the old system over, converting it to this “new” database. That database was SQL Server 4.2, running on OS/2 1.3.

    At midnight we turned on the system, and a few workers started to use it. It promptly crashed. We rebooted the server, it ran about 30 minutes, and crashed again. We couldn’t roll back to the old system since it was now illegal to use, and we didn’t have a working system.

    That next week was interesting, with 4 of us on the IT staff baby-sitting this server, which needed constant reboots. One of our staff was pregnant and assigned to handle daily duties, while the rest of us basically worked 8 hours on, 8 hours off. With a 45 minute commute to work, I didn’t do much more than drive home, shower, sleep, and come back. I logged 100+ hours a week for the month of Jan, moving into Feb. In that time I also learned a lot about OS/2 and SQL Server. We upgraded through 4.2, 4.2a, and 4.2b for SQL Server and moved to OS/2 1.3 and then OS/2 2.1. Those upgrades provided a little stability and we managed to lower our hours to a more reasonable 60-70 hours a week.

    During that time I read all the SQL Server manuals, learned how to analyze the server, even how to contact other SQL Servers linked to ours through the probe account. I taught myself quite a bit about SQL Server.

    It was during this time that I met my first real DBA. The company hired a full-time DBA to work on SQL Server and get the server stable. He spent a lot of time at our station and I asked him question after question. He upgraded us to Windows 3.1 Advanced Server and taught me about keys, referential integrity, indexing for performance, and more. He also let me know that he was being paid $90k a year in 1992 for his work.

    I’d enjoyed DBA work much more than system administration over the first few months of 1992 and taught myself a lot of SQL Server. During this time I was offered a position as an application developer using FoxPro. I took it, and continued to develop against SQL Server, the mainframe the company had, and Oracle databases. I began to expand my knowledge of relational databases, and learned a lot. I transitioned to Visual FoxPro and it was time to move on.

    I applied for a few DBA jobs, and ended up getting one that was an IT manager for a small company that used SQL Server 4.2, and was transitioning their homegrown application to SQL Server from FoxPro. It was a good fit, and I learned a lot about business and managing projects in that job. I stayed there for 4 years until I again felt the urge to move on, driven by the Internet boom.

    Heading West

    We decided to move one fall after 14 straight days of rain in my native Virginia. My wife had been working from home for a few years, and so it was up to me to find a new job. We’d both traveled for work to various clients and conferences and a few cities in the Western US called to us. Denver was our top choice, and I began searching for a job. I found a similar job to the one I’d been doing, senior DBA at a small firm that also needed some systems help. I flew out, was offered the job, and planned on moving a month later.

    I came out alone in Feb of 1999 and found myself in charge of another DBA as well as in charge of systems. I learned that SQL Server 6.5 under load wasn’t very stable and found myself digging into many new issues on this platform. After 2 years of fighting daily fires, upgrading to SQL 7 and Windows 2000 for selected systems, and having spent many nights sleeping on the floor of my office, I moved on.

    This time I was strictly looking to be a DBA and found myself at another startup, employee 21 at IQDestination, a learning company. That fit well with my skills and interests, having been writing for a few years and publishing short articles. I’d started writing for Swynk the year before, and enjoyed the publishing business. While I was at this job, Swynk was sold and SQLServerCentral was born.

    Working at a startup, wearing a few hats, and trying to develop software on a regular basis was interesting and enabled me to find lots to write about. Answering questions on the SSC forums built my skills further, and helped me at work. It was a great position, and there was a time when I was thinking of asking my boss to work part-time, 3 days a week, and working on SSC 2 days a week. It seemed possible.

    Until my company folded.

    We knew sales were down, but it was one Thursday that I was called into a meeting with a few other senior IT employees and management. We were literally down to a few weeks of money and our owners were begging for more capital. We were told to be on call for the weekend. Sunday we were called to say that we needed to disable all accounts and come in to work to start shutting down equipment. We literally moved dozens of machines out the door on Sunday to various people’s houses as our owner didn’t think that the landlord would let him back in when they were told the company was shutting down.

    This was 2001 and it was a low point for me. I was a top-notch DBA, I knew a ton about SQL Server, but I couldn’t find a job. I had a one-year old daughter, and spent 9 weeks at home, looking for jobs, getting few interviews, and caring for kids. It seemed that all my career efforts had been in vain. Finally I was offered a job at JD Edwards, for more money than I would have taken. That was interesting because they later told me they didn’t think it was enough.

    After working at JDE for a bit over a year, they were purchased by Peoplesoft. It seemed that the economy and sales were striking again. I had my resume together and started sending it out, in anticipation of being let go. I wasn’t, and in fact received a promotion to manage 10 DBAs for all of the Peoplesoft production systems. I also got a great raise, from $86k a year to $88k a year.

    Needless to say I was less than excited. More work, back to regular fire fighting, and lots, and lots of phone calls. Between most of my team being in CA and issues with systems, I was literally on the phone 6-8 hours a day. It was a challenge only in that I had to manage keeping batteries charged in my headset and cell phone.

    I was sending out resumes regularly when things at SQLServerCentral changed. Andy, Brian, and I were all sharing the duties of running the site. We’d continued to evolve the site over the past 2 years and were making money on the site. However it was also a burden to us, all working full-time jobs. We were considering selling the site when we closed a big advertising deal with Quest in early 2003. They paid us for a year of advertising all at once, which gave us a nice cushion of money. After a few debates over the phone, we decided that one of us would need to manage the site full time if we didn’t sell. Since my wife was working and provided me with benefits (medical, etc.), I was the best choice.

    So in April or May of 2003 I left my job and started running SSC full-time. At first I took some consulting jobs as well, thinking that I’d need to fill my time and continue to work on SQL Server. That ended quickly as we started up Database Weekly (then Database Daily) and the site continued to grow. By keeping active in the forums, I continued to learn and grow my SQL skills.

    The Voice of the DBA

    It was at this time the editorials started. We use to run an advertisement in that spot, or announce something like the PASS conference. However as I tried to vary the content, I became bored with simple advertising-type content and started writing about SQL Server and things I thought were interesting. I had no idea that the editorials were interesting until Nov of that year when I got to the PASS Summit. Quite a few people complemented me on the editorials, and I knew that was something I’d be doing for a long time.

    I continued running SSC until the summer of 2006 when Red Gate software approached us about purchasing the site. They did, and I went to work for them that November. I’ve been doing that ever since.

    In the years since I left full-time technical work, I’ve kept myself involved with SQL Server in a number of ways. Constantly answering questions on the forums, often having to research an answer, had helped keep me aware of the product. I read a lot of articles on SQL Server, and I’ve written a few books and tech edited others. Those activities have continued my journey as a SQL Server professional.

    That’s my journey, and hopefully a few of you found it interesting. I am not tagging anyone since, well, it’s not really something I like to do.

    You can read Part I here.

  • What I did on my vacation

    I took a few days off recently to get a break from work. I’ve rarely taken time off since last winter, often working weekends, and I could feel the stress building. So I arranged for a few guest editorials and scheduled last Thursday and Friday off. My wife was sure I’d be firing up the computer and working a bit, but I really tried to avoid that.

    So I tiled my bathroom.

    DSCI0007 This was my bathroom last week before I started. An ugly, gray carpet that the builder had put into the house. It was in the whole house, including the 4 bathrooms, when we moved in. I had tiled the other 3 baths the first year we lived there, but had avoided our master bath since the room is used so much.

    And it’s a big project, about 95sq ft of floor space. But I thought I could get it done in 4 days, Thur-Sun, if I had nothing else to do. My wife was planning on being gone to some horse event, and the kids were in school a couple days, and could hang out with friends over the weekend.

    As I started to write down my plan and get a list ready to go shopping, my wife asked if I really wanted to spend my vacation working around the house. Wasn’t there something else I’d rather do? Go out, do something, see a ball game, etc. There are some things I’d do, but what I was saving vacation for was to do a lot of snowboarding this winter. Since it’s too early to do that, and I needed a break, I thought this would be simple, mindless work that would give me a sense of satisfaction.

    Tile_20091002_01 I ended up losing all of Thursday to other chores and shopping for supplies. That meant that Friday was devoted to ripping out carpet and getting the underlayment down. Then Saturday was cutting and gluing tiles. I didn’t finish, and that actually moved into Monday to get the last few tiles done, but I had started grouting and here was the current state on Sunday night when I knocked off.

    My wife asked me if I felt better, and was it a good vacation? I said it was. Despite a sore lower back and knee, despite some nicks and cuts, and a lot of up and down the stairs, I felt like I accomplished something.

    I still get satisfaction from going in the other bathrooms, and seeing the work I’ve done, and I still like driving by the 1000′ fence I built in our last house. Those projects stand out to me and give me a sense of accomplishment that pushing bits around doesn’t.

    I’ll post a more detailed look at the project on my personal blog for those that are interesting in how an amateur lays tile, but the final total looks like this:

    • 5 days (I’ll count Monday, still some small stuff that leaked into Tue/Wed/Thur)
    • about $420 in supplies
    • 96sq ft of tile (approx) laid in the main bathroom, linen closet, and toilet room
    • 4 gallons of water run through the wet saw
    • 100 trips up and down the stairs
    • 2 trash cans filled with carpet, pad, and tack board
    • 5 cuts on my hands
    • A project that will stick out in my mind for years
  • We can’t all use duct tape

    I read The Duct Tape Programmer from Joel Spolsky recently, and I thought he made some good points. Then I started to see negative comments, like this rebuttal from Jeffrey Palermo, and I had to go back and re-read the first article.

    I still think that Joel makes good points, but the main point, one that’s kind of buried near the end, is missed. I think that too often what Joel forgets is that when he starts out controversial, he can be funny, but he turns off so many people that they don’t really finish off the article. That’s fine if he wants eyeballs but not if he really wants to get people to think.

    The main caveat, which is important if you want to believe in his point, is this: Duct tape programmers have to have a lot of talent to pull off this shtick. By definition, the average developer doesn’t have a lot of talent. They’re average. If they use duct tape and throw things together, then we wind up with a POS that can’t easily be refactored, enhanced, etc.

    The article, to me, is written for the superstars. The guys that do understand multiple inheritance, or can compute the results of a T-SQL statement with 2 CTEs, and 12 tables in their head. They shouldn’t get so caught up in complexity; they should code and make things happen.

    I’m a big believer in agile methods, making small changes rapidly, and moving forward. Get things done. Remember shipping is a feature, and don’t be afraid to do something half-assed at times.

    Just plan to fix it, fix things regularly, and work to improve your product. Not make it conform to any other measure by software engineering standards. Make it conform to your users’ standards. It works well for them.

  • My Journey – Part I

    I’ve actually been meaning to write about my journey as a SQL Server professional, but kept putting it off. I was finally "tagged" by Jacob Sebastian, so I decided to make my entry. I’m not a huge fan of being tagged, but I’ll participate in this one. I tend to write what I’m inspired by, not by challenges. That being said, these can be fun in the community.

    I have a long journey, so I’ve split this into two parts. Today I’ll look at my early development and education, and tackle my career tomorrow.

    A Programming Interest

    vic-20-de-yellowed My interest in computers started when I was young, maybe 11 or 12. My brother and I saw a Vic-20 computer in a store somewhere. We were captivated and begged my Mom to buy one. It was rare to get her to actually spend money on anything that might be construed as a toy, but she must have had some vision of it being a tool and agreed to buy it.

    We got it home, with it’s cassette tape storage device, and my brother and I proceeded to play a few games on it. That got boring pretty quickly, especially compared to our Atari video system, and I decided to make it do my bidding. Using some sample code, I began to write programs, learning how to make it respond to input from the keyboard, arrow keys, and build simple games that we could play. I learned to program in computations, like PI, and more importantly, allow it to store data that I could recall later. I know I built some early science programs to help with school work.

    AppleII001a A few years later I’d moved on to an Apple II. Actually it was a compatible, and acquired through a combination of working and saving my own money and begging for funds again.

    This was a real computer, one that had a disk drive (single 5.25") and color graphics. A couple of my friends had them and we traded games, cracked them where we could to remove copy protection, and even edit the text at times to display different headings and labels in games.

    This was the machine that taught me truly how to program, with AppleBasic, allowing us to write more complicated games. We wrote our own Dungeons and Dragons simulator as well as additional programs for school. I was lucky enough to take a programming class in early high school and learned how to PEEK and POKE around memory on this machine. It was exciting, and the best part was it taught me how to type fast.

    Typing was a combination of waiting until the last minute to finish off papers that I could print at school and accidentally formatting more than a few disks that contained my assignments. I learned how to rebuild programs from memory very quickly.

    College

    TRS80-III I started college with every intention of majoring in computer science. I’d taken an AP computer class with Radio Shack TRS-80 computers and learned PASCAL. In addition to learning about sorting, pointers, recursion, and more, I realized the the power of flat files for storing data allowed me to handle larger loads of data and perform analysis. No one wants to type data in every time they run the program.

    When visiting a friend at Dartmouth, they’d all been given a brand new Macintosh computer in 1984. It sparked my imagination and I could only dream about what might be possible in the next few years.

    At college I spent a year and a half learning LISP, APL, Fortran, and Assembler in various mainframe and mini-computers. This was the age of time sharing computers, and we had to travel to labs around campus to get our assignments done. That meant we were limited in the times that we could work, and also the time allotted. Our accounts were limited to xx minutes of CPU time per semester, so some level of efficiency was required.

    We also had a central printing room in one building. We would submit print jobs, and then go pick them up from a series of bins labeled A, B, C, etc. Your printout would have a page with your student account name on it in the bin that was labeled with the first letter of your last name.

    scenes0236

    My first two years of college were at Syracuse University in the mid 80s. This was the end of the cold war, but when I entered college many people were looking forward to working in the defense industry or in a government think tank, both of which had the best chance for someone to play with the latest technology.

    It was also the Wall Street era, and I found many of my programming classes too easy. Between the cold winters in upstate New York and the lure of making money in the Big Apple, I transferred to the University of Virginia and changed my major to economics. The next two years of my life were spent digging into accounting, finance, and economics, with every intention of going to work for a large bank or brokerage when I graduated.

    Lost

    My senior year of college started out great. I had a high GPA (3.8), had done well in my classes and was working on lining up interviews as I polished my resume. Life was good as I went to play rugby on the first Saturday in October. We hadn’t lined up an opponent this week, so we arranged a scrimmage within the team. I had been playing scrum half, and picked up the ball early in the game and headed around the right side, trying to outdistance my opposing scrum half, who was chasing me from behind.

    He caught me with a high tackle, both of us landing on my left shoulder. I knew something was wrong when I couldn’t lift my arm after getting up. I guess there was pain, but it was the lack of mobility that bothered me. Someone walked me to the medical center where I had my favorite jersey cut off me and I was examined. A grade III separated shoulder was the diagnosis.

    I’d worked for an orthopedic surgeon in high school, so I accepted a brace, walked home and got in my car and headed back to Virginia Beach. I enjoyed the weekend with a few friends and a few more beers before seeing my former employer on Monday. He recommended against surgery after a couple days, and said it would heal, but it would take time.

    That was the first really bad injury of my life. While I’d had sprains and pains over the years, this was the first time I as out of action for more than a month. In all, I wore a shoulder brace pretty much 24 hours a day for 12 weeks. A lot of sponge baths, learning to take notes with my right hand (I’m left handed), and some oral exams gave me a new perspective on life. I didn’t pursue interviews or a career and focused on getting healthy.

    It was April before I could do a push-up, and my only interest in computers was how they could make it easier for me to finish the various essays and papers I’d been assigned. I graduated and left school, heading back to Virginia Beach and another summer job of tending bar.

    Back on Track

    As much as I enjoyed working in a nightclub, as the summer moved on I became a bit bored. With nothing to look forward to in September, I was a little worried. One of my co-workers was taking classes in Electrical Engineering at the time, and due to finish the next year. He’d been working on his degree for 6 years, and I felt a little guilty for finishing my degree and not using it. I decided to enroll in the local community college and at least start working on a technical degree. A recession was looming, Wall Street wasn’t looking attractive, so I went back to school.

    I spent a year at community college beefing up my electronic skills, studying physics, and taking C. It had been 3 or 4 years since I’d programmed a computer and C was both refreshing and challenging to me. We wrote a word processor that gave me fits in managing large, complex strings. After that year I decided to pursue a masters in Electrical Engineering, thinking it was a good, practical field.

    odu

    Another year at Old Dominion University had me working with computers more than I expected and after finding myself in the computer lab helping the staff upgrade from Sun OS to Solaris one weekend, I switched to Computer Engineering.

    Everything was going well and as I approached my last year of full-time study, I decided to take an internship over the summer. That was the start of my career, and I’ll cover that in Part 2.