Category Archives: Uncategorized

Dusting Off the Secret Hideout

Beginnings are the Hardest

Beginnings are the hardest for me, because they set the tone for what is going to come. That is why I don’t introduce myself as a technical person when I first meet someone. I want them to know me as a person that can be technical rather than a technical person. That way I don’t get, “Can you fix my computer?”

The middle is easier because the tone is set and the subject is set.  Just follow the beginning and rest almost writes itself.

The ending can be the easiest of all. What can be said is said, complementing the beginning. Endings are hardest when the middle is not finished.

What is This?

I have been known to write an article not about Java development, but about soft skills needed to exist in the software development realm. This is a professional blog.

There have been personal events in my life that cause the line of personal and professional sides to blur. I am in one of those times. I recently had a loss in my family and it is causing me to reassess everything, and I mean everything, even this blog. I am exploring everything that I have done and things that are new.

I remember enjoying writing and want to see if I still want to do it.  I don’t even know if this post will see the light of day.  After four strong yeses to post this, it has been posted.

I felt like I was giving back to the open source community that has provided so much help in solving problems, from infrastructure like OSes and tools like Maven to code snippets.

I am dusting off the equipment of the secret hideout and seeing if the tires are still good, the lights turn on and if the door even opens.

What has Changed

I look different now, I need to update my picture.  I am surrounding myself with creative and technical people who have no filter.  I know exactly where I am with them.  I feel like I have lost everything so I have nothing to lose.  I am realizing that I creative too and have been my whole life.

What has not Changed

I am still a person who happens to be technical.  I still create whether I recognize that or not.  I still love my friends and family.

What will Change

If this blog continues, it will be about solving problems through technical means.  That solution may not be with Java, so the title will change to reflect that.  It will go further in depth of why I chose the design path I chose.  Sometimes explaining why I chose that path can be more helpful than the code itself.

Endings are the Easiest

This is an exploration of if I want to keep writing.  Several people will read this to see if it is even appropriate to publish.  In the end, I will continue relearning about myself no matter if I continue a blog or not.

Advertisement

RE:Does It Get Boring To Be A Programmer?

This is in response to the post written by Bozhidar Bozhanov, “Does It Get Boring To Be A Programmer?” hosted on Java Coding Geeks. It really reminds me of my career path and how I changed it.

I really programming when I was in elementary school on a TRS-80. Let us not get into the “I had to use tape” discussions please. In any case, the need program carried me on through collage and I graduated with a degree in Computer Engineering. Not only was I a programmer, I was an engineer. I had a license to get paid to do what I enjoy doing was how I saw it.

I am goal oriented so I knew if I wanted to get anywhere I was going to have to develop some goals. I was married by that time so one of my goals was to make sure my work did not get in the way of my marriage. Another goal I set was my career goal. It had to be general enough to fit a number of situations but specific enough to keep on path. The goals I had set kept me in the direction I was aiming but a snag hit along the way.

I had built a set routine in my life of going to work and coming home, going to work and coming home, etc. As the pattern was set, I did something that really threw everything off the tracks, I forgot my goals. Looking back at it, the routine that I had set was really about earning a paycheck and not about what really motivated me. I got my hours so I could pay the bills. That was about the extent of my reasons for going to work. This attitude led me to get bored, really bored. That boredom put me on the path of getting my hours to pay my bills. As one can see, it became a cycle.

The wheels started getting back on track after I got laid off. One of the contracts I was on ran out and no new money was coming so cutbacks were next. I had just blew a deadline so one of the logical choices was me. I really struggled personally as I was looking for work. My goals seemed a long way off now. I was in survival mode and nothing else. The goal of finding work to pay the bills was all consuming. I could never find a position that I was fully qualified for. I got two interviews in four months. That is not a good return on time. I did land a job that paid well under what I was earning in the last job but I had bills. I took the job and started the search again for a job that could pay all the bills.

I developed a habit of following up with every company that I had contact with. This was to keep me fresh in their minds. This habit did land me a job with a company that really has the customer and their employees first. I was getting the bills paid, goal accomplished and more, so why did my career still suck?

The reason my career still sucked was me. I started digging around in my memory to find out why I was fired up when I was just starting and not now. I remembered my career goal, “Solving interesting problems by technical means.” That started the ball rolling from sucky career to a fantastic career. My circumstances had not changed but I started to change.  I started to research different technologies, like Hazelcast, Spring and others.  I wrote my experiences down for everyone to share(blog). This research lead me to do a webinar presentation. I shared my knowledge with the team I was working with and discussed if we could incorporate it anywhere.  In my new job, I am using my knowledge of computer security to meet security requirements set by the customer.  All of this is fueled by my renewed commitment to my career goal.  This commitment has turned into a love of computers that I had back in elementary school with an old TRS-80.  My creativity has soared and with my new found love and professional experience I can design creative solutions to meet customer needs that are practical and sometimes even elegant.

So in direct response to the article, I have found that a programmer can be bored only if they let themselves be bored and loose track of what brought them into computers to begin with.  As for me and my career, I am a born-again programmer.

What Happens When a Contractor Wants to Go Full time

This just happened to me recently.  I have been looking for a job actively for the last six months.  One of the major questions I had were if I wanted to stay in a government contractor firm or go full time in a private company.  With contracting, one knows when is the last day.  On the other hand, I know there is no plan to dump me by a certain date.  That may be too harsh but most contracting firms just do not have the money to keep an employee that is not billing to some account besides overhead.

The Real Problem

One of the great things about being a contractor is that about every five years or so, one is doing something different.  It is exciting and one learns a lot.  The problem with that is you get a Senior Developer with four or three years of this and that.  I have become a jack-of-all-trades-and-a-master-of-none developer.  See where this is going?  I get turned down by companies that want ten years experience on a certain technology.  I simply do not have that kind of experience.  The only companies that get excited about that kind of experience were really only contracting companies with “long term” contracts of six months plus.  I am working on a five year contract that just got a six month extension and I have benefits with that job.  Can you give me that kind of job?  The answer was “No.”

Solution

After talking with one of the many recruiters that I had.  I really enjoyed working with him.  One of the best recruiters I have ever had.  No, he did not land me my new job but I could not have done it without him.  If you are in the market and know Java, please contact me and I will get you his information.  If he cannot help, he will know someone that does.  We worked out a strategy to convince managers that I was worth the risk.  I distilled that talk into the following things:

  • I pick up technology quick – As a contractor, when I get into a new contract, I am already behind.  If I do not understand what is going on, the customer will not be happy.  If the customer is not happy, they may start asking for someone else.  Except for four to six months, I have been doing this my entire career so I learn quick.  For example, when I started learning Primefaces, I made a custom drag and drop interface in a week.  Ask another developer how hard that is.
  • I have seen what does not work – My varied experience is a benefit here.  I have seen what does and does not work.  One may not be doing it the best way possible.  Ask me during the interview how I would do things given the situation.
  • I am cheaper than one thinks – Sure I am asking for a lot but I have never been in a job where software development was my only thing to do.  I have stood up and maintained continuous integration, bug tracking, wiki and software repository servers.  Start doing the math and I am getting to be pretty cheap.
  • I have passion – I love software development.  I like learning the “problem space” and developing a solution to the problem.  I am so eager to learn that I will try different technologies to see what works.  No, I do not have ten years in Java EE, that is because I was fulfilling requirements in the best way possible.

Moral of the Story

In the end, I decided to take a job with another government contractor.  Everything about the job felt right.  However, if one is looking for a Java developer and finds a resume that has a lot of different technologies but not enough of one to meet your experience requirements, do not dump it.  Give him or her a call.  That might be the one that fits the position better than one hoped.