Thursday, June 23, 2016

Xamarin

First off, I just have not had time to write lately, sorry for that! Other priorities came up....just as life goes....
So I wanted to write something short about C# and Xamarin.
I've been working on Vanilla JavaScript for last few months. I enjoy it tremendously, however, the job market here in the Midwest does not follow the trends of the rest of the United States.
So it looks more and more like C# is where I need to be, or at least the .Net framework in general.
I've wanted to develop android apps for awhile now, but haven't dove into it purely for the investment of time in Java.
Coming across Xamarin changed all of that mentally for me. So the short snippet of Xamarin from me.
Xamarin let's you write native apps in C# cross platform. From the outside in it looks pretty easy to program cross platform for Android, iOS, or Windows.
Most people will benefit from already knowing C#, this is where I'll have to dive back in.
My plan is to continue on JavaScript, as well as work on C# on the side.
Short term I'm looking to get an app into the playstore. I plan on continuing to work on JavaScript while I gain experience in .Net platform.
There is a ton of great books out there, I know at a glance I liked the one below. I have not made a decision yet on which one I intend to work through when I am ready for it.


Sunday, June 12, 2016

Parkinson's Law

I've been following John Somnez (sp) on his youtube channel lately (Simple Programmer). I highly recommend it if you like listening to tech, business, or self development as background noise.
He talks in several of his video about the idea of Parkinsons Law, which essentially is that a project might actually take X amount of hours. If you allow it though, it will take all the hours.
Focusing in on a projects is how I have been successful and gotten several of my promotions.
My current Store Manager likes to boast about how fast he was at building a display, or finishing a task list. He may be dead on, but I prefer to work smarter not harder. Many times the task a hand is mundane, and seems like there may not be a "smarter" way to do it.
This to me is where Parkinson's Law can apply dramatically. I can focus on a project to get it to completion. This is not to say I lack multitasking skills, it is simply a different approach to the same mundane problem. Working in retail, I get dozens of things thrown by me constantly. It is really easy to let one of those side step you for 5, 10, or even 45 minutes.
Emergencies are always emergencies. They will come first, but usually you can take those dozens of things and set them off to the side as later "to dos".
So applying all of these theories, traits, and trains of thought to programming, I believe I can become much more accomplished in self studying.
For example, last night I finished writing some JavaScript code that made a form unable to be submitted without being filled out properly.
I have touched this form three times. The first time I actually made it. The second time I added a utility file to it to shorten some parts of the code. Well when I added the utilities file it wasn't working. Almost as if the Submit button wasn't firing.
Dropping in console.log () everywhere allowed me to see where my program was dieing off and hone in on it. I eventually got it working and fixed it.
Knowing that when I added the code so it couldn't be submitted without being filled out had worked, I was tempted to move on. I had looked at the code before to fix it and gave up.
I was approaching that time line of the night where I was really wanting to exercise, shower, eat, and go to bed.
I thought about self progression and how me taking the time to figure it out would be as valuable as writing the original code. I told myself that I could fix this in 30 minutes. I did not allow myself more time, and was determined not to give up again.
Low and behold, I fixed it inside of my 30 minutes. It worked and I got the end result I wanted, being able to move on with my night, and a feeling of self accomplishment. Small win, however reaffirms things you may be too timid to truthfully consider.
My main point here is set goals and deadlines for yourself. Be honest with yourself. You know you only have 30 minutes, so do it in 30 minutes! 30 minutes of work should take 30 minutes of productivity, not an hour.

I cannot end without suggesting something to help you. There are loads of ways to stick to deadlines, and motivation is needed for those. I came across this book and thought it was pretty cool. Some of the quotes are thought provoking that leave you lingering all day in a pool of wonder and excitement. These quotes are fun to share with others, and can keep you going when you are unsure of how to proceed. If you decide to pick it up, I hope you do as I did and pass it on to someone else who could use it in their life as well.
 

Wednesday, June 8, 2016

Being Well Rounded

Being a well rounded developer is an important tribute. Being able to know multiple languages, API's, and technologies in general can make you a huge asset to any company.
In fact, the more well rounded you are, the better your salary and job security (usually).

This thought and tribute carries over harshly to soft skills. Soft skills are something that we all must work on regularly. We as a society change over time and our interactions change along with it. The interpersonal communication skills we had even so little as 10 years ago is drastically different. Ironically the advances in technology is partially what brought us to this.
There is also something to be said about societal norms that we have allowed and changed over the years, some for better and some for worse. I'll leave that for another time/post though.

I find that the more diversified I become in skills, the easier other things come to me. Imagine a world where everyone could learn easily. We could spend a week learning to paint, a week learning to code, and be masters of both inside of a month. This is not so though, developing skills takes time and effort. Some skills take a life time to even come close to comprehending the basics of. Others take near no time at all to gain a bountiful understanding of.

Diversified doesn't mean master of all the skills you'll ever need. Usually it means something like you can dabble in several different technologies, not that you are at a senior level of understanding. I like to try my hand at different things. I have a wide range of skills that include everything from programming, to working on cars. I have a degree in Automotive Service Technology, Business Administration, and Computer Programming. I'm all over the place basically.

What does one have to do with the other? How does me replacing struts on my fiances Explorer, or trekking back into a river bed to go fishing, or writing JavaScript code relate? They are all beneficial and circle back around to each other in a couple of different ways.

First off, having all of these skills makes me more of a well rounded person. This means on an interpersonal level I have more connections with every single person I encounter. Having a connection can be imperative to make someone feel comfortable. Being comfortable breeds trust and honesty. If you are timid around someone, you will naturally feel less inclined to be honest as you trust the person less.

Secondly, each skill you learn will use a different part of your brain. I'm not implying this will make you smarter, though that may be a side effect. Using a different part of your brain naturally will make you a better learner.

When learning its easier to relate to new skills from ones you already have. Take drawing. If you draw constantly and are good at it, lets say even mastered it, you should have a good skill of holding the pencil and drawing curved lines.
I would be willing to bet if you were already a master of drawing and you wanted to learn a new skill that requires similar attributes, it would be much easier to learn. Something like calligraphy should be fairly easily picked up.

Remember that there are hundreds of facets to the thought of being well rounded. Its not everyday that you need to be, but when its needed and counts, it can separate you heavily from the others around you.

I do have a book to recommend for ALL programmers out there titled Soft Skills: The Software Developer's Life Manual. Lets face it, most of us cannot cope with the thought of looking through the new set of eyes that we so lovingly have named "soft skills". This book is written by John Sonmez, I have watched hours of his videos for advice, and information. This is a great book for anyone, even those of us who have acquired some of the skills necessary to check off "soft skills" on the list of items needed to get a job, or progress in the one you already have.

Friday, June 3, 2016

A Self Disciplined Path

Like many nights, tonight my fiance and I planned out our night. Go to the store for fruit, pick up something quick on the way home, eat, clean a little, program/study, exercise, then bed.
So many nights this plan gets skewed by some chaotic random thought of fun over discipline.
I do believe if you keep some structure in your personal life that when you allow yourself to let go, to have a lazy day, not only do you appreciate that lazy day more, but your also get a sense of relaxation. You get that self aware "it's ok to be lazy, nonproductive, and eat junk food" feeling.
If your disciplined and structured through out your week, you will in some fashion have accomplished something on the productive part of your life. By the way, if your goal is to BE lazy.....A. I'm not sure technology is correct for you, and B. You need to re-evaluate your goals day to day, week to week, and long term. Anyways, if you have been productive, you can look back with the goals you accomplished in sight and know that you really earned this day off from everything.
So we hit the store, got home, and ate. I always eat faster than her, though I was anxious to jump into my next to-do, I waited for her to finish.
When she done we got up and began cleaning. We got done cleaning and I gave her the choice between my exercise first and programming first. She chose programming.
When I program she can watch TV or a movie or something of the sort because the only real annoyance is my keyboard clicking away.
However, when I exercise I'm a bit louder. So you might be thinking I grunt or yell or something that you might hear in some muscle bound guys garage benching 500 lbs each rep. Let me put that mental picture to ease. We are talking about a geek here....
So touching back on the lazy/free day, if I just sit and play video games I feel guilty. Like I'm wasting time when I could be productive growing myself. However I love video games like most geeks/nerds.
A couple years back my fiance wanted an elliptical for valentine's day, so I found a fairly cheap one.
As it turns out, she doesn't care for the elliptical as much as she thought she would, but it makes a pretty good exercise bike.
So, to satisfy both my requirement for exercise, and my want to play video games, I drag the elliptical in front of our tv, and just peddle away while I play games. To some the multitasking element of this seems daunting and not enjoyable...but honestly...it because so muscle memory ingrained that after awhile you don't think about the peddle as much. You peddle hard and your hard rate still climbs, but it's much less mentally exhausting because you are focused on video games.
Now back to the loud part...I've been playing Rocket League a ton lately. For those of you unfamiliar with the game, it's soccer (or futbal depending on what country your in) using cars/trucks with rockets that allow you to fly through the air. Apparently this game evokes something loud and primal in me, playing with my friends/family online doesn't really help. There's lots of "I got it!" "Shot" "omg what the heck was that? Bahahahaha!!!" going on, and it gets loud and pretty intense. This fits perfect for working out.
So I wrote some JavaScript for awhile and she turned on Netflix to watch. I studied for an hour, then switched an exercised for an hour.
This was a productive day for me. Though I try to be productive everyday, I don't always get time for all of that. However making time to do your productive disciplines leaves you feeling accomplished. Hearing the voices of praise from the loved ones we surround ourselves with is great, encouraging, and can help you through difficult times. Being my own biggest critic brings a whole new life to the feeling of accomplishment you get after a productive day.
I leave you with this, I know that sometimes it's hard to go after your goal, study that extra hour, or order that small soda instead of the super size. There is no force known to man that can make you do it though. It is all up to you on what you choose to do with your time. Guess what, we have a limited amount of time.
You will eventually thank yourself for living with some discipline in your life.

If you have not played Rocket League, do yourself a favor. This is one of the few games I feel could easily be worth $70. I've spent more hours playing this game than I did on Fall Out, Witcher III, and Skyrim combined.

Wednesday, June 1, 2016

Lost in a Sea of Options

So I have been working on JavaScript more the last few days, 20 min here, an hour there, any amount of time I can squeeze in at my computer.
The more time I spend with JS the better I feel I become at it. "No duh" might be your initial reaction, but I've felt so overwhelmed for so long with programming in general that many times I consciously know I'm getting better or more knowledgeable in a language, yet it doesn't bring along with it the feeling that I actually am.
Both sides of my brain have times to be very active, one side telling me the logic and even truth, while the other evoking the feeling of what's going on in the heat of the moment. It's like waves of two different oceans clashing, both enormous powers with very different motives and end goals.
Not to say my brain is an enormous power, rather an untameable one in which its hard for me personally to control, change motive or direction.
Within all that, I feel motivated, so motivated I've let exercise slip. I was working out 1-2.5 hours 6x a week. In the last week it's been more like 2-3 hours total. Yikes, need to up my game on that.
Anyways, as I learn more JavaScript I think thoughts of "Yeah, I could write this for a living." With each thought of future plans it urges me to apply for more programming jobs.
Finally we arrive at the reason behind this blog. I look through applications in my area and job openings for developers. I see a wide range of wants from employers, some employers posting "entry level" but requiring 3-5 years of professional experience. There should be laws preventing the use of "entry level" associated with any required professional experience. I can hear the rhythmic chiming in my head of myself trying furiously to get an automotive job years ago, "How do I get experience if no one is willing to hire me without experience." is the old conundrum we are used to hearing.
It still holds true today, in programming, the difference being I can build my skill a little easier on my own.
As I look out over this vast desert of wants from employers, I've noticed over time there are several redundancies in their wants. I have even mapped them out before, this allowed me to see a recurring theme of SQL, C#, and JavaScript in that order. Each one is drastically different from the next in terms of number of available jobs...
So....do I jump ship from JavaScript to take on C#? It's so easy for advanced programmers to say things like, just pick your favorite language.....to someone like me, they are all virtually equal in the aspect of which I enjoy writing/learning.
It's also easy to say, well if C# has more openings go for it. This actually seems like an obvious better choice, there's something in me that can't let go of the thought of stopping halfway through this JavaScript book that makes me feel flighty, like I gave up on JavaScript, quit it.
While that would not at all be true, I know that feeling would creep in on me like the first vibrations riddling through your body of a psilocybin high. A terribly raw and real feeling all at once. Something that is inescapable and indescribable.
I think for my own personal goals my path lies before me true and straight. Finish the book. See where I'm at with programming after I'm done. If I get the sweet affirmation from myself that I desire as hard as a fat kid with cake in one hand and soda in the other, then, and only then, will I allow myself to move on to a totally different language.
When I am ready to move on, I plan on moving on to one of the following books;