Programming career?

Need some suggestions regarding my programming career

  • I need some suggestions regarding my programming career I am a fresh graduate engineer and I am very interested in becoming a good coder. I have worked on a couple of projects as a freelancer on Python/Django. I want to learn more development techniques and algorithms and want to become good at it. What can I do? I have always wanted to contribute to the open source community as well. How do I choose? where do I start? Is there anything that's emerging in the programming field? I'd love to learn new things as well

  • Answer:

    For learning more languages, I suggest learning C (get the book "The C Programming Language", co-authored by the creator of C himself) and/or assembly to get a better understanding of what goes on "behind the scenes". Then learn C++ (this is a HUGE language, don't expect to learn this within a short span of time), it's used A LOT in industry. It has OOP concepts in it, but a better language to learn OOP in is Java or C# (in my opinion at least). After those, learn some functional programming, which seems to be gaining popularity recently. Part of industry seems to like Scala (Twitter converted their backend from Ruby on Rails to Scala not too long ago) which runs in the JVM, and is sort of a hybrid between OOP and functional programming - it also has native concurrency support, which is something else you should learn, especially with cloud computing and multi-core CPUs being all the rage. For more functional programming, Clojure (Lisp dialect) and Haskell are popular choices as well. Functional programming looks scary at first (at least it did to me), but it's very powerful, esp. for data processing. For learning more about data structures/algorithms, get "Introduction to Algorithms" by CLRS. There's also an archive of video lectures from the MIT Algorithms class that uses that same book here: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/ For the open-source community, find a project via Google, or GitHub, learn whatever language they use, play with the existing release they have, and see if there's anything you can do to improve it. The best way to become a coder is to code - reading books/listening to talks will only get you so far, hands-on coding is a far better teacher. Do the exercises in the books - some may look simple, but often times you'll run into problems you had not previously considered and you learn from those as well.

user1077344 at Programmers Visit the source

Was this solution helpful to you?

Other answers

A few idea: Code kata are a good thing to practice all the time. Learn new languages in new paradigms: functional, OO, etc. Learn from mentors -- finding those is hard. Learn patterns and anti-patterns. Contribute to software and get your code reviewed -- grow a thick skin, people are criticism your code not yourself. Read (good) books about programming. Look at questions on SE/SO and try to answer them.

Sardathrion

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.