So .. Microsoft doesn't run the world .. by far. And their technology isn't the answer for everything. It couldn't be. I'm not saying they ever said it was but perhaps I was treating it that way. I thought that I was learning a lot of information and taking it in stride but perhaps my learning path has been quite narrow. I have seen some people say they picked one technology and day and night and day and night they hacked away at that one technology and then bam got their first job and this and that. That may not be how we have to operate. I just like having fun. I reached out to a mentor and told them that I feel like I am deliberately avoiding technologies that I find interesting because I'm supposed to be learning C# and the .NET framework. Well, specifically I'm speaking of Android. Yes, Android is awesome. And I just randomly picked it up. Out of nowhere .. it had been a technology I have thought of and definitely acknowledged and mobile development is something that I, at a later time, wanted to pay attention to and perhaps learn. And by mobile development I mean Xamarin ... *gasp* .. who ever thought of not using C#?
What's wrong with Java?
Nothing.
It's another technology ... to pretty much do the same thing that you are doing in C#. C# has different ways of doing certain things ... and I actually prefer many of those ways. I like them and I find many things about C# proficient, whereas Java is lacking. Such as Properties (God I miss automatically implemented properties!) and LINQ. Those are a lot of the time are the biggest features right off the bat you'll hear about C# and Java comparison. Also the way in which Java handles types. There are no value types in Java. But anyway ...
Getting focused on languages is easy to do but at the end of the day the languages exist to get a certain job done and I have been told by mentors and teachers that programming isn't about the language ... it's about programming in and of itself. Languages are just tools to get things done. And if you're a veteran C# programmer .. if you tried Java .. yeah first thing you may say is "Yeah, this is definitely familiar" and then the second thing may be "Yeah, definitely like C# better" .. but then again it may not be. Point is ... the end result that I have observed so far is that there aren't too many things I couldn't do in Java that can be done in C# as far as getting the job done goes. Actually, Java is cross platform and many of its tools are free and open source .. which is actually a big plus for many development environments. Java runs on the server, on the client, on your phone, on your tv ... pretty much everywhere. It is still a relevant and powerful language and I'm going to enjoy doing what I need to with it. Right now that would be Android. Android just looks like a lot of fun and is a very powerful and influential technology that I want to be able to have some control over. Not sure I want to be a "Java programmer" or "Mobile Application Developer" not saying that ... but if you see something interesting ... just do it. Career wise .. my goal is just to be a developer. Get paid (that's the job part) to do something I would be doing even if I wasn't getting paid. (that's the career part) ... So with that I plan on embracing any technology I see fit even in this early stage of my development. That was the controversy and what I battled with. Well I have all of this stuff on C# and the .NET framework and this is what I was going to tackle first and MCSD certifications .. WCF, ASP.NET, ... the list goes on. Well thats not going away ... Java is right next door. I plan on approaching things more broadly. One of my mentors actually said that not only was my pursuing Android a good idea, but that Java and C# are so closely related in similar areas that programming in one would improve my ability in the other. Tools are tools. Being a better software developer is what I care about and I'm sorry but that's going to include more than just one tool.
So that's that update ... looked a little different from some of things you had seen me post earlier. C# gung ho and what not ... still am .. just approaching things differently. So you'll see some Java code, Javascript code, C# code, X code, Y code, Z code, little bit of everything as time goes on. And speaking of seeing code. ..
Codebonanza.azurewebsites.net (later to be just codebonanza.com)<--- that is the future home for articles and code related things ... at least for now. I created that site with wordpress and just wanted to pick a blog/site with a different feel for something more permanent. If and when that does happen full time you will see the last post on this blog to be a notice that I have moved locations. But I am going to keep this blog alive for the days to come to always have an original reference point for nostalgic reflection regarding my development journey.
I am shifting. I am growing. I am becoming more secure and interested as the days move forward. Not just rushing into a job but knowing what you want to do and make it better. Being a well rounded technologist in many domains. Being a specialist. Being good at what you do. Something to cultivate and put work into. That should make most of us proud and we (should) all have that part of us that plants us firm. Technology will forever be my hobby and career but alas, even it is just one part of me. One part of my future. One part of my day. Still, I don't think any of us should have one thing that defines us. Life is too short. And that means its too short for just one thing. I am young and am growing in many ways ... I will be married next year and will have a family soon. The days move on and many parts of me grow, not just my relationship with technology and my career. In the end I am happier than I was yesterday. I just realize there is a lot of work to do in my life. I'm moving there. One day at a time. I am driven. I am confident. Most importantly .. I am humble and eager to learn.
Happy Coding .... no ... Happy Living
No comments:
Post a Comment