Coming into Focus with Web Applications and .NET

Hi All, This blog is all about getting you up to speed with some interesting technologies from a newbie perspective.  Well, I am not exactly a newbie but being self taught currently I want to give all of you some tips and tricks for handling different software situations and somewhere along the way I am sure we will all learn something.

 

My name is Justine and I have been programming in the software world off and on for quite a few years.  I took many years off to raise kids but I never lost my passion for learning the latest technologies.  Crazy Huh, Yea, that’s me.  At times I cannot get enough time in front of my computer and other times I want to throw it against the wall.  I am sure we have all been there.  Just a bit of background on me.  I went to school at University of California, Davis.  Loved loved that school.  It is beautiful and rustic and oh so close to Tahoe!  I was unable to get accepted to the Computer Science Dept so, like most people,  I went in the back door, the Math back door that is.  I had the pleasure of meeting some incredible Women in the UCDavis Math Department including Dr. Abby Thompson, Dr. Angela Cheer and my advisor at the time, the most incredible Dr. Evelyn Silvia.  Dr. Silvia took me under her wing and taught me that passion about anything will bring you much further in life than just skirting the C.  Dr. Silvia would fill a room of confused kids with laughter, passion and creativity while blowing everyone away with her elegant teachings.  She is no longer with us but I am truly blessed to have had her in my life.

 

Embracing Technology!  What does that mean?   No, not how fast we can text, how many followers we have on Twitter or how many posts we have on Facebook.  The technology to build world class web applications is vast.  When diving into this type of programming after any kind of absence, like I did to raise some kids, you can find yourself overwhelmed.  How do you know where to start and what questions to ask?  Well, I felt this way at first but determination soon took over and I might not have asked the right questions to begin with but with each question I built my own tree of knowledge with a stronger trunk so the branches can be healthier as time goes on.

 

Here is what I mean.  When starting out try these steps first.

 

Get on Twitter.  There are some experienced people that write these technical blogs that will help you understand what is going on with the latest technologies.  I have met some wonderful men and women on twitter and we have so much in common because each of them is still learning.  They will help keep you passionate about the direction you are headed.

 

Get off the Facebook.  Well, I am still on FB but I really don’t spend a lot of time.  Time is productivity and each moment will help you to absorb all of the complex material you are going to be reading, coding, watching, and talking about.

 

Check out Pluralsight.  I pay $49 per month for all of their webcasts and I can download the code and webcast transcript.  Best 49 dollars of my week.  If I decide to only code during the day, then I am free to watch the web casts in the evening instead of catching up on the latests Survivor episode:)  PluralSight has so many great teachers that not only will you learn the specifics on what they are teaching but I am always mindful of the tools they are using, the techniques they are employing, and the best practices and design that they use.  For example, Brian Lagunas might be teaching you how to program MVVM with Prism but his way of organizing his projects gave me great insight especially because when learning to code web applications, it seemed to me that the first few months, if not years, are learning to code frameworks using some complex design and architectural patterns. Also, while Julie Lerman is teaching you Entity Framework, you get a great insight on unit testing as well.

 

And that leads me to my next topic.  You need to know the following techniques and design patterns:

  • Singleton
  • Factory
  • Repository/Unit of Work
  • Dependency Injection
  • How to program to Interfaces
  • This is a good start but there are so much more as well.

 

Pluralsight has some really good videos on design patterns.  I would do the code along with the webcast, then I would write note cards so I could study anywhere, anytime.

 

It might take you several times to implement these patterns and strategies but it will be well worth it.  When I started programming .NET I would start to build a large web app knowing exactly what I wanted it to do but because I did not employ these smart techniques I had problems.  Problems with circular references, problems when trying to test, many problems.  But each failure was a success.  I at least knew what not to do.

 

There are so many good people that actually take the time to answer my questions.  Stackoverflow.com is a great site but do your homework.  See if you can find the answer first, then post.  People won’t give you your code solution on a silver platter but they will start a dialog with you to help you uncover  why you are having the problem.

 

By embracing those around us who are willing to help us get past our hurdles, we can use these teachable moments to pay it forward and help others understand the elegance and fluidity of software design. 

 

And lastly, because software design can get clunky, especially Microsoft, do not fear what you do not know.  As my friend Cori from Twitter said, don’t just lean in.  Jump in!  It is a lifelong journey and one that can be rewarded with creative projects and a steady job.  And most of all, Have Fun! @SapphireGirl10