35 karma · joined December 26, 2012
When I visit some other sites, I have to wade through paragraphs of unrelated anecdotes, etc. just to get to an understanding of a concept.
This site, and particularly the free eBook that comes with this site, provides a much more clear explanation to many of the concepts that I had been struggling with. So, just wanted to share.
As I am studying computers/programming now, I find myself at a disadvantage over things that are probably trivial to others. I find myself not knowing the basic of things, for example. The stack? The heap? Turing Complete? With all of this stuff that is second nature to others, I had to learn about it from scratch by Google, etc.
I don't know if that was the most efficient usage of my time . So, in a way, I feel that I have missed out on a lot of basics that many take for granted by not having majored in Computer Science and have had to take the "long road" to understanding.
If you can avoid taking the "long road", you might instead have more time to spend on learning far more interesting things.
Fill out the FAFSA form; There is a lot of Grant money available that people do not know about. You may end up getting part or all of your tuition paid for.
Consider attending a community college for the first two years instead of going to a 4 year college.
One one hand: I would say the most memorable experience I have from college for me had been.. Skipping class and feeding the squirrels. I am not being sarcastic here; This was in fact how I felt. The reason being: I took too long to decide what I wanted to major in and had accumulated too many units towards my Junior year. As a result, I had to pretty much pick a degree.. any degree.. to graduate. So to me, it felt like a big waste of time at that time.
On the other hand: If I were your age and do it all over again, I would have majored in Computer Science (Looking back in retrospect).
To summarize, I am glad I got my Bachelor's degree. But I wish I would have known more back when I was your age; I would have made a wiser decision in terms of what to major in.
This has made all of the difference for me.
Not knocking the 8 to 5 at all. For some people, this is a great schedule. It just never worked out well for me.
I believe it is important to find a schedule that works for you. If you put your mind to it, you can achieve it.
That was the point I decided that there was no sense pretending anymore and got into a different line of work.
Some of these look kind of cool: http://www.amazon.com/s/?_encoding=UTF8&tag=produc05-20&...
Illustrated C# 2012: http://www.amazon.com/Illustrated-C-2012-Daniel-Solis/dp/143...
Practical Object-Oriented Design in Ruby: http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-...
Illustrated C# 2012 (And previous version: 2010, etc). http://www.amazon.com/Illustrated-C-2012-Daniel-Solis/dp/143...
Of all of the books I have read/browsed regarding C#, this has to be the clearest, most concise on that I have had the pleasure of reading. The material is presented in an understandable manner and the author provides the reason "why" you are doing something rather than just list a series of "do this" steps.
To me, this is the most important quality in a book: Succinctly convey your point so that the reader can truly learn what you are trying to get across.
I do have one other book to recommend for you Rubyists. While I say this is for Rubyists, the concepts in the following book are extremely helpful for other OOP languages as well:
http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-...
I hope this helps; I have spent many hours going through books that sort of meander around the point, have extra fluff, etc. So when I come across two truly stellar gems like the above, I would like to share with others so that they, too, can save some time learning a programming language or paradigm.
http://www.amazon.com/Ivor-Hortons-Beginning-Java-Programmer...
It is the first book that has actually explained the "why" of using a Java interface to me (Rather than the usual "how").
To most of you, this may seem trivial. However, this brings up a bigger point that I have noticed: Not all books (Or people) can teach or explain a concept in a concise, easy to understand manner.
As such, it is a rare gem when I find a book that can explain the "why" of a concept rather than just throw pages upon pages of filler at you.
Today, this book has given me a superpower of finally understanding just how interfaces work. Tomorrow, others may benefit from me (Hopefully) writing better code.
To make a long story short: I realized, much like you, that programming wasn't for me. And yet, like you, I had an interest in technology.
What has ended up working for me is: I gradually moved into the role of system administrator / IT specialist. This role now allows me to be a "Jack of all Trades", be around technology, and help people by solving their problems (The social aspect).
The fact that there is always something new that comes up every day in the life of a system administrator means I don't have much time to get bored. And, when I feel that I might miss coding, there's always something that can be automated by scripting in Powershell (Or your language of choice if you are on Linux, etc).
Have you considered becoming a system administrator? It might be that middle ground that you are seeking.
Edit: One important thing I forgot to add is: The years I spent trying to become a programmer have helped me as a system admin. I can better relate to the development department when they need something set up a certain way, etc. I can understand their language. Therefore, all of that knowledge you have accumulated over the years will only benefit you as you go forward.
I am finding this book to be very helpful in understanding proper Object Oriented Design. It explains concepts that I have struggled with previously regarding Object Oriented Design and Programming.
So far, the main point I have taken from this book is: Pay more attention to the messages being sent between objects rather than focusing solely on classes.
As someone who is learning Ruby, it is taking me some time to understand these concepts. However, this book is providing me with some valuable insights into Object Oriented Design and Programming.