How do you keep sharp?
A few years ago, I considered myself a lot smarter than I do now. I took a year long break from school and really didn't do anything stimulating to keep my mind fresh. Even now after I've been back in school for a year and a half and have picked up hobbies like this one (programming), I still don't feel as smart. I've been doing things like word puzzles and logic games but they haven't been helping as much as I'd hoped (though they have been helping).
More to the point, what do you do, if anything, to keep your mind sharp? I imagine those of you who have real programming jobs (mine is more like script writer and SharePoint lackey) don't really need to do much to keep sharp.
Two word answer: Write Code.
And FWIW... I am a lot smarter now than I was in my twenties and whole lot smarter than I was in my teens... because now I know exactly how dumb I can be at times.
If you're speaking specifically to programming smarts or problem solving, then I'd say try to join a few public projects on Google Code or Sourceforge. Something you would find challenging. I'm also in a code monkey type job that does nothing to progress my abilities. I also work with only one other programmer, so I haven't even really been able to improve my ability to code in a team. Unless you're lucky enough or natually gifted enough to land a prime computer science job very young, you kind of have to resort to private practice to advance yourself.
If you're talking about general smarts, then I always found trivia games on TV to help like Jeopardy. I'm not saying knowledge of trivia equates to intelligence, but the principle aspect of that game is to be able to sort your thoughts out rapidly and come to your answer before the others are capable. This will really improve your critical thinking. Don't focus on getting every answer, but rather focus on getting the answers you're certain you do know more rapidly than the person on the TV.
That's just my two cents.
Since I find math difficult, I learn some math in order to feel smarter. Maybe you could do something similar.
whiteflags: I think math is my strongest part, it's more of problem solving speed and confidence that I need to improve.
SlyMaelstrom: I do watch Jeopardy! and really enjoy it...I also like Wheel of Fortune but don't do too well with it at times.
Tater: I will have a chance to "write code" here soon in the Spring--I will be taking a grad-level CFD course in which I will be writing some large programs.
Thanks for the advice thus far.
Well when I learned programming through formal education, we did logic puzzles. I doubt that they directly apply to anything you would do in programming, but they do work your brain.
To keep sharp I write code and lots of it. My job challenges me in various areas and not in others. For the other areas I write code, read books, do research on the internet, etc., etc.
I'm always involved on projects on the side. I have a few personal projects I work on from time to time and I often assist with portions of other projects that my friends are working on.
But I try to stay sharp in many areas and not just C++. Most of my recent books have been about C#, WPF, C++/CLI, and Agile. I also participate in the interview process where I work be it a phone screen or a full on interview. Believe it or not this will keep your skills sharp as well since you will be asking technical questions about languages, design patterns, etc. If I complete my work early then I often will research future features for the product and write prototype code. This often helps later when the feature is actually on the schedule and prepares me for some of the roadblocks I may encounter when designing and then implementing the new feature.
As all others have said; code, read books/references. Im still in school but I have projects on the side that keep me entertained and i intend to keep it that way. If you attending college or uni or something along those lines you probably have a library that you can tap in for resources, maybe even access some of it through the net?
- Stay active in what you are trying to learn or achieve.
- Read up on what you're doing and find different methods of solving those problems.
- Set some short term personal goals and maybe a few long term ones along the way.
- Ask questions about what you're unsure about.
I know it sounds like it's not much, but every effort you make to better your understanding, will always better yourself in that area. Whatever it is you're trying to improve on.
Hell, I know I'm not very good at programming. I read tons different sites and watch video tutorials on Youtube almost everyday to learn. But in the end, it's you're own preference to how you apply yourself. Some things work better than others, it just depends on how you learn.
I try to keep sharp by diagnosing problems people post here. I don't get to do much real code development work in my present job unfortunately.
I have a bunch of "projects" I should be playing with at home but I find I am too tired and worn out by the end of the day. So the closest I can come to keeping my brain alive is to be looking at other's syntax, common pitfalls, and algorithm issues.
Some of the home projects that are on the shelf have to do with writing interpreters and machine emulators. Trouble is, once I get started with some concepts I lose momentum. So many things are partway done. Then I get a new idea that seems more interesting.
The best way to keep sharp is to know everything all the time, have 600 years worth of coding experience and all that at the age of 9.
Sounds a lot like me, on all points. I'm trying to get more focused on starting my own personal projects.
Originally Posted by nonoob
You can say that again!
Originally Posted by BobMcGee123
I would say think of something you cant quite program with your skills (no offence) and learn how to. Thats what I would do. :D (but only starting half a year ago on an informal education I have a lot to learn.)