Skip to main content

Is it possible to become a decent programmer in 1-2 years?

 I’m still not a programmer myself, but I have learned programming since I was very young, so maybe I can contribute something to the discussion.

First of all, you have identified the skills that you lack. Good start. Anyway, 1–2 years can mean a lot or just a little depends on how much you spend on learning. If you spend 8 hours a day, that’s a lot.

So you’d improve your skills by this (you’ll find this list contains much more low-level skills than other answers):

  • Find something to code (that’s the hard part for me). If your CS club members can find the project with you, get help from them. If not just quit the club (because they are guiding you to a wrong direction).
  • Start coding. You may start from scratch or inherit some legacy code and/or some library.
  • Finish your program, and try to improve it, and fix the bugs.
  • Somehow YOU’LL HIT A WALL. Maybe you’re unable to solve a specific problem (the problem looks easy, but is actually very hard). Maybe you find your code not maintainable (too many bugs, too each to introduce bugs, and bugs too hard to fix). Maybe you find yourself repeating yourself a lot (it’s time to use functions and classes wisely). Maybe you forgot what you have written (you didn’t write good documentation and tests).
  • When you hit a wall, it’s time to read about software design, i.e. expressive naming, when to/not to comment, testing, design patterns, version control, etc. Books in refactoring is also helpful.
  • After the reflection, start another project. You’re better in software design now. You may continue to work with your current project, but your code is likely not maintainable.
  • Repeat the process several times (I guess 5 is enough)… and if possible try different parts of the “full-stack”, i.e. console, GUI, web, database, CLI, etc. And SOME of your programs should be written in a strongly typed language.
  • You’ll make a lot of mistakes. Don’t worry about this. Making mistakes makes you better, especially in software design.

Anyway I wouldn’t recommend you to join existing open-source projects right at the start. This is a nice thing to do (indeed very nice if someone can coach you during your work with the project), but big open-source projects has a high entry barrier. (I tried with Chromium myself, and found myself reading thousands of lines of code (and also C++ reference, coding style guides, etc.) before starting to write my first non-trivial patch.) DO join open-source project, but only after you acquire necessary skills.

Now for the algorithm part. My recommendation is to acquire solid math skills. And do learn about algorithms and data structures, since they helps a lot with your projects.

But don’t delve into these too far right at the beginning, because you need to improve your software design skills first. When you get decent software design skills, you’ll look at algorithm problems in a different light (especially if your CS don’t provide good OOP courses), and can learn about algorithms more thoroughly.

Last but not least, good English DOES matter, even if you are not writing any comment. That’s one of the things I’ve learned in Chromium project.

And finally, GL and HF with programming!

mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev mbilaldev

Comments

Popular posts from this blog

What inspires you to code?

 Soon after completing school holding on to go to college, I used to go through my pocket cash by going to web bistro's downloading music and viewing on the web video, I incidentally tapped on a youtube video which was a html instructional exercise, I was captivated with how just a couple of orders produced together in a sensible way and afterward prepared came about to a site, I became obssesed in light of the fact that I needed to make my own and others' sites.  I began taking in html from my little screen cell phone and afterward practice at my companion's PC before we begin messing around in light of the fact that around then I didnt have a PC.  I believed that was everything except a sites required styling so I learnt css after that CSS I understood The html I learnt was old so I needed to redesign additionally including CSS to CSS3 and html 5, I was very glad going to begin making sites with what I was realizing, Time passed nobody needed a site, I at that point proce

todayjobs

todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs todayjobs toda

How can I become a good programmer after only one year?

 There is one propensity that in the event that you get right will make you a decent developer after just a single year. It's super, extremely straightforward.  In this way, I love to play guitar. It's most likely my most loved non-work leisure activity. Thus I invest an over the top measure of energy viewing YouTube recordings of guitar players looking at playing guitar. They likewise play guitar, try out various guitars, pedals, rigging what not.  I'm almost certain each interest has some adaptation of that on YouTube now right?  Two or three years back I cam over this person named Dave who is a marvelous guitar player. He's been playing guitar for a long time or thereabouts and has truly nailed the Red Hot Chili Peppers John Frusciante sound. He's a stunning player.  Furthermore, in one video he truly discusses how he rehearses guitar. Throughout the years Dave has attempted various practice draws near, some exacting, some specialized, some booked, and so forth.