How To Become a Database Programmer
75Why Become A Database Programmer
Did you know you can actually program in a database? It's called SQL, or Structured Query Language. If you want to become a programmer, and think there's too many options out there (C#, C++, VB.NET, Perl, Assembly, etc.), there's one language that most, if not all, businesses use, and that's SQL! There's other query languages, but the only ones that really matter any more use SQL.
Versions
"Didn't you say that there's only one version of SQL?" Well, I lied, but only a little. Oracle uses its version of SQL, called PL/SQL, and it has its own quirks, and Microsoft uses its own version, called T-SQL, and it has its own twist on the ANSI version. There's even an open source database called MySQL, with its own spin on (or subset of) ANSI/ISO SQL.
How Do I Get Started?
Download your favorite (free!) version by going to each vendor's web site. Oracle here, MS SQL Server here, and MySQL here.
Then, buy a <insert database of your choice> for Dummies book, read it from cover to cover (twice), and do the exercises.
Then What?
Build some databases of your own. Insert data into them, and play around with its many features. Starting web sites and collecting data is a good way to learn how to use it.
What Will I Need To Land A Job?
Experience, certifications, and most likely a degree. Bachelor's degrees are a dime a dozen in most markets, but I've known people with less education that work with databases. Not many, though!
How Do I Get Experience If I Don't Have A Database Programming Job?
Well, that is tough, but that's why you built your own database driven web site--to showcase your skills!
What Version Do You, the Author of This Article, Use Most Often?
Since I use Microsoft SQL Server almost exclusively for everything I do, at the office and at home, I'll focus on that version. I've dabbled a little in Oracle, and a little with MySQL, but my true love is MS SQL Server!
I've found that SQL is quite different from the other (aforementioned) programming languages. But once you start using it, and looking at the ample examples online and in books, you can find the information you need to get the job done. Once the light flips on in your head, you're on your way to a fulfilling career.
What Can You Do With SQL?
Aside from adding, updating, and deleting data from a database, or a collection of records stored in memory or on disk, you can also take action on those insertions, updates, or deletions! Send an email when a record changes, post new content on a web site when new products are added, show the accountants where they can find more pennies from reigning in on the below cost discounts the salespeople are offering their customers, respond to an email automatically with meaningful data back to the originating sender (or some other person)? It's all possible.
Recommended Books
|
Implementing Database Security and Auditing: Includes Examples for Oracle, SQL Server, DB2 UDB, Sybase
Price: $51.71
List Price: $63.95 |
|
Professional ADO.NET 2: Programming with SQL Server 2005, Oracle, and MySQL
Price: $4.75
List Price: $49.99 |
|
Database Benchmarking: Practical Methods for Oracle & SQL Server (IT In-Focus series)
Price: $19.93
List Price: $39.95 |
|
IBM WebSphere and VisualAge for Java Database Integration with DB2, Oracle, and SQL Server (IBM Redbook)
Price: $21.95
List Price: $49.00 |
Why Microsoft SQL Server Over Oracle or MySQL?
Oracle is one of the best, most stable, most powerful databases out there, hands-down. I'm sure to be flamed for what I'm about to say, but...it's too much! For what the average small to medium-sized business needs, it costs too much for the software, the programmers/ developers/ administrators cost too much to hire, it's very cumbersome, and to get done the things that make Oracle such a great database, you need a staff of smart and highly paid people to do it!
What? Oracle Programmers and DBAs Make a Lot of Money?
You may be thinking, "well, if Oracle programmers and DBAs make so much money and are in such short supply, maybe that's what I should get into." Well, I say go for it! Good for you!!! Please, let me know how it turns out! I'd love hearing from you. Really!
For me, however, the cost of entry into that market is way too high. The schooling required, the specialty areas of expertise, all make it unattractive for me--too much work! It's not like I'm lazy (although lazy is defined by varying degrees), but it's like the difference of going to school for many years to become a doctor or lawyer. Yeah, the money's good, eventually, and the prestige is enviable, but who wants to go to school for so long and pay those high tuitions, only to have to pay back all those student loans? My personal acceptable amount of delayed gratification is/was exceeded by trying to learn Oracle for a career. Plus, my boss chose a MS SQL Server based ERP system instead of Oracle, so it was a no-brainer which one I was going to learn.
It comes down to this. Do you want to be agile and possess enough knowledge to do amazing things with MS SQL Server? Or do you want to know enough about Oracle to be adequate? I, personally, want to do amazing things!
Oh, and by the way, MS SQL Server pogrammers make enough to live comfortably as well.
Allow me give you a background of why I love MS SQL Server so much, and not only to have such a strong opinion, but also, impose it upon you. What do they say about opinions and arses? Something about everyone having one?
The company I work for is a billion dollar company with business units and entities throughout the world, including Asia, Europe, South America...you name it! However, our North American headquarters, and even our Global Headquarters in Switzerland, uses the Oracle Database for their ERP systems. They had a guy that was touted as the Oracle expert. He was both the DBA (Database Administrator) and database programmer.
As mentioned previously, we had our own ERP system at the business unit I worked for that ran on an MS SQL Server backend. I was a lowly "programmer" who barley knew how to spell SQL. BASIC and Visual BASIC were my favorite languages, although I sucked at it so much that they offered me the System Administrator role so they wouldn't have to fire me. I guess I was a nice guy or something.
They finally closed the office I worked at because of consolidations. They layed off all the programmers and almost all of the office staff. Who did they keep around? Me! What?! The guy that sucked at programming? Well, I had a secret weapon that kept me employed when all others were let go. I developed a web based Extranet (using ASP at the time) that ran on an MS SQL Server backend. Our clients were using this Extranet, and demanded that it still be available during and after the closing of the local office. Our corporate parent couldn't shut off our ERP system until this Extranet was developed for their Oracle ERP system! Hah!
They could have purchased a plug-in for their ERP system, but it wouldn't have been as robust and it would have been a lot more costly for the many modifications and additions it would require. So why didn't their Oracle DBA/Programmer or inhouse programmers write something that did the same thing? Because they couldn't! They didn't have the knowledge (or the time) that was needed to do something like that.
The system I built using MS SQL Server read a specially formated email from the customer (that was generated from their ERP system) that needed service on their equipment. The MS SQL Server then inserted the information into the database. The system would then identify the technician that belonged to the store/customer with the problem equipment, and would send the appropriate technician a text message on their phone/alphanumeric pager. If the technician wasn't available, or if it was after hours, it would go to the secondary technician. Then, the customer was automatically emailed back with their service call number, and an ETA, which was determined by how high a priority the customer thought the service call needed to be.
This was all done with T-SQL! Every bit of it using the native commands MS SQL Server has to offer, back in the year 2000! Who was doing those types of things back then, and if they were, how many people did it take to come up with something like that? It took our office one person, who wasn't/isn't very good at programming to begin with!
We also used the interactive pagers to allow our technicians to close their calls, query the database for their calls for the day, and order parts--all using MS SQL Server native commands to facilitate this. That's not to say there was no programming involved, but it was so easy, even a caveman could do it. (Please forgive the gecko commecial reference.)
The point of all this (self promotion)? It doesn't take a genius to do amazing things with MS SQL Server, so it has a much lower entry point for those of us who chose Business School instead of being a doctor, lawyer, or an engineer.
Further Oracle Abuse?
After they closed the office, they asked me to write an Extranet for their Oracle based ERP system. I've seen the system in the past, and almost vomited when I did. It took me many months to do the same thing that only took me probably a month to do with SQL server, and it had less than half the functionality. It was also SLOW! And through it all, SQL Server still handled the email part of it, because no one could tell me how to do the same thing in Oracle--not even the best minds our billion dollar company had to offer.
I'm pretty sure they're using an MS SQL Server somewhere, still, to this very day, to handle the email functionality, because one of the programmers called me a year or so ago to ask me about the code, and if it was okay to move it.
To be fair, the Oracle based ERP system was an abomination, not Oracle itself. I didn't mean for this to be a slant against any particualr database, but for Oracle to allow such a code and GUI abortion to run on their system is shameful to say the least.
Where am I now?
Working as an IT Manager for another (larger) business unit (in the same company) that uses another (different) MS SQL Server based ERP system. Our parent company plans on going to another/different Oracle based ERP system that they will impose/force on all the business units, but they slated our business unit to be the last business unit they convert because of the strength and capabilities of our MS SQL Server based ERP system. Again, what?!
And, they still haven't fired me for being a sub-par programmer (but they did promote me to management to keep me away from doing any harm).
It goes to show how far you can go just by knowing a little SQL, and with Bill Gates on your side, how can you go wrong?
SQL Server 2005 With Windows Server 2008
Share it! — Rate it: up down [flag this hub]
Comments
Yes, I realize that it's contradictory, but I stand by my statements saying that Oracle has a higher entry cost. MS SQL Server has a much lower entry cost, and MySQL is practically free (for entry, or anything else for that matter). MySQL, however, is not as powerful as the other two, so I barely mentioned it.
I hope that helps, and thanks for the comment!
Love the article! I would like to do this work for a living, but have no idea where to start. This is good info, and thanks for the links to the downloadable software. Since MySQL is free, why wouldn't most businesses use that instead? Seems more cost effective.
Great article!
Cool. i am also thinking of getting into Database Administration. Going to Devry or Depaul for CIS and hopefully its right for me. Although, I will try out these softwares and see myself.
There's nothing more satisfying as a DBA/Database Programming position (if you're into databases and programming). It's just awesome the things that this career allows you to do, especially at small to medium sized companies. The larger (especially public) companies often restrict you as to what you can do.
Good luck, JD! Please let me know how it turns out, or if you have some questions I might be able to answer. No guarantees I'll be able to answer it, but I might know a resource that can!
Hey interesting article, I too am thinking of pursuing a career as a database programmer and im sort of new to programming. I will be heading to college after this following year and id like some advice on what courses u might recommend me taking in pursuit of a job linking to this career. I am aware that general computer programming and database programming lie somewhat within the same field but i would like some advice on what i should maybe do more often or get into so that i may obtain a better perspective and more experience towards this career. Thanks.
Hi, Andrew!
I'm not sure it matters what courses you take in college. A computer science bachelor's degree, or, even better, a master's degree or doctorate, will propel your career right off the bat. You'll know automatically (if you have a true love for programming) what courses you'll want to take. Programmers are in such high demand right now, that a computer science degree will take you anywhere you want to go.
Experience, however, is priceless. If there's any way you can work your way through school (whether you need the money for tuition and boarding or not), in a technical position (taking care of the campus computers, writing scripts, and then eventually taking care of the day-to-day database administration duties), then do it! If you're saying that it's a problem finding a job while going to school in your chosen career, you will probably have to pay your dues, and get a "lowly" tech job to start. A successful database programmer understands more than just programming. They also understand how computers work (how to put them together and choose parts that are compatible with each other), they understand about backups, CPU cycles, and disk I/O. Diversify, if you can, your first technical job(s).
I wish you all the best, and I hope you check back in from time to time to let me know how you're doing.
Good luck!
Good Article. First part of the page is really a worth to bookmark - especially for people who is turning out to be a professional in database.
Second part compares SQL server vs Oracle. Few years back i also sailed in same boat. But now i understand why Oracle.
I would like to put few virtues of success behind oracle here: Oracle has powerful security, Error handling, Oracle supports multiple platforms - it runs on Unix, Solaris, Windows
There should be much more meaning ful merits considered by database experts to select Oracle in many Medium and Large & Medium-Large Scale Enterprise.
In reality there are more votes goes to Oracle. Visit below site which debates same topic.




Ramsey Hafser says:
4 months ago
If all companies use SQL, and you say that they only vary a little, then why do you recommend MS SQL Server over Oracle or MySQL? It's kinof contradictory.
Good article though.