Career: Changes

tumblr_m9b9w7boOJ1qftwqwo1_500

Change terrifies me.  Hands down terrifies me.  Always has.

A few months ago I took a phone call from a recruiter on a new job opportunity.  I agreed to talk to them purely because the guy on the other end of the phone is one I spoken to in the past and I respect him.  Over the course of the last few weeks I slowly came to the conclusion that changing  jobs may actually be a good idea.

The problem is that I love the job I currently have and the team that I am with.  The new place offered me options that were better for my family than where I am currently at.  Eventually I put in my notice and discovered that I am a valuable asset to the company.  This should not have come as a surprise to me, but it did.  They gave me a counter offer that leveled the playing field as far as benefits and the family situation.

Now what do I do.  I discovered that when the field was leveled and the decision was purely about me and what I want for myself I froze up.  How do I make a decision like this.  Leaving a place I love, for the unknown of a new company.

Finally I read the following quote from a woman who I respect and has been in the background of my life for many years whispering in my ear, as any good muse should!

 While I realize change can be scary, there comes a time when our “good enough” isn’t “good enough” anymore and we have to leap past our fears with courage and boldness to live the life we want and deserve.

I never quite know what I want out of life.  Even after two months of contemplating leaving, it wasn’t until today that I realized I am making the right decision.  What become clear to me is that if I don’t take the leap to something new I will not grow in the direction I want to.  While the team I am on now is awesome, I feel like the opportunities offered at the new company will help me to grow in my career in a way that my current job will never be able to do.

Saying goodbye to the great team I am with now will be difficult.  But looking forward to whats coming up has me excited to see whats around the corner.

Blogging: Moving Day

As a developer I feel the need to keep a blog with all the little tips, tricks, hints, and notes that I gather as I do my development work.  I’ve been doing this for a few years on the blogger platform and enjoyed my time there.  For a while now I’ve felt the need to move away from Blogger.  I grew less and less satisfied with their tools and the lack of control I felt I had over my blog.

Once the decision was made I started trying to find a new home for it.  I looked around and test drove many different platforms.  Predictably I settled on WordPress. The main reason was simple.  All the other platforms I looked at had great tools for converting your WordPress site to them.  Their Blogger tools were not as well developed.  I decided that no matter where I eventually end up converting my old posts to WordPress would probably be a stop on that journey.

So here I am.  Now to finish converting the 50+ posts over. The text was easy but those crazy code snippets are more complicated.  🙂

JavaScript Tips N Tricks: Learning underscore.js


One of the tools in our SPA toolkit is underscore.js.  It was a new tool that I fell in love with instantly.  It really helps to make javascript code simpler, cleaner, easier to read, and more maintainable. Here is a list of links for learning and reference.

General Knowledge

underscorejs.org
GitHub: Underscore.js
StackOverflow: About underscore.js

Videos

Pluralsight: Underscore.js Fundamentals

Blog Posts

An Introduction to Underscore.js by Dan Wellman
Eloquent JavaScript with Underscore.js by Something Somewhere.
Easy functional programming in JavaScript with Underscore.js — part 1 by Nick Morgan :: Part 2

Books

This book is going on my “to read” list for JavaScript.  I read through the introduction and it appears to have some great information about JavaScript functional programming as well as being a good example of how to utilize underscore.js. Anything with good code samples is key in my world.

Learn the basics deeply

Learn the basics deeply.
Review the complex shallowly.

By learning the basics of development and programming languages deeply it will give you the foundation needed to create well formed solid software.  By reviewing many complex theories shallowly you know what is possible, expanding your toolkit and general knowledge base.

A person only has so much brain power.  We learn new things every day.  Old concepts and skills slowly degrade when not used.  We fill the space that is created when our old skills disappear with new knowledge.  Spending time carefully choosing what that new knowledge will be is an important part of our development as software engineers.

Spend your time focusing on truly deeply understanding the basic fundamentals of the tools and languages you use on a daily basis.  Learn to build a small piece of simple software properly with clean code, unit tests, proper documentation, and a simple clean user interface. Being able to do this will help a person better in the long run than being able to use a single piece of complexity that they will never need again.

Instead of trying to learn a complex piece of information completely, take the time to skim over many different complex pieces of information only studying them as deeply as is needed to understand why they are out there.  This helps you to build up a toolkit to understand what is possible and what has already been done.

When the time finally does come that you need to understand the complex. Make sure you understand the basics of what it is before you try to use it.  Really understand its purpose.