As someone whose been on a programming adventure for over a year now, this article hit a lot of great points.
I started learning from only basic knowledge gained in engineering school. I started small, but always strove to maintain a consistent amount of effort. Gotta pick up that hammer and swing it, even if it just means making one little crack in the wall.
The most difficult thing by far is silencing your own self doubt. It's too easy to think of the massive amount of knowledge you're supposed to know and immediately tell yourself you'll never make it. It's a skill in itself to just ignore those thoughts and keep pushing. What other option is there besides walking the path or giving up?
One thing I've noticed from other self taught programmers is that many will eschew the fundamentals. I believe it's really important to understand why a certain tool or framework came about and what issue it's trying to solve. Don't be afraid to step away from the hottest frameworks and cut to the basics.
Don't mitigate your accomplishments. So much work going on now is so complex and impressive! That doesn't mean your small project isn't any less of a personal achievement.
Keep learning, keep building and immerse yourself in the community. Don't forget to pick your head up every once in a while to see how far you've come.
Good points! I agree that fundamentals are important and make many things easier in the end. I can see that it may be difficult for someone self taught to focus on those and be patient before jumping into that framework everyone is talking about. It is worth it though in the end.
I also like your note about accomplishments. This is really important to feel proud about things you've accomplished. Finding joy in these small completed projects may motivate you in going forward. There's no point in feeling worse.
Everyone started somewhere and it is very likely that most of the brilliant programmers also made simple things in the beginning (and most probably were very proud of them :)), but yes - fighting your doubts is very difficult.
I feel like we should try to find someone who will give us a positive feedback to soften the frustrations. This may not even be a specialist in the field - show what you've done to a friend or family - added bonus: they will be likely even more impressed. We tend to be overly critical about ourselves, so it is useful to search for feedback from others.
Definitely agree about talking to others. I'm really lucky that most of my closest friends are awesome developers.
I'm about to start applying for full time developer jobs and grad school so I've been reflecting a lot on my journey to get here. It's going to be a leap but I'm confident I'll make it!
> Just keep on going. Lesson: Be persistent, don’t give up.
All lessons are interesting and all ideas can be valuable, but in this kind of articles I always find that the most valuable advice is just this: be persistent, don't give up. I'd say this is usually the key for success in many areas of knowledge (and certainly in programming).
Thanks for your comment. Yes, I feel like this is the most important thing in learning new things (as you mentioned, not only programming). There always comes a time where we feel like we are not making any progress or get frustrated. This is where usually those that give up fail and those that keep on pushing ultimately succeed. This is not always easy, but I find that reading about other people stories (where we find out that others struggle as well) helps a lot.
This really made my day. As a programming adventurer I can totally relate with most of the points. Reading this post upped my motivation. I am going to take a print out and keep it on my desk, so that I can read it whenever I am feeling down.
Thanks a lot for such a positive comment :) I am happy that you found the article motivating and relatable. This also shows how true the lesson about sharing your story may be. It really can help others in ways you don't even expect. Good luck in your journey :)
I started learning from only basic knowledge gained in engineering school. I started small, but always strove to maintain a consistent amount of effort. Gotta pick up that hammer and swing it, even if it just means making one little crack in the wall.
The most difficult thing by far is silencing your own self doubt. It's too easy to think of the massive amount of knowledge you're supposed to know and immediately tell yourself you'll never make it. It's a skill in itself to just ignore those thoughts and keep pushing. What other option is there besides walking the path or giving up?
One thing I've noticed from other self taught programmers is that many will eschew the fundamentals. I believe it's really important to understand why a certain tool or framework came about and what issue it's trying to solve. Don't be afraid to step away from the hottest frameworks and cut to the basics.
Don't mitigate your accomplishments. So much work going on now is so complex and impressive! That doesn't mean your small project isn't any less of a personal achievement.
Keep learning, keep building and immerse yourself in the community. Don't forget to pick your head up every once in a while to see how far you've come.