Take the 2-minute tour ×
Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. It's 100% free, no registration required.

I started late and I'm a year and a half studying and working with programming. But I still do not feel good enough for most tasks.

Also I want to know how I can improve as a professional faster. Any idea?

share|improve this question
1  
Seems to be off topic (not productivity related) and also seems to be an opinion poll with no right answer. –  Sklivvz Nov 29 '13 at 12:13
add comment

closed as primarily opinion-based by AsheeshR, THelper, Sklivvz Nov 29 '13 at 12:12

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers

up vote 11 down vote accepted

Ha. I've been programming for 15+ years, and I still don't feel competent most times. But, I'm in good company.

Suggestions:

  • Read general purpose programming books and blogs. I really liked Pragmatic Programmer, but there's a lot of information out there.
  • Learn different types of languages. Pick up a functional or aspect-oriented language. Or if you've focused on a high level language, tinker with C or Assembly.
  • Don't settle for what's easiest.
  • Unit test your code. Seriously. The things I've learned from unit testing (like Inversion of Control. mocks, Single Responsibility Principle) have helped me a lot.
  • Find someone better than you and read their code.
  • Find someone worse than you and teach them something.
  • Practice.
  • Learn basics about operating systems, database design, and if programming a VM, the underlying IL (originally suggested by Benny Hill). You may not need the information, but knowing how things work under the covers helps a lot.
share|improve this answer
3  
These are all great suggestions +1. The only thing I'd add is to learn something about operating systems and databases and how they work "under the covers". You don't need to understand that stuff deeply but I think it's beneficial to have at least a high level understanding. –  Benny Hill Nov 25 '13 at 22:24
    
Thank you for your suggestions. Great text in your link. Now I'm feeling more confident and ready for next challenges! If you remember about more suggestions, update here to help more people! –  Joao Paulo Nov 27 '13 at 18:59
add comment
  • Listen to tech pod-casts and recorded lessons. I subscribe to online video training and listen to lessons while driving. I do the demos when I get to my desk.
  • Build something big on the side. keep it in source control so it is not throwaway code. When you build something on your own you really do own it and care about its totality. this helps you see gaps in the application architecture.
share|improve this answer
add comment

Yearn to expand your technical knowledge. Don't save your only time to learn for work hours or homework hours. It may seem harder than it sounds, but start off with small projects and build your way up.

  • Try learning a new language, check out CodeAcademy (web languages) or CodingBat (java/python)
  • Create an account on GitHub and start creating a portfolio
  • Research/Answer questions on StackOverflow that relate to the fields that interest you
share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.