Jump to content
Grumpy

How did you learn to develop databases?

Recommended Posts

I'm interested to know how you guys learnt to develop databases the way you do, and what tools you used in order to help you... And possibly, how long it took you to get to the level of database development that you're at now...

 

Thanks!

Share this post


Link to post
Share on other sites

A long time ago, in a dark room far, far away....

 

I started with arrays in the ZX Spectrum and BBC Basic languages. Back when I was but a lad, my A-level computer science project was a PBM game (play-by-mail) database and turn generator, all based on arrays and a direct file access database (i.e. the file on 5.25" floppy was a collection of data and the program moved its pointer to the right place, read the data, wrote back and so on).

 

My first "proper" databases were in Paradox. I wrote a "guiltware" distribution (i.e. free but if you feel guilty about using it for free, send me money) of a video database, taught OO Paradox programming and did some other bits and pieces. About that time I picked up DataEase as well (for work) and maintained one of the UK's leading solutions for pawnbrokers... single-handed. That was pretty scary.

 

I also got into Access DB development for a client in Mayfair who made incredibly expensive bizarre things for inordinately rich people. They needed a database to track the manufacture of things like diamond-encrusted CD-ROM players. Yes, I'm serious. :D

 

After that, I got to work on proper databases (Oracle, SQL, etc.) when I was contracting for a big networking company in France. Writing queries, optimising a few, consulting with the real DBAs for upgrades, problems, links to other projects and so on. I also got into CRM, running their Siebel installation for EMEA, and business intelligence, building universes and reporting systems in Business Objects. The scariest one of those was their sales figures thing: checking every single salesperson's figures rolling up through the entirety of EMEA up to global figures - tracked to the cent on billions of dollars. :crazy2:

 

After that, I did bits and pieces wherever I ended up working: looking after a helpdesk app and the IP telephony for one of the UK's leading animal charities, helping the guy round the corner with his jewellery shop inventory DB, three months at a leading London business school unmaking the mess they'd made in their contributions database (and convincing the marketing people that the answer was NOT to install yet another database but to fix the one they had) and whatever else came along.

 

That's over about ten or twelve years of work in all, I think.

 

These days, I only use tools to keep my blog databases tidy.

Edited by SpikeTheLobster

Share this post


Link to post
Share on other sites

Wow, that's a great story. So really, you're very experienced with databases since you've been working with them for around 12 years? Would you consider yourself a database expert? Have you ever been stumped by something you couldn't do in a database, or have you always found a way to do what you need to do?

Share this post


Link to post
Share on other sites

Wow, that's a great story. So really, you're very experienced with databases since you've been working with them for around 12 years? Would you consider yourself a database expert? Have you ever been stumped by something you couldn't do in a database, or have you always found a way to do what you need to do?

 

Absolutely not an expert: I've always been a Jack of all trades (though I'm master of several, too) so I've learned enough to get by and do what I need to do, but rarely any more. Same goes for most things: I'm good enough to convince people I'm an expert even though I'm not really. :D

 

In the time I've used databases (I stopped a few years ago, really, when I reinvented myself as a freelance writer), I've never come across anything I couldn't do. That said, I'll bet someone like Nathan would do it properly whereas my solutions tend towards the "string and chewing gum" fixes!!

Share this post


Link to post
Share on other sites

I interviewed for a database developer job about 5 years ago now and knew nothing about it.

 

I was given the job not making much as it was the trade off for letting me learn. I taught myself with the help of Google and http://www.experts-exchange.com/ . After about 6 months it was easy.

 

The only way I learned was because I had to solve real problems. At first it was a lot of trial and error, now it's second nature when I have any database related work.

Share this post


Link to post
Share on other sites

I interviewed for a database developer job about 5 years ago now and knew nothing about it.

 

I was given the job not making much as it was the trade off for letting me learn. I taught myself with the help of Google and http://www.experts-exchange.com/ . After about 6 months it was easy.

 

The only way I learned was because I had to solve real problems. At first it was a lot of trial and error, now it's second nature when I have any database related work.

 

Do you ever freelance work on database-related projects? How much roughly do you charge on a per hour basis, or do you prefer to work on a salaried basis?

Share this post


Link to post
Share on other sites

After graduating from my Masters In Computer Science, I got lucky and landed a junior developer role. Being a junior I was only meant to do "documentation" for the core systems for clients.

 

In the first week, I had lurked around the code-base and fixed some bugs, and even re-wrote and optimised some core modules, within the next week. I was already dropped right at the deep end!

 

I knew the theory of databases, but not actually worked on real world systems (multi-million pounds worth clients businesses).

 

I was very very lucky to have veterans of the field (25+ years), these guys were wizards. They was old school, but they always spared time to hand hold me.

 

At first it was painful, when it came to databases, I would spend perhaps half a day on something. Then when I was stuck, I'd ask help from the wizards.

 

It was amazing to watch the wizards, they would type a few lines, and just be done. Jaws dropped I watched how fast they resolved problems, almost effortlessly.

 

Although it was hard, I stuck at it. Once again, I've been gifted as being an extremely fast learner. During my first year appraisal the wizards had commented that they was highly surprised at the speed at which I had picked things up.

 

Near the second year mark, I was actually handling multiple projects, even taking on critical systems that was once only reserved for the wizards. I loved working there, but in all practical sense, I was not getting the pay I think I should have got.

 

I made a decision to leave for the company for a better position. I put the word out and luck would have it a new opportunity came up. Better pay, higher role, and more perks. I was happy, and handed in my resignation and moved on.

 

In my new role, I was now head of development, I could do as I saw fit. I set up the development environment, set up the tooling, project management, etc...

 

I had to really push hard now, no more wizards to go run for help, I had to work hard, really hard. Long story short, I'm still there, 20+ projects (including two major projects) later, everyday I'm learning something new, and I love my work!

 

At one point I was free lancing, but it got too silly (too much demand). Today I won't consider a side project unless its £5,000 minimum. The last project I did was £15,000 (free lancing). But I've stopped doing free-lancing, I need a better work/life balance. Like the saying goes all work and no play...

Edited by __Darknite

Share this post


Link to post
Share on other sites

I learned most of my database related skills supporting a POS system, but I wouldn't exactly call myself incredibly skilled at it. I can write a few queries though!

Share this post


Link to post
Share on other sites

Do you ever freelance work on database-related projects? How much roughly do you charge on a per hour basis, or do you prefer to work on a salaried basis?

I haven't although that is a good idea :)

 

The pricing would depend on the size of the project. I still do consulting for my old company as I know the DB better than anyone so I can get quick fixes/changes in quickly when needed. I charge $50/hour for that.

Share this post


Link to post
Share on other sites

I started working on databases a few years ago, me and my friend had a site and he wanted to close it down, but I wanted to keep it, so he quit, I was sort of forced to manage the database, as that was his job before, and I ended up scraping the whole database and rewriting it.

Share this post


Link to post
Share on other sites

I started looking at databases purely as I was training to be an accountant at the time. Yeah I know that sounds strange. The accounts software could give me a certain amount of information and from there I was left fiddling around in excel trying to get the data into a meaningful format. So instead I decided to learn sql in sql server in order to get the data out in a format that was more useable and therefore saving me time. From there I went to report writing for the account dept, then the company, then a different company and became a developer instead.

 

Funny how life plays out LOL

Share this post


Link to post
Share on other sites

MSSQL primarily for me. However i do use mysql for my own forum and modifications

 

Sent from my GT-I9100 using Tapatalk 2

Share this post


Link to post
Share on other sites

Sorry guys, Im very new tot his stuff. But what do you mean by Databases? Like MySQL Databases? Or Microsoft Access databases?

Any of them. MYSQL, Microsoft Access, Microsoft SQL Server, Oracle, Foxpro, Sybase ect...

Share this post


Link to post
Share on other sites

I'm interested to know how you guys learnt to develop databases the way you do, and what tools you used in order to help you... And possibly, how long it took you to get to the level of database development that you're at now...

 

Thanks!

 

I started out using FoxPro for DOS. Which is a database and everything you need (screen, report, project generator) to make a complete desktop application. At the time I was new to FoxPro and I learned by maintaining a site which had already been built and then doing some reports on my own. I have to say, for learning just about anything new it's easier to learn from a site that is already built rather than having to build it from scratch yourself. That can be difficult.

 

Once I knew FoxPro like the back of my hand, I got another job and made the switch to SQL Server. By that time, most of everything I had to do with it, came pretty intuitively. Sure it had a few different bells & whistles, but the general concept was the same. Honestly, I never did have formal instruction in normalization or anything like that. You just get to know it well enough that you can build a database from scratch because you can foresee some of the problems you can have if you aren't careful. Having said that, sometimes data just doesn't quite fit a structure as well as what you would like and you just have to do the very best you can to organize it.

Share this post


Link to post
Share on other sites

Oh In that case I learnt Access in my younger days from my computer teacher, then self taught a lot of it over google and wahtnot, and practically forgot everything.

 

Only way you really learn is to keep on doing it. Once you start playing around with them you will find that knowledge soon comes back to ya.

Share this post


Link to post
Share on other sites

i'm Still only a 3rd year College Student in computer engineering and I'm looking at Database Ddevelopment and Management as my favored track of study. I will learn more next year but i want to ask something.

 

Does learning on-the-go Really work, Or do i have to dedicate a lot of time teaching myself?

 

By the way, Thank you for all the good stories you guys gave. Made me more hopeful to become successful.

Share this post


Link to post
Share on other sites

i'm Still only a 3rd year College Student in computer engineering and I'm looking at Database Ddevelopment and Management as my favored track of study. I will learn more next year but i want to ask something.

 

Does learning on-the-go Really work, Or do i have to dedicate a lot of time teaching myself?

 

By the way, Thank you for all the good stories you guys gave. Made me more hopeful to become successful.

I doubt I could have learned it from a book. I need real life examples/bugs/issues to troubleshoot to commit it to memory. As you go you build code that you can use other places ect...

Share this post


Link to post
Share on other sites

Currently finishing my Bachelor's Degree in Information Systems, had to take a class (a few years ago) on Databases, was a bit scared at first but honestly turns out it grows on you. Pretty much started using Access, due to the class, but I've been poking around Oracle, and Microsoft SQL Server, on my own time. Was able to be part of an online expo, in which experts in Microsoft SQL Server gave presentations, was an excellent way to polish what I had learned from class and, also, learn new things.

Also, working as a graphic designer at my college was able to work creating and fixing some databases in the office I was working at, so that gave me a chance of practicing everything and see if I had actually learned anything.

 

To imbamancer: Depending on your professor is pretty much how you will learn, I'm a firm believer that in the IT field it's just not enough with what they teach you in class. So in my honest opinion, I would say start dedicating some time to it on your own, and try to get as much practice as you can, it will not only help you as a professional, but also in the class it will help you go along with the professor and probably save you some time. In my experience, with the class I took, there was a lot that was left behind due to lack of time, so they just taught what they thought was necessary, but in reality it was just not enough to even call it basics (in my opinion).

Share this post


Link to post
Share on other sites

I started working in Oracle and PL/SQL almost a decade ago. Since then I have worked in MySQL, SQL Server and several other flavors of databases. I did not do any formal courses, I learned most of the things from training provided by my company. In my opinion, it is not possible to learn everything about database development from books and training, the real world challenges are truly unpredictable that require ingenious solutions.

Share this post


Link to post
Share on other sites

Google provides the ways to teach people and it is one place where you search for few sentences and help is at your command. Database can be learned on google search because there are several free videos posted on the instructions and teaching of 'Database. 

Share this post


Link to post
Share on other sites

Wow, amazing replies everyone! It's good to know that it is relatively easy to learn if you're willing to put the time into developing your skills. I've always been a little bit more code-orientated but I'd love to be a database expert one day, so maybe it'll be possibly if I can find some time to work on learning a bit about how databases work. I know basics but I'd need to learn a lot more before I felt comfortable.

Share this post


Link to post
Share on other sites

I'm probably different then most.  I worked for a company with a dedicated analytics team who...wasn't always as quick to do adhoc reports or fix problems as I wanted.  So, I threw MySQL on a virtual ubuntu machine, read w3schools...and now I'm finishing the study guide for my certification.  In about 5 months, I've gone from nothing to pretty crafty. 

 

Helps a lot that its a lot like speaking.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×