Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you grow as a developer when you're the only one in a given technology at your company? [closed]

Tags:

c#

.net

I am not the only programmer, but I'm the only .NET developer, everyone else works with Perl, Ext JS, and related technologies. I'm primarily self taught, using Codeproject heavily to learn new techniques.

Without any mentors at my company specifically knowledgeable in .NET, I'm unsure whether classes, or online tutorials, books, or perhaps some other avenue might be most effective at helping me to become a better developer.

My goal, optimistically, is to become a developer capable of managing the next .NET developer we hire, or at least to integrate well with him/her.

I'm currently taking on the task of documenting my programs in such a way as to receive review from the more experienced developers at my company regardless of them not knowing .NET, and I expect this will be rather general, but hopefully still beneficial.

Does anyone have suggestions or advice for how to most effectively learn good practices without direct oversight?

like image 892
mlusby Avatar asked Sep 29 '09 01:09

mlusby


People also ask

What makes a successful developer?

The Good DevelopersThey are passionate about their craft and are always looking to do good work. They tend to be disciplined, integrate well with existing teams, and are familiar with development practices, such as Agile development. Good developers often have excellent technical skills and write clean, neat code.


2 Answers

Without mentors around, there are several things you can do to improve your skills:

  • Take classes...especially if your employer will pay for them.
  • Read books. They're the next best thing to a class.
  • Read developer blogs. They may not teach you best practices, but they'll keep you abreast of what's new in the development world. That'll help you keep from falling behind.
  • Courtesy of the Community Listen to Podcasts (Hanselminutes, Stackoverflow, etc.) and watch Screencasts (Dimecasts has tons of good content).
  • Participate in the community. We may seem harsh at times, but you'll hear the most about best practices, coding techniques, design patterns, etc. and different ways to apply everything.
like image 105
Justin Niessner Avatar answered Oct 23 '22 08:10

Justin Niessner


I have always worked like that. My ways to improve are:

  • Reading high-quality blogs
  • Applying what these high-quality blogs recommend (whenever it fits your project and when time allows, of course)
  • Reading high-quality open source project's source code
  • Writing as much code as you can, always keeping in mind what you've learned and always trying to raise the quality bar. Practice does not make perfect. Only perfect practice makes perfect.
  • Keep an eye on stuff that's unrelated to your own line of work. For example, if your main job is coding ASP.NET in C#, read stuff about functional programming, F#, Haskell, other web frameworks like django, Ruby on Rails, etc. I'm not saying that you learn them, just see how things can be done differently. It will broaden your perspective.
  • When you gain some self-confidence: contribute to open source projects, write a blog.

About books: IMHO the books that are highly-technical (i.e. "Buzzword 2.0 in Action!") aren't worth your time. Everything happens so fast that they'll probably become obsolete 6 months after their release. The only books worth buying are those that deal with the underlying CS or architecture issues.

About classes: it's very hard to find high-quality non-university classes that aren't a waste of time/money. Most of the time you can learn faster by yourself. (UPDATE: fast-forward to 2013, MOOCs are an amazing, high-quality, free learning resource)

Also be wary of codeproject, there are lots of articles there with errors and/or general bad advice.

like image 30
Mauricio Scheffer Avatar answered Oct 23 '22 07:10

Mauricio Scheffer