12 years ago I was studying at the university. It was my second year there and despite I thought I knew a lot, now I see I was still quite newbie in many areas.
We used to use floppy disks for our assignments, booking the laboratories or shared computer rooms. We spent hours waiting to get previous years exams, samples and sometimes just theory chapters, all in paper. We used to have everything installed on our PC: Pascal, C, C++, Assembler, Java... We used to wait for teachers to go to their assigned mentorship hours.
It worked (mostly, as I quit my studies, but not due to this reasons), but was clumbersome, even when I bought my first laptop to make better use of free time gaps. After all, I had between 45 minutes and 1.5 hours of travel to there (+ another 45 min of coming back home).
Now, fast forward to the present, and here I am, trying to slowly but surely finishing the studies.
Some things haven't changed so much, but man, others have a lot...
- My main study "book" now is a tablet: Easier to bring with me even on weekends if I go outside of the city, comfortable to read (retina-like display is now "mandatory" for me), and with 3G I can easily check internet without problems. If I need a book I can have thousands in PDF or EPUB available.
- Laptops are way more powerful and lightweight: No more carrying a 3Kg, 15" laptop plus a big charger. No more long delays due to compiling... My new ultra-thin laptop weights ~1Kg, battery lasts +8h and I'm in love with Intel i7 CPUs and how well they perform.
- I virtualize everything: Do I need to use Java and Eclipse for this course? No problem, VM cloning and I'm ready to install inside whatever the teacher wants. As if I had to install an MS-DOS or command-line Linux. With my recent laptop adquisition and its 8GB of RAM this is heaven, as I can have Java VMs with 2GB of assigned RAM.
- I communicate with the teachers via email and/or forums: This is one of the few advantages of studying remotely and not in a "normal" university, but once you test it, you never want to go back to physical teacher hunting.
- I am more organized: I have a "studies" Google Calendar, I do a weekly planning of how will I approach the studies, I try to finish (often quite early) all assignments and exercises to have time in case of problems. I am no longer postponing boring tasks to the last weekend.
- I am faster (sometimes): I see more clearly where to focus my effort, what I'm being asked for, and I don't waste time in unwanted "decorations", unwanted features or incorrect paths of action. This is mostly experience but... is still an improvement.
- Tools have improved and are more available: We no longer need to have pirate software like Windows NT, Rational Rose or some paid Java IDE. Microsoft DreamSpark, ArgoUML, and NetBeans are way better free solutions, just to give some examples. Legal, better, faster, more advanced, full of features...
- There is a flood of information: I built La Web de Programación in 2001 to group and make easily available all (non-copyrighted) books and tutorials I found, because was hard to find decent and varied development resources. Now, between StackOverflow, Wikipedia and may other resource sites, we have more to read and learn than we will be able over our whole life.
- I value my time more: I spent two years studying and only working in the summer before doing part-time job in the morning, study in the afternoon. I did my coding in the gaps, didn't wasted time at the cafeteria playing cards... But I also played lots of videogames, went out partying too much and in general wasted some time that could had saved me from failing two or three courses (and I would have less to finish now!).
Now when I say I study, every minute spent has to be worth it because I don't have too much available.
- I enjoy learning every course *: Some of them will be surely hard and exhausting, but my point of view now is more of a personal challenge instead of a parental and social pressure ("you're nothing without finished studies"). You can walk everyday with a smile or angry instead; You can always choose, and your decision fully changes your perspective, despite it doesn't change the world itself.
Times change... and not always for worse!
* I used to become frustrated of the lack of passion in many of my teachers, against my thirst for learning more and code bigger and better programs than what I was assigned/asked for. While this doesn't exempt them from being bad at their job (teaching), I now see that that fact shouldn't have stopped me from studying; I should have kept fighting to finish and demonstrate to them I could be a passionate engineer despite their futility.