How many of you are self-taught/hobbyist programmers
#21 Marketplace Seller - Reputation: 8941
Posted 30 August 2012 - 10:05 PM
I started learning mostly through books, then mostly through online tutorials, and now by trying to get the real two or three chunks of gold in hour-long conference videos or multi-page articles.
...and I've always learned by asking stupid questions on this forum until I think I understand whatever I'm asking about.
I also learn alot by seeing a short, clearly-commented, piece of code or pseudo code from someone else, and walking through it in my head and then modifying it and running it to learn how it works. I first copy and paste, but then rewrite in my own coding style and add comments as I walk through it, and then modify to confirm that that's how it actually works and to get it to do what my project needs, and then often scrap it and rewrite it completely to better fit the architecture of my project or to be more re-usable the next time I come across it.
Note: I do this when learning something (like an algorithm) I'm not familiar with; not for whenever I run into a problem in my code - less than 00.01% of my code is not directly written by me, excluding libraries and such. Copy+Pasting other people's code is a bad programming habit, IMO, unless you are doing so to learn how they did it (and not to just copy what they did).
The most important advice I can give is: Learn new things, but don't jump from new thing to new thing every week - you need to stick with one project or topic long enough to actually really "learn" it before moving on. Project abandonment happened all too frequently with my earlier projects which never got finished. Now I only abadon a subproject if I find it's detracting to much from my real primary project.
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal
#22 Members - Reputation: 382
Posted 31 August 2012 - 01:50 AM
In programming it's fairly easy to show whether you have a grounding in the basics, that's why they often have programming tests in interviews. And the relative lack of importance of qualifications in the field ... in other subjects it can be much more difficult to quickly assess your knowledge, therefore a bit of paper is more useful.
A problem can be that qualifications are often set at such a basic level as to be effectively useless. The kind of people who are good at programming aren't those who need to be 'spoon fed' by formal education, but as said earlier in this thread, people who can adapt and are constantly learning new areas and ways of working. Ok - you'd be expected to know the kind of things taught in CS to work in CS, but that knowledge alone is a given, and doesn't indicate any kind of skill or talent (I've met many with CS degrees with no talent or flair).
In my age group (coming up to 40) the best programmers on the whole tend to be those that started early. There was ample opportunity for us to get started early (8-15 is typical) and those that started later tended to not have the genuine interest. If you are a 'computer' person, you will know it from the very first time you play with one. You will be instantly drawn to it and want to change stuff, learning how it works, move pixels on the screen etc. You'll literally have to be pulled away from it.
If it takes you until you are 18 to even think about this, you have to seriously ask whether you have found the field for you. You would be entering it as a 'profession' like law or medicine, rather than because of a love of it. Are you ever going to be anything other than a 'mediocre' at best programmer? There may also be benefits to starting very young - learning foreign languages is proven to be easier at a young age, and the same may occur with programming - with it framing the way you think.
That said, there may be exceptions to the starting early. Certainly for older people (50-60) there was not the availability of home programming until the early 80s, and there are some exceptional older programmers.
Another point however is that today, although in some ways new programmers are lucky (having a huge amount of info on the internet, free tools, etc etc), the barrier to entry can be much higher unless you start with a simplified system. In the early 80s, there was only 'so much' you needed to learn to get started and be producing cutting edge level stuff. Nowadays there is so much interoperability with different components and it's more difficult to produce something that would be considered 'professional grade', so I do understand to an extent the 'late starters'.
Back in the 80s, home computers came with built in programming languages - basic, assembly. These days, you need a considerable investment in time just to install a programming language and get it writing 'hello world' on the screen, which may put people off. Which is the reason for efforts such as the raspberry pi project.
To answer the questions though, myself I was self taught, along with most of my fellow programming nerds (hence my obvious bias lol). Began at 9 (this was typical at the time). I did do a computer science ancillary on my degree, in with the CS full time students, and the courses they had were diabolically basic. I actually cracked up with laughter during the lectures (pascal, systems analysis, AI etc), and ended up doing the other students programming assignments for them (in CS), and taught the engineers 6502 assembly. Had enough exposure to be glad I didn't waste my time doing a full CS course. I also did considerable programming on my phd, but that would be more professional use, rather than a learning course.
I did game programming as my job, until I was in a position to retire, since then I've done programming independently (often for fun rather than profit), but also had other means of earning money (gambling, extortion, drug running etc).
#23 Members - Reputation: 379
Posted 31 August 2012 - 02:11 AM
Started 1979 at age of 13. First earnings with something like Software engineering 1988. Now making software and system designs for automotive companies.
Never gave up even it needed along time to get reasonable payed for my knowledge.
RL has been sometimes a problem. But now everything is fine.
#25 Members - Reputation: 1054
Posted 31 August 2012 - 04:42 AM
I had the luxury of being in a position where I could get a well paying job with or without a degree. If a degree is useful only for getting a good job, then what's the point of getting a degree if I can get a good job without one? I like to think I was one of those rare students who decided that I'd go to school to acquire wisdom instead of a job, so I took a bunch of philosophy courses. Heh, am I more wise as a result? I'm wise enough to know that most of philosophy is people bullshitting and hiding behind a daunting language of esoteric philosophical terms. I think the best way to acquire wisdom is through a variety of life experiences and to critically read the words of those who you believe are wise.
It's worth mentioning that a lot of my learning came from this site
Hobby: Game Developer
Currently employed as: Sr. Sharepoint Developer in Afghanistan
#26 Moderators - Reputation: 1024
Posted 31 August 2012 - 06:33 AM
I should go back and get my degree though as it's getting harder to get any further in my career. I still want to go full-time indie game development but that's difficult when you have a family to support.
#27 Members - Reputation: 1245
Posted 31 August 2012 - 08:22 AM
Started with Amiga BASIC around '91. Then QBasic, Turbo Pascal, C++, C#, PHP, JavaScript, etc.
I attended CS in college for a few semsters but dropped out because I found it to be pretty boring there. The thing I took from college however was the course about basic algorithms which really helped.
I might go back sometime but at the moment I'm pretty good with how things went. ;)
#28 Members - Reputation: 1005
Posted 31 August 2012 - 08:46 AM
#29 Members - Reputation: 1674
Posted 31 August 2012 - 10:33 AM
Other than that in the first 2-3 years: no internet, no programming friends, no books. Just some very few tutorials and documentation I downloaded to floppy disks.
I'm a very sloppy programmer, I have to add.
#30 GDNet+ - Reputation: 1200
Posted 31 August 2012 - 10:49 AM
I've been working as a professional developer since 2001, being hired at nineteen. My title is Senior Applications Developer. I actually was offered the development manager position a couple months ago but turned it down due to some office politics that I didn't want to get in the middle of. The best decision of my life so far, seeing what the poor schmuck who did take the position is having to deal with.
#31 Members - Reputation: 1865
Posted 31 August 2012 - 12:13 PM
The college experience was VERY easy in the first two years, but then I learned awesome stuff in 3rd and 4th years that I doubt I would have learned as thoroughly on my own (language and compiler theory, operating system kernels, distributed computing, functional programming, etc), and which heavily influence how I think about programming.
I suspect that my self-taught background allowed me to get more out of the college classes than those without. I could spend less time stressing out about homework and cramming memorization and more time contemplating the reasons and ramifications of things we were being taught. While some graduates feel like all they got out of college was a piece of paper to find a job, I feel like I actually got my money's worth.
Edited by Nypyren, 31 August 2012 - 12:15 PM.
#32 Members - Reputation: 1427
Posted 31 August 2012 - 02:02 PM
1. The piece of paper which is extremely helpful in getting interviews when you're just starting out. This doesn't matter at all once you have a few years under your belt, but keep in mind companies are getting dozens if not hundreds of applicants and a quick filter that HR can apply is who has a degree and who doesn't. You can work around this by being smart about how you apply. You've got to find a way to talk to the person who will be interviewing you and skipping the HR drone if you can.
2. Networking. If you play your cards right, you can come of of college with a network in your field already built. You cannot overvalue the importance of having a network of people that you interact with in your field. It's important that you talk with lots of people. Develop relationships outside of your immediate work environment. Like it or not, the world is very much a who you know environment. Sure, it helps to be technically competent, but getting to the right person at the right time is crucial.
You can of course build a network outside of college. I've been doing this myself. Go to local user group meetings. Go to local code camps if you have something like that nearby. To really stand out and develop relationships with the right people, volunteer at the user groups. Start giving talks on programming topics at those small conferences.
I barely graduated highschool and I am now the Director of Software Development at the company I work for, and there are always plenty of opportunities for me to choose a new position if I wanted to.
#33 Members - Reputation: 148
Posted 31 August 2012 - 04:10 PM
#34 Members - Reputation: 965
Posted 31 August 2012 - 04:11 PM
The main thing that held me back at first was a lack of a computer to learn on. All I had was an Apple IIe that was sitting in the school hallway, a small book from the library, and no disks to save anything on. Even then, I did the majority of my "programming" by hand writing the program in pen in a notebook that I kept. Those programs never made it to a computer and I had no idea whether they worked or not but it was what I had for the day and age. After I think about 2 years of doing that I got a C64 and was finally able to learn some fundamentals. Today, if I was starting over as a young hopeful, hopefully I could figure to download VS express and find a few tutorials. Assuming I have a computer I can work on, and assuming that I found this website, I'd probably learn a lot faster than what I actually did.
When you are determined, you find a way.
#35 Members - Reputation: 487
Posted 31 August 2012 - 09:04 PM
Edited by Net Gnome, 31 August 2012 - 09:46 PM.
#36 Members - Reputation: 1715
Posted 31 August 2012 - 09:27 PM
How many of you program just for fun or are self taught? Im talking about people without degrees in CS?CE/IT.
If so how did you learn and what do you do for a living? And how did you manage to learn with other RL issues
I'm Self-taught. I was programming at age 9, I *did* attend one session of programming classes (which bore the **** out of me).
Curiosity is a very strong vector as far as learning is concerned. If you have thirst for knowledge and passion to make things happen with it, you can learn programming.
I'm a project manager in the videogame industry, and my 'basic' understanding of programming is invaluable in this field. It really gives me an edge compared to a lot of people who rather excel at management.
RL issues don't get in the way of goals you set for yourself unless you let them be an excuse. Case in hand: I've got kids to feed
#37 Members - Reputation: 537
Posted 01 September 2012 - 02:20 PM
I learnt from a lot of books, lets just put it this way, I have spent more on books in the past 5 years than I have on food, clothes, alcohol and games. For me I got a huge satisfaction over learning something new, so programming was a good fit.
#38 GDNet+ - Reputation: 342
Posted 01 September 2012 - 03:14 PM
That's awesome! That's the most unique story I've seen yet about how someone learned to program!Self taught, started with PHP then AS, didnt really like them, C# changed my overall programming goals, programming was no longer a hobby but a game, I gave up MMOs and even sex (I know right), I have way too much fun programming, a few months ago I added C++ to the list.
I learnt from a lot of books, lets just put it this way, I have spent more on books in the past 5 years than I have on food, clothes, alcohol and games. For me I got a huge satisfaction over learning something new, so programming was a good fit.
#39 Members - Reputation: 537
Posted 01 September 2012 - 04:45 PM
That's awesome! That's the most unique story I've seen yet about how someone learned to program!
Self taught, started with PHP then AS, didnt really like them, C# changed my overall programming goals, programming was no longer a hobby but a game, I gave up MMOs and even sex (I know right), I have way too much fun programming, a few months ago I added C++ to the list.
I learnt from a lot of books, lets just put it this way, I have spent more on books in the past 5 years than I have on food, clothes, alcohol and games. For me I got a huge satisfaction over learning something new, so programming was a good fit.Usually it's "Oh I learned on the Amiga when I was 8 and now I get bored with it" but that's the first time I've heard of someone giving up some amount of sex and inebriation to go write code.
Nice, I actually made a thread on aven a few months ago saying "am I asexual or do I just have more fun doing other stuff?", I could mention some funny stories right now about past experiences but id probably get banned haha
To some however it may sound lame, nerdy or bizarre giving up so much, but I have experienced a lot in my life, did the whole partying till 6 in the morning, socialising my address book to 2k, playing games endlessly for those special epics / titles etc never got anything long term out of it, programming and learning in general is the only thing that has benefited me, shame really took me 22 years to realise
The way I see it, if something is fun, doesnt damage your health, is good for you and you learn from it, go for it, the downside is your social life ends up dying, on the plus side you learn a lot of cool and useful skills
#40 Members - Reputation: 901
Posted 01 September 2012 - 05:08 PM
I am 100% self-taught. I have no formal education of any kind (dropped out of high school) and certainly no "official credentials" in programming.
I learned by being interested and persistent. If you genuinely care about doing something, you will find a way to do it - "other RL issues" are more or less irrelevant. As I often tell a good friend of mine: some people stare into space dreaming of living among the stars.
Other people don't stare into space, because they are busy building the rockets to get there.
I really love that comment
"The only thing that interferes with my learning is my education"
Albert Einstein
"It is a miracle that curiosity survives formal education"
Albert Einstein






