Thursday, May 29, 2014

Update and more learning materials

Of course I can't begin to say how greatly impressed I am with Pluralsight and I am very happy to be a customer. Some do say that books don't help them learn. They actually do work for me and I think that they are great supplements to self-education. You hear a lot that even seasoned developers (and IT professionals - because I am one of those) should be reading a technical book every month. And there was some statistic floating around that 90% of developers read only one or less technical books per year. I can't give solid evidence to that statistic but I understand why it's important. It's not really that you have to learn comprehensively from a book or that a book a lone is going to teach you everything you need to know about a certain technology but, at least for me, books are a great way to get introduced to a technology. I just prefer a more intimate and professional experience. There are plenty of articles and free tutorials about certain technologies but of course I love spending money and supporting the developers who work very hard to provide this material. So with that, Pluralsight has been such a great way to see examples of principles and concepts put into action. Reading is great for me and there are even examples to follow along with in the books but to see a programmer go through the steps while talking about the technology - that's just effective. But I do also see Pluralsight as a supplement for my self education. You still have to do some heavy lifting by reading more in depth material on exactly how something works and just look at it on a page and then of course opening up Visual Studio (or your editor/IDE of choice) and start playing with it! I wish my impostor disorder wasn't so strong sometimes. I wish I would have developed more patience and discipline as I was growing up. Well maybe this journey is making up for it. Because the amount of patience and discipline I'm having to learn and exert is overwhelming. Things don't happen. Look at your phone right now. That didn't just happen! A lot of users may go look at a website ... you log onto Twitter every day.. and it could really look easy! It could look ... just essential! But when  a developer see's a new project and is impressed ... you already know what kind of hard work, discipline, and sacrifice went into creating what you're using. That's something worth working for. That's something worth contributing to. That's a real job and a real calling. The power to create and understand. Technology really is more philosophical than it is technical. So when I think that I don't have what it takes .. I'm reminding myself that my first blog post was April 12th .... it's May 26th. Someone tell me to shutup! I can't even use Git yet. I'm learning source control now. I'm digging into code. I'm frustrated trying to make sure every minute is utilized wisely. When I watch a Pluralsight video and am amazed at how the code flows so fluently....and then I hear them say "I've been in software development for 27 years" ... yeah I'm on my first half ass year(learned JavaScript and HTML/CSS in summer of 2013 and took a web development course/second real month. Plus I'm in College, something that others don't have at their disposal. So yes, the struggle/motivation is real. It's not really about what resources are at your disposal but how you utilize them. I don't have any huge projects right now because I'm spending hours making console applications learning the language internals of C# ... eagerly making my way through ASP.NET MVC and then to Client Side MVC... then later on I hope to have some great things being produced and maintained for my portfolio as well as other clients.

So yeah ... it's going to be pretty crazy looking back on this blog after a year. Because I'm confident that I will say "Yeah, there was nothing to worry about. This s!@# takes time, dude." Anyway I'm having a blast and love writing way too much ... this is because I talk too much.

So lets get on with the second part:

Education is good m'Kay? We have all these resources available to us and know which ones work best (as stated above) so I'd like to let you in on a series that you may find very helpful. This series has great reviews all over the web, including Amazon and I am finding very useful because of how comprehensive it is.

So I use Pluralsight and as for C# I have been reading a book by John Sharp called Visual C# 2013. While watching courses from the Amazing Jesse Liberty, Scott Allen, and Dan Wahlin - this book has broken everything down to it's core and has explained concepts one right after another and I have found that's how I learn best so I would recommend books from this author. I looked for the author of this book on Twitter but couldn't find him.

So a great series to check out is the Apress Professional - Adam Freeman.

This author does provide an extensive collection on books from the fundamentals of programming (HTML5, jQuery 2.0, JavaScript, C# 5.0) and then moves to frameworks (ASP.NET MVC 5.0, MVC Client, Angular JS)

I own both Pro ASP.NET MVC 5 and Pro Angular JS.





 He starts with introducing the technology and putting it into context with its uses and history and then jumps straight into building an application. And of course if you're new to the technology, you have no idea what's going on. But you go through and see how this application is built and then he goes into exquisite detail about how each component works and why you did what you did. After learning about how the application works by using the fundamentals of the language or framework, you then go into learning in detail about each concept he just explained. (Routes, Controllers, Views, Directives, etc.,)

I'm not sure if what he does this in every book but in these two you actually build the same application. And of course that's amazing because you get to witness and take part in building the same application on two different languages/platforms. And at least to me that's really engaging and effective. Because as a software infant I don't know where my loyalties will lie. I know that in this economy you need to know as much as possible and be willing to learn and expand your knowledge constantly. But everyone has a place they belong. Will mine be backend or frontend? Client side like Ember, Angular, Knockout? Or will it be C# ASP.NET and Ruby on Rails? I don't know where I'll end up. But I know I won't regret getting there.

Because I'm going to take a piece out of each book and experience many things along the way. Development is a craft. Things were kicking in until I really started thinking about it this way. Like a blacksmith, woodworker, mechanic, musician, this world is a devotion and a craft. It's almost artistic. It's not something you can read a book on and then get an exam and go clock in. You have to live and practice, honing your skill, almost like an art, to make yourself better everyday so that you're developing the highest quality product possible for the world. People are using what you do. They are relying on what you do. You couldn't do anything but breathe and drink water if it wasn't for a computer program. This is our world.

And I plan to master it.


 class SeeyaLater!
    {
        static void Main(string[] args)
        {
            string farewell = "Happy coding everyone!";
            string Farewell = "Until next time!";

            Console.WriteLine("{0} {1}", farewell, Farewell);
        }
    }
}

Sunday, May 11, 2014

Well, it's been a month.

EDIT:
I may not be with WordPress. I will keep you updated. I am looking at .NET options after I had to go back on a few things within my research. Please reach out to  me if you happen to read this within the next few days.

*DotNetNuke

*Orchard

*Umbraco (probably not) ... ok scratch that


Alright so I’ve gotta get real. I’m tired of sucking at blogging. I have been using somewhat more of a diary and not really something that contributes value. So we’ve learned that I probably should keep some kind of alternate journal to organize thoughts and then actually think about what I want to publish online. So yes, I am currently watching a Pluralsight course that is available free called Get Involved! It was put together by Rob Conery and Scott Hanselman and it is a really awesome way to see how to get your voice out there and socialize amongst the community with blogging and Twitter, GitHub, and of course Stack Overflow. It’s got great insight from people who have been blogging for a long time. Jeff Atwood gives some insight into what it takes to have a successful blog. I would definitely advise to listen to whatever that man has to say. So yes … it’s been a month since I said I “officially” started learning C#. I’m trying to focus on how much time I’m spending and what I’m doing when I spend time on my computer to really maximize results and be effective. Because time isn’t something that I have an abundance of. I have school and work and it has been distracting because all I can think about is coding. I have to remember what other things I like to do as well. So I have watched several courses and I am reading a wonderful book by John Sharp from Microsoft Press called Step by Step – Microsoft Visual C# 2013 and it has really helped a lot of those concepts sink in. C# is an extensive language and is the heart of the .NET framework so there is a lot to learn because it is utilized everywhere. Data types, Object Oriented principles, and … Razor! Yes, I’ll get to that. I know that at heart I’m a web developer. I really like learning C# and I really do want to be very good at using it for a number of projects in the future. But there is nothing like seeing a pair of anglebrackets and a DIV in action! ß Kidding. But yes, I love learning more in depth OOP principles and C# seems like such a useful and powerful language … but I know honing my programming skills is going to be utilized on the web. So that brings me back to Razor. Yes the wonderful view engine that I have been mesmerized with. The whole thing … I know that ASP.NET is a perfect place to start in my career. I wonder about how everything all works together and right now I am having a blast. I don’t know about what the future holds but I’m still on the .NET train for today. I love having AHA! moments. Every line of code I write and everything I watch and read helps all of these things come together more and I really like to see that happening. I learned the basics of MVC and I am really understanding the MVC structure and how these things work and my face lit up in awe to see a URL be mapped to the Actionmethod of a controller. Seeing how to create a consistent layout and maintain its usability throughout an entire application, and how to generate new content throughout the application using Razor markup – C# code directly in use with HTML. Keeping concerns and responsibilities separate and emphasizing convention over configuration is definitely how I want to do things. Well yes I am learning … but not enough doing. I have a lot of open projects that I am doing but it’s time to implement those. This is the last kind of diary post I will ever do and I will probably be the only one to come back to this again but I am thinking about a CMS to go with for blogging .. at least for now. I am going to post relevant information about things I have learned and show examples of that information. I will continue to update of course on live projects. I got the opportunity to work on my first professional site as an amateur web developer. This opportunity came from a very good friend of mine who agreed to let me create a site for them, advertising their hair styling business. This is exactly the real world opportunity that I need for a resume and I have other people that I’m talking with who will let me do the same thing. Very excited for this. But yes, going to start out on wordpress or DNN and just create and create as much as I can. Still have to work, still have to go to school, still have a young family, still have stress, and still have life. This is just one exciting part of it all.


Farewell Blogger.


EDIT: Again...

I'm still using Blogger. I do have a Wordpress set up and am building my own system with ASP.NET Web Pages ... but this is just going to have to work for now. I don't really think that I'll get rid of Blogger. I mean, I like Google. And there is a lot you can do with it. Oh well. I will do random stuff like this like mentioned above but I am doing things that will be strictly technical. They will be meant to teach. Right now I'm writing a post on how C# implements Interfaces and Abstract Classes ... coming from JavaScript 101 ... this concept has been mind boggling. I have learned a lot and it's time to share things I know while I'm coding. 






string farewell = "Happy Coding";













It's been a long time.

All I can say is wow. I’m not good at blogging because when things are good you find yourself wanting to speak your mind and share these things. But what about when things are not so good? What about when you’re going through something outside of this digital life and you shut yourself out? I really think that if I would have started writing my thoughts sooner, then I’d be a lot better off. It helps me more than anything. And I need it because I’m concerned with how fast thoughts in my head move. Sometimes it’s like a whirlwind and it’s hard to keep up. Well this is the end of the line for that. I know that life happens and we’re all busy but I need this blog, I think. Because it’s going to be in the future that I look back and see how I thought and what I said. And that’s how I’m going to know how much I’ve learned. So to anyone who is reading this, ignore the lapse in time. One thing I can tell you is from the last blog post to this one ….. I have learned so much. Now in the next post…we can get on with the show. J