He stresses that hard work and keeping an eye out for new opportunities are key, and they are. From my experience I would add one more thing to that:
Make a point to fully understand everything you do. Sure, you may know what the oracle listener does and how to start and stop it, but if you don’t understand it you won’t be able to troubleshoot it. You may know when to apply a bitmapped index, but do you know why?
This depth of knowledge is what has set me apart from other IT professionals I’ve worked with. It speeds development and troubleshooting and time after time has made me the go-to guy when people have questions.
How do you get to this technological point of enlightenment? Start at the bottom. I took several computer science classes as an undergraduate. They weren’t at a top university, hell I didn’t even get good grades in most of them, but I was there every day listening to understand. Even just an introductory computer science course, if you’ve never had one, can fill in some background on how searches, queues, logic, hardware and software all work.
After college I worked as a Solaris administrator. That gave me a strong foundation in UNIX and since I displayed a good understanding of UNIX, less than a year after becomming a sys-admin I was slated to become a DBA as one of the companies other DBAs left.
So, now that I’ve rambled on for a bit, what was my point? If you take the time to understand every step, not just slap together a solution, you will generate solutions which are more robust. When you make mistakes you will be in a much better position to learn from them.
My only other peice of advice is resist the urge to cut corners. Do everything you do as well as you possibly can. If you need help, get it. If the project takes longer than expected, fine. Everything you put out there reflects on you as a professional. I like to say “I’d rather not do a job than do a job poorly.”