views:

52

answers:

3

I am a junior, lone developer at my company. I have some years of experience in other areas of IT, but I am now mostly in a software developer role. I have generated and maintained some simple-yet-efficient applications for a couple of years now, but I realize my skills are still rough and my knowledge not very broad.

Having coded before in Oracle PLSQL and PHP, I am fairly new to Object-Oriented Programming, using mainly VB .NET in my daily work. I want to learn more about OOP and methodologies.

  • What do you think would be a next step in my learning as a sodftware dev ? I am thinking of picking up some UML and Design Patterns knowledge.
  • Has anyone taken IBM Rational web-based training ? Do you think it is any good ?

This is a major concern, as I have no colleagues or tutors here to learn from. Also, I am not talking about "hard skills" like Java or C#; rather, I want to learn techniques and methodologies that will help me go prepare for a future position in a more "professional" (dev shop) development environment.

+1  A: 

Practice. That's the only way to become a master.

Find opportunities at work to create applications to learn software development paradigms or technologies of interest to you. Come up with a personal project and pursue it.

Trainings? Come on, just grab some simple book on the basics and go. Tutors? There are lots of sites, blogs, forums and even SO at the end of the day to ask all silly beginner questions.

The more practical experience you have, the better you can understand any course or additional material. If you have little experience, many discussions and explanations will sound very abstract and make you fall asleep.

Go and practice programming. Not just read about it.

User
A: 

Imagine reading about soccer in hopes of becoming a good player. OK, you can learn the theory. You can understand the terminology. But you won't be a good soccer player after having read the book. You've gotta do it in practice. If your employer doesn't let you stretch your legs (professionally), then find another company, or join an open source project, or introduce some change at your existing company to open some opportunities for yourself. You can only learn by doing.

Cheeso
+1  A: 

Doing it yourself and practicing, like others have said, is a good idea and it works... but it doesn't necessarily mean that you're doing it right. In addition to what they're saying, good books is a very good idea. Why learn from your mistakes all the time when you can learn from the wisdom of others?

Design patterns books can be good. Lots of people like and recommend Head First Design Patterns (I got it and liked it). It should be noted that if you have very little experience with OOP, then that book should probably be your second book after a good OO Design book. I can't think of any books in that regard right now, as I learned all of that whilst in school.

With respect to the issue of colleagues, I suggest your best bet is to find some online friends that have MSN or something that you can trade ideas/code with. Question/answer sites are good for solutions, but they're not great for sharing ideas and forums take too long to have a simple conversation. I'm in a similar situation as you are (moved across the country and became a sole developer where I work) - so if you're interested: I have msn!

heck: that's an open invitation to anyone from SO. Just comment on my answer and I'll get in touch with you

SnOrfus