So here goes. I think I might look at this a little differently than some others, but I'll give you my thoughts, which are also going out in the Database Weekly editorial for December 15, 2008.
#1 - Gaining Control
I took a job with a small company at one point as a senior DBA. They were a small company that specialized in wealth management and we had about 25 people in the company and it had been around for 6 or 7 years when I started and had been successful. They were making money and I thought they had one of the best business plans and niches that I'd encountered to that point.
I soon learned, however, that they were immature in many ways. Other than a few senior people that had started the company, all the technical people were 20-25 and in many ways causing more problems than they solved. I was a lot younger than I am now, but almost the oldest person in IT and from out of town. Our three primary developers were from the same town, another was good friends with some of the main customer service people, and my other DBA had been there for 4 years, some of that under the last senior DBA. To top it off, my network administrator (did I mention that on day 1 I got put in charge of the network), was a personal friend of the CFO, which is how he got the job. And he wasn't qualified to run the network.
My first week I observed multiple fires every day, and I hardly had a chance to breathe. However I soon learned that our developers were "fixing" these issues live in production and causing others. None of them had built a web application, but they were giving architectural advice to our 18 year old web developer and they would "try things" to fix network problems, often patching one thing but not solving the problem.
The company had been successful, however, and these developers had built the main applications that were being used. I was new, and from out of town.
My biggest challenge here was in convincing the senior managers that I had to gain control of this environment and that these developers couldn't be trusted. I had to argue with the developers and present reasons to management with the developers present as to why they should listen to me. All of this while being aware of issues with past employees. Apparently I wasn't the first person to try and corral IT, and no one had been successful to date. I learned that in the first month I was there.
I was new in town, my wife still in our old house, trying to sell it so we could move, I didn't have a great track record in some of these areas, though I had management experience. When two developers threatened to quit, it took a lot for me to continue to challenge them. I knew I was making my own life difficult because if these developers quit, I'd be even more shorthanded and still have the fires.
I'd like to say that I improved things, and I think I did, but there was still more to be done and it was one of the worst jobs I ever had. I was glad to leave 18 months later. Still I learned a lot about standing up for my convictions and arguing for what I thought was best for the company.
#2 - Learning to Interview Companies
In the middle of trying to straighten out the company above, I became very frustrated. When my developers quit, I ended up very short-handed, and worked a lot of hours. I literally kept a blanket and pillow in my office and spent 4 or 5 nights in the office during my first 6 months trying to solve problems. Not coding to get an application done, sitting on the phone, running queries, and trying to keep our SQL Server v6.5 server alive.
I had a new baby at the time and I was fed up with the issues. So I decided to look for another job. This was the perfect time to look for a job, since I had a job, and so I decided to make my situation better. I didn't want to get caught up in another bad situation, so I decided to tackle things differently.
The first thing I did was inform our COO that I wasn't happy and we had problems. At this time there was a senior DBA/network admin (me) and a senior developer, Mark, but no one running the show, no one coordinating with sales or dealing with clients. We needed a CIO, and I couldn't tackle it, mainly because I couldn't handle another job. I wanted to be open and up-front, and let the COO know I was interviewing and I'd give them notice, but unless some resources were acquired and things more organized, I was going to find another job.
This was before the big dot-com crash and so there were lots of jobs. I started sending out resumes and talking to recruiters and would get 2-3 calls a week for interviews. I didn't want to get into another bad situation, jumping out of the frying pan/into the fire, so I made it a point of asking lots of questions and pushing back in interviews.
My goal was to be as hard on companies as they were on me. If it was a large company, I insisted on seeing the working environment and meeting all the people I'd work with, including the director or VP above my group. If it was a small company, I wanted to meet the CEO and as many people in the company as I could.
Surprisingly it worked well and I got quite a few job offers, but I also ended up learning a lot about the companies and I found reasons not to accept. And I really wanted another job! I did get an interview with the CTO of Travelocity, who had just left them after a successful IPO to go work at a financial firm and I was ready to accept his offer. However the day after he made it to me, he called back to say that the company was moving to LA. Sadly, I had to decline.
I projected an air of confidence, or I think I did, and I'm sure that helped, but it was quite a challenge for me to do so. I'd always learned and been taught to impress people in an interview, be willing to do what is needed, and basically show them you'll be a great employee. Being a little difficult in interviews and challenging executives, those people that would make the decision to hire me or not, was against my nature and I struggled with that. More often than not I had to take a deep breath before or after meeting with someone and deal with constant butterflies as I asked questions.
I think challenges in your career are about stretching yourself and getting out of your comfort zone.