Jump to content


Check out our Community Blogs

Register and join over 40,000 other developers!


Recent Status Updates

View All Updates

Photo
- - - - -

I'm feeling discouraged, like I'll never get really good; how can I improve?

coding skills advice

This topic has been archived. This means that you cannot reply to this topic.
6 replies to this topic

#1 DarkLordCthulhu

DarkLordCthulhu

    CC Devotee

  • Senior Member
  • PipPipPipPipPipPip
  • 422 posts

Posted 10 September 2015 - 09:46 AM

Okay, this is kind of half question, half rant.  I've been programming, studying computer science, learning languages and APIs, and working on improving my overall computer skills for a total of about four years now, all in hopes of one day becoming a really amazing programmer and computer wiz, but in all these years, I still feel like I haven't gotten there.  I've been looking at some blogs written by other computer nerds, and they are still lightyears ahead of me in their computer skills.  I still haven't managed to write a compiler, implement a stream cypher, do reverse-engineering, or any of that really cool stuff.  I know I have the intelligence to do those things and/or to learn the skills necessary to do them.  It's more a problem with motivation and focus.  I seem to lack that innate ability that most hackers have to just stay monomaniacally focused on coding and learning so that I get really good.  I used to have it, but I lost it.  I spend probably about five to ten hours a month programming and the rest of the time I'm focusing on stupid stuff like Internet forums, or obsessing over all my problems.  I don't have as much passion for learning as I would like to.  Not to mention I've forgotten a lot of what I learned back in 2011-2012 due to not using it enough - I've forgotten the entire POSIX API, as well as Common Lisp, x86 assembly, and GNU make, and I have to learn that stuff all over again.  Haven't even touched on network programming.  I feel really discouraged, like I'll never get really good at the computer stuff.  I need some advice here.  How can I revive that passion for learning and creating that I used to have?


Programming is a journey, not a destination.

#2 WingedPanther73

WingedPanther73

    A spammer's worst nightmare

  • Moderator
  • 17757 posts

Posted 11 September 2015 - 04:44 AM

"No matter how fast/smart/strong you are, somebody is faster/smarter/stronger."

If it's any consolation, I spent six years in college studying math. I can only remember about the first year or so of it (Calculus). The rest is a collection of vague notions and scattered bits and pieces that I have to review to pull back together. You've discovered the principle of "use it or lose it" when it comes to skills. We won't even talk about how bad I am at C++ right now. The good news is you can relearn those skills MUCH faster.

Not all the stuff you're talking about is necessary, or even makes you a wiz. You haven't written a compiler. So what? Neither have I. I probably could, but I don't particularly WANT to. There's more interesting stuff to do, so I do that instead. Stop setting artificial "I should be able to do XYZ" goals for yourself and do the things you WANT to do.


Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

My MineCraft server site: http://banishedwings.enjin.com/


#3 Vaielab

Vaielab

    Programming God

  • Expert Member
  • PipPipPipPipPipPipPip
  • 1382 posts

Posted 11 September 2015 - 04:47 AM

For me, the passion of coding come from the passion of my projects.

When I don't have a project that I want to do, I simply stop programming, or at least having fun programming.

 

Of course, if you compare yourself to other people's blog or article, you will always think of yourself as bad, do you think people publish "normal" code, or they publish that one thing they did that was awesome... I always wanted to read the code of git and linux... but when I just look at the folder (not even the code), I'm feeling discouraged too.

 

Find yourself a nice projects that you trully want to finish, and then you will see, you will forget about your "stupid internet stuff", and naturally want to work and get better for your project.


You can now stalk me on linkedin: http://ca.linkedin.c...elle/24/b44/88/ !


#4 DarkLordCthulhu

DarkLordCthulhu

    CC Devotee

  • Senior Member
  • PipPipPipPipPipPip
  • 422 posts

Posted 11 September 2015 - 10:15 AM

Thanks for the advice.  I probably I shouldn't compare myself to other people, unless it's in the sense of setting myself a goal to get as good as that person.  Early 2012 was when I stopped focusing on computers and started focusing on pure mathematics, so I guess it's no surprise that I forgot everything I learned in the six months or so before then, since I basically stopped programming entirely.  I need to learn to take up a new interest without completely abandoning old interests.  My only problem with learning that stuff is the second time I'm going to be thinking "Yeah, POSIX stuff, I've already seen this before."  It won't be as exciting the second time as it was the first time.  I would rather just keep exploring new topics and new possibilities rather than constantly having to reteach myself stuff I've already done.  But I guess I have to do some of both.

 

I am going to try to have a couple of coding projects going on at all times from now on, and keep working on them every day.  Since my boss at my summer job told me he doesn't need me any more and I'm unemployed once again, I'll have a lot of free time on my hands to catch up on personal projects that I may have abandoned or been planning but haven't started yet.  I have found that having a medium or large-scale project to work on keeps me excited about programming even if I'm not currently learning any new languages, APIs, etc.


Programming is a journey, not a destination.

#5 WingedPanther73

WingedPanther73

    A spammer's worst nightmare

  • Moderator
  • 17757 posts

Posted 11 September 2015 - 01:42 PM

It's not as exciting the second time. It's also more a matter of looking up references, too :)

 

Pure math is fun, don't beat yourself up :)


Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

My MineCraft server site: http://banishedwings.enjin.com/


#6 lespauled

lespauled

    CC Leader

  • Expert Member
  • PipPipPipPipPipPipPip
  • 1360 posts

Posted 14 September 2015 - 08:53 AM

After getting to a certain level of a language, there is only so much you will learn from reading books, etc.  There is a point where experience and actual working knowledge trumps any book.  Start working on a project.  Create it start to finish.  Pay attention to details along the way.  Go back and refactor anything that doesn't seem flexible to change, scaling, etc.

 

With that said, a lot of learning comes from your passion to rise above the rest.  I have always had an incessant need to do a great job for my clients.  There are times that I felt that I could have been a surgeon if I had the discipline and had studied as much as I did over the years in my profession.

 

If you don't have that passion, find something that you do have that type of passion for.  Many people never find that passion, and that's when their job becomes a chore.  If you find something that you genuinely love doing, it hardly seems like a job at all.


My Blog: http://forum.codecal...699-blog-77241/
"Women and Music: I'm always amazed by other people's choices." - David Lee Roth

#7 DarkLordCthulhu

DarkLordCthulhu

    CC Devotee

  • Senior Member
  • PipPipPipPipPipPip
  • 422 posts

Posted 14 September 2015 - 10:57 AM

I agree.  Learning a language like C is the programming equivalent of learning to read and write.  It won't teach you how to write good programs, any more than simply being literate will teach you how to write great fiction or poetry.  I think writing programs and writing fiction are very analogous.  That's why I've started reading other people's code from various open source projects.  Just as reading books will make you a much better author, so reading other people's code and understanding what it does and why they did it that way will make you a much better programmer.


Edited by DarkLordCthulhu, 14 September 2015 - 11:01 AM.

Programming is a journey, not a destination.




Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download