Want to be a Programmer / Developer

^^ What Marc said too.

My main point for formal education though is that you will (on a good course) be given a broad understanding of all topics of software. Bedroom hackers are self directed so might not cover areas which affect them - but the don't know about.

Also on a good course you will be catered for no matter what your learning style as a decent college/university should be catering for these.
 
I disagree with that - it's the benefit of a curriculum it's more rounded. There are so many cowboy hackers out there who think they know everything, because they don't know how much they don't know and are frighteningly dangerous.
Exactly the point. It's sometimes frightening.

There are areas where nobody would ever hire some cowboy hacker to write code. That's where you need people who actually understand everything from the ground up which enables them to write software that is basically not allowed to have bugs.

If the Windows kernel has a bug - well, it will present you a nice blue screen and may ruin the last 2 hours of your work. Not a very big deal, but some damage might be done.

However, there is software that is not allowed to fail, otherwise people are going to die or millions are lost within a split second. That's where you don't want a cowboy hacker with limited knowledge to work on the code (and no, there were no such people working on Ariane's flight control system, you can assume they were all highly educated and experienced specialists, yet they screwed it up badly).

That's why I cannot agree with statements like:
Jaxel said:
You could spend a month explaining why signed integers are bad... but if you just tell someone "use unsigned integers only, because signed integers can lead to buffer overruns and are a major security risk"... then they can accept it and move on to more important matters.
It's a dangerous attitude. There are no more important matters in software development - all matters are equally important and even a small lack of knowledge can lead to serious (and sometimes dangerous) mistakes.

Understanding is the key. Following orders without understanding what's going to happen (and why it's going to happen) is for different people, not software engineers. It's ALL about understanding the problem and finding a solution.
 
Also on a good course you will be catered for no matter what your learning style as a decent college/university should be catering for these.

Indeed college was structured and boring so I didn't engage and had a poor experience. University in contrast was a magical play ground where I pulled together the previous 10+ years of experience on projects - that for the most part - I got to direct and build with what ever (or level of) support I asked for.
 
Indeed college was structured and boring so I didn't engage and had a poor experience. University in contrast was a magical play ground where I pulled together the previous 10+ years of experience on projects - that for the most part - I got to direct and build with what ever (or level of) support I asked for.

Sounds like it served you very well ...

Been reading your blog btw ..... Some excellent stuff on there :)
 
Sounds like it served you very well ...

Been reading your blog btw ..... Some excellent stuff on there :)

Cheers ......... as it is I'm back to school for my MSc in systems thinking, so I should be churning out some more in a few months.
 
Cheers ......... as it is I'm back to school for my MSc in systems thinking, so I should be churning out some more in a few months.
excellent stuff ... not got through whats there as of yet, but wont take me long so look forward to the new content
 
I learned the "cowboy" way in middle school and high school. I graduated high school making more money than my teachers; and I slept through all my classes. During college I felt I was learning nothing. However, I did learn a lot during those college years; not from the teachers, but from teacher other students myself. Teachers are taught as they were taught, but times are changing and people change. The way people learn today is not the same way that people learned 20 years ago.

So my fellow students would often come to me for answers; they all said they wished I was teaching the classes, not because I was more knowledgeable (I probably wasnt), but because of the difference between "knowledge" and "understanding". There is much I don't "know", in fact Object Oriented Design is completely new to me, I never used it before XenForo. But I have an innate ability to "understand" pretty much anything I look at. I can look, and immediately break things down and figure out it's pieces.

So how did I learn how to program? I looked at other people's code; I played with it; found out what made it work; and most importantly, found out what made it break. Because of this "kinesthetic" method, it also gave me the ability to relay it back to others in "modular" form (chunking). By explaining the pieces well, you can easier understand the construction. People like to say "can't see the forest through the trees", but the trees are easier to understand than the forest, and a lot of trees make up the jungle.
 
I learned the "cowboy" way in middle school and high school. I graduated high school making more money than my teachers; and I slept through all my classes. During college I felt I was learning nothing. However, I did learn a lot during those college years; not from the teachers, but from teacher other students myself. Teachers are taught as they were taught, but times are changing and people change. The way people learn today is not the same way that people learned 20 years ago.

So my fellow students would often come to me for answers; they all said they wished I was teaching the classes, not because I was more knowledgeable (I probably wasnt), but because of the difference between "knowledge" and "understanding". There is much I don't "know", in fact Object Oriented Design is completely new to me, I never used it before XenForo. But I have an innate ability to "understand" pretty much anything I look at. I can look, and immediately break things down and figure out it's pieces.

So how did I learn how to program? I looked at other people's code; I played with it; found out what made it work; and most importantly, found out what made it break. Because of this "kinesthetic" method, it also gave me the ability to relay it back to others in "modular" form (chunking). By explaining the pieces well, you can easier understand the construction. People like to say "can't see the forest through the trees", but the trees are easier to understand than the forest, and a lot of trees make up the jungle.

And good on ya because you do some extremly good work ... point is there is no 'right way' to learn and this is what I was trying to say with my post above. Personally I'm half way between Kinesthetic and Auditory. For this reason I love tutorial videos and can understand when someone tells me how to do something. I can also "try to do it" through looking how others have done it and generally work it out. However give me a book and Im completely screwed because its just not the way my head is wired up.
 
....... its just not the way my head is wired up.

One of the main reasons I got into counselling and psychology, opposed to (even) more technology or areas covered by typical MBAs etc (which I'm not a big fan off).

The issues I have on projects with teams now are little to do with the implementation of technology (been there done that) - but how how people (developers, clients, stakeholders) communicate and my understanding all interacting systems - hard/soft/wet ware. Which is where my abilities mainly lie - I find it rather easy to visualise things like that.

Though I end up using some of the packages here to show others how I see things and what is in my head : http://en.wikipedia.org/wiki/Data_visualization

Which is likely more related to what SilverCircle is talking about - understanding the problem domain and architecture to ensure all things are in place and (mostly) counted for / thought about ...... then get stuck in with your fav IDE.

Get the big picture - understand the boundaries (not only of the tech, but the people) and I/O between the major components (API etc) - layout framework (code or mental) - then get stuck in. Is how I typically do it.
 
I looked at other people's code; I played with it; found out what made it work; and most importantly, found out what made it break.
What little I know, was learned this way. I don't know that much but my site will prove that Ican cobble together the odd bit of code/styling or two.

Last year I did a college course in basic php, I didn't learn a sausage but it "formalised" what I already knew and gave me a certificate for it.

I spent most of the course helping other students who didn't understand it.
 
Same here, I don't see myself as a coder, far from it. But I have picked-up a lot just looking at how things are done and learning that way from my own mistakes made in putting them right.

I once signed-up to a computer course run in working hours, done just to escape working for an hour. I was suprised at how basic it was, couldn't learn anything from it that I didn't already far exceed. But others didn't have a clue on the course. Quite funny really watching them struggle with very, very, very basic computer skills.
 
Do you have any recommended Books or Online classes?
The basics:
php
mysql

The rest, you'll pick up as time goes on. Don't bother with 'online classes', they don't actually teach you anything. Don't bother with college/etc as they won't teach you anything relevant or modern. Google and the above two sites are the best of the best. Download software, examine it to see how it works, have fun with it, pick it apart, make it work better.

What languages should I focus on?
This is going to be one of those opinion based questions, but php is hands down the language to focus on. Javascript, it's alright, you can do almost anything with php you can do in JS, though.

What software do you use to help with coding?
UltraEdit is the best of the best when it comes to editing. You don't need anything else.

Forget using crap like dreamweaver, frontpage, etc, stuff that makes your site for you. It's ugly, and it doesn't teach you how to do anything properly. Focus on standards and always run things through the w3 validator.

Best of all, don't give up. Then again, if you're about to retire from the military, I'm willing to bet they pretty well beat that into your head ;) .
 
Top Bottom