Becoming set in your way’s
I have been a developer / programmer / nerd / geek now for most of my life. I actually graduated from collage in 1994; wow that’s a long time ago. Over the years I have hopped around from job to job. There are always reasons for changing jobs some of them good some of them bad. What I have come to realize is that moving jobs has an added bonus yes most of the time you get a pay jump by changing jobs. However there is another side bonus, you get to work with different people and if you are open to it you can almost always learn something from them. You also get to work on a different project and learn new skills or sharpen skills that you haven’t used in a while.
So what do you do if you like your current position? What do you do if you have been in the same job for a number of years and suddenly notice that you have become lazy and let some skills dry up. This is the case I find myself in now. I have recently started to notice that I have become lazy, I code things like I have been coding them for the last five years. I don’t look at the problem and wonder could i do it better, I just assume that this is the way its done because its how I have always done it. Part of my problem is that I am a one woman army, I work alone my projects are given to me and I get to design them mostly how I like as long as it works and its fast my manager does not complain. This is really a nice way to work no stress at all, however its also all on me.
Now I have deiced to set myself a new goal. A mission to try and regain skills I know I have had in the past but have dropped over the last several years.
So for the last six years I have been working mostly with C# .Net. I haven’t really looked at any other languages. I have seen Python, Go, Dart , and Java just to name a few. They all look interesting but I haven’t had the time or wanted to take the time to delve into them because I didn’t need it. To be honest I am quite happy working with C# I can think in C# its easy. However as a developer is that really a good thing? .Net is easy a lot of things are done for you there is a library for just about everything and if there isn’t you can make one. There are examples all over the place so if you want to do something you just Google it and boom you have a solution.
I recently had to create a method for removing bad chars from a string. In this instance there was no standard way of doing it that would preform at the speed I needed. I set about writing my own version. This got me to thinking about being a developer back in the mid 90’s we had to think about memory leaks and size of our code. I tried to remember all of the old search algorithms I had learned back in school and found that I couldn’t remember them. Don’t get me wrong I could remember a number of the names, Bubble sort, merge sort I could even remember the concepts of how they worked, however I couldn’t for the life of me remember how to turn that into code. I started to get a little upset with myself. Has it really been twenty years? Have I really allowed myself to forget these skills?
So to start my relearn lost skills mission I am going to start by going though all the search algorithms again and relearn what I once knew.
Insertion sort is a simple sorting algorithm that builds the final sorted array (or list) one item at a time. It is much less efficient on large lists
Now for some code
Honesty: This took me two days 🙂
As developers we need to remember that time does go by. We need to not only try to constantly update our skills but we also need to remember not to loose old skills. I know most of my posts are on Google development, however for me most of my posts are actually here because I want to remember them myself.
I challenge you to find some skill that you either don’t know or have forgotten and work at it. Keep yourself up-to-date!
I guess the question is now should I try and turn that into a Java version?