I didn't think!!! I experimented!!!
Nope, but I started fixing mate's computers and playing with code (back in ye olde 80's there used to be magazines with programming tutorials and literally pages of code) well before my teens. At your age I was a happy coder with a large student loan. anyhoo...best advice I can give isOriginally Posted by Smokeu
a) you really gotta love coding and/or IT otherwise you'll burn out and get jaded.
b) there's some really, Reall, REALLY clever dudes doing coding/IT. To your mates you're a geek. To them, you're a noob. Learn from them....if they give you the time of day.
c) don't get stuck in one particular technology rut (learn about other stuff....may involve changing jobs)
Mostest excellentest advice in this thread IMHO
Last edited by Gremlin; 27th April 2012 at 00:20. Reason: edited for clarity and new thread
Originally Posted by Kickha
Originally Posted by Akzle
After my time in Uni I learnt a few things. If you want to do/learn programming, then do it. It certainly isn't some "fun" degree like arts or something. Likewise, you also have to have the head for it, and thinking to match. Sort of hard to explain, but there's programmers and general IT/network etc people. I'm the latter.
Simplest example I could ever demonstrate it with was taking field input in a program. A programmer would think <0, <10, <20 etc. I would think <0, >0 - <10, >10 - <20. It sounds trivial but it's about the thinking. It also explains why I hated it and never want to go back. Code makes little sense to me, but I go as far as vbscript for scripting server tasks. I can pull apart a network in my head but give me screens of code and I see gibberish.
Further, don't take everything the Uni/polytech etc says as gospel. They will teach you whatever they think is brilliant, but if the software is written in a different language then it's useless, other than the theories/rules/syntax possibly being applicable and then it takes a little time to pick up the rest. If you really want to achieve, then do the course but teach yourself whatever the guys here recommend. Uni is a whole different cute little world to the commercial world, where dollars and profit, deliverables etc are what matter. Remember you're competing against your class mates for a job at the end, so if you're doing whatever anyone else is, then where is your point of difference?
Remember, IT is a fast bloody moving world. You're somewhat insulated as the code base doesn't change too much, but you can't keep relying on some institution to teach you what you need to know. You wait for a course and the first movers will be well ahead of you. By the time you finish, the move will already be over. Perhaps it's just me hating Uni, but hopefully I'll never go back. The vast majority of my learning has been getting hands on with the equipment with a fundamental knowledge of how it should work, the rest is stitching it together.
Originally Posted by Jane Omorogbe from UK MSN on the KTM990SM
Probably cos you're a Kiwi and he's a Murkn, heh. It was hyperbole, I know. But I understand where he was coming from. It's like saying we like motorcycles because riding them plugs into our really old evolutionary urge to fly like birds (which happens to be a theory of my own).
I think he was probably also invoking Arthur C Clarke's "any sufficiently advanced technology would be indistinguishable from magic" idea.
kiwibiker is full of love, an disrespect.
- mikey
Yes, learn the 'terminal stuff'. And learn how the guts of operating systems actually work, and how to write a program that runs within one.
You really are going to have to teach yourself all this stuff. Don't expect to learn anything useful at tech. Do your assignments, but start learning to actually write computer programs in the rest of your time.
All the really good software engineers I've met either:
A. taught themselves at a very young age, or
B. did their degree and the initial years of their working life in something more or less unrelated, like mining engineering or chemistry or pure mathematics, found themselves writing computer programs as part of their work, and gravitated toward doing it full-time as a job.
I believe it's rare for the software engineering degree mills to churn out anyone useful.
You have some catching up to do.
But everything you need to teach yourself really is right there on the internet. Even if you have to torrent yourself some illicitly copied ebooks.
Just start writing programs. Linux is even easier to get going on with a C compiler than Windows. Just start. Write 'Hello World', then write something that takes some text input and does something to it and prints it back out, then write a program to play noughts and crosses, then just basically do whatever takes your fancy. Learn about TCP sockets and write a network chat program. But write code and run your programs, it's the way to learn.
Look up algorithms and data structures. Learn about how to sort and search large quantities of data in memory. Learn about how to efficiently store information. Learn about how it's possible to write two programs to do the same job, one that'll be slow when given a large amount of data to work on, and one that'll be fast.
Get a copy of the second edition of 'The C Programming Language' by Kernighan and Ritchie, and read it from cover to cover. It's not difficult, it's quite short. There'll be ebook torrents aplenty. Then find yourself copies of 'Programming Pearls' by Jon Bentley, and the three volumes of 'The Art of Computer Programming', by Don Knuth.
Basically, either your natural curiosity and intelligence will drive you to do what you need to, or you shouldn't be trying to learn this trade.
kiwibiker is full of love, an disrespect.
- mikey
YMMV, but probably the best way to do this is to use something other than Mint - Ubuntu and Mint are great for people who just want a functional OS, but to learn the nuts and bolts of Linux, using the least user-friendly distro you can find is much more useful - you don't necessarily need to switch the distro you use on an everyday basis, just installing and configuring one can be a decent learning experience.
I first starting using Linux about 12 years ago, and after playing around with Redhat and Mandrake for a couple of years, I installed Gentoo, which was worlds apart. Whereas Redhat and Mandrake both came with the system and a full desktop environment with a whole bunch of commonly used applications, Gentoo pretty much just consisted of the system and the package management system - you even had to manually install your favoured syslog and cron daemons during install, and if you wanted X and a window manage, you had to install it yourself, from source. During the course of that install I learned 10x more about Linux than I'd learned in the previous 2 years of using GUI-centric distros, and over the next few years, fixing the weekly breakage of my system from system updates taught me a great deal more.
While you'd be hard pressed to find a distro that still breaks your system on a weekly basis just from updating, you still might want to try using a distro aimed more at power users - personally I favour Arch these days, but if you really want to learn the nuts and bolts, LFS could be a good learning experience.
As jrandom mentioned, doing C programming in Linux is extremely easy, all you need is GCC and a text editor, although an IDE can be rather useful, and on the subject of textbooks, if you want to learn more about OS fundamentals, I found Tanenbaum's Modern Operating Systems rather good, and if you have any interest in scheduling, semaphores etc, definitely worth a read.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks