When I graduated from university I was filled with excitement and, in my own opinion, the kind of knowledge that employers should have been desperate to grab. Unfortunately there were around twenty million other IT graduates with the same kind of enthusiasm and knowledge, all of them much better at selling themsevles through CVs and interviews than little old me. But I did find a job. No the perfect job by any stretch of the imagination, but a good job with a blue chip company that will look good on my CV. In many ways, this job has been the real test of what I learnt through university.
The world definitely does not work in the clean, whizzy ways that unversity convinced me it would. My job as an analyst has turned out to require a lot more software development than I’d expected (phew!), but we are primarily data analysts so many of the principles that I learnt in unversity don’t fit with my department’s work methods. In fact, most of my colleagues have maths degrees. The strange thing is that I’m learning just how valuable some of methodology taught at uni was. Planning out a project and using standard coding conventions just isn’t something that’s done in my department. User requirements before beginning the project? Pah! Modelling the tool before building it to make sure that it does what people want? Never going to happen. Re-working the entire project after finishing because the internal customer actually wanted something different? Every day occurance.
I do what I can with my work, trying to make my code readable without random ‘x’ variables appearing for no apparent reason and using sensible commenting, but as time goes by I’m realising just how sensible many of the techniques taught at uni were.
Take databases as a random example. My courses at uni emphasised the importance of good indexing and using primary keys. Our data warehouse uses multi-set tables as standard in all commonly accessed tables, which means that indexing is often a joke. You try your best to write good SQL using the indexes, but the primay index on those tables does not identify one record. Whenever I’m creating tables in our little hidden corner of the warehouse I go with what I know and try to index correctly because it actually does make a difference in query efficiency when you’re dealing with tables containing millions of rows rather than the few hundred rows that I played with at uni.
And I seem to recall despairing over ever understanding grouping properly at uni, yet now I write queries with half a dozen table joins, derived tables, grouping all over the place and even the odd HAVING declaration with no problems at all.
I guess you really never learn to do things properly and confidently until you actually do them for real.