Interview Candidates

We need additional developers on staff to try to do more work for the customers. It has been difficult to attract qualified candidates to interview. However our recruiters recently found us some hot prospects. I made a trip to headquarters where they invited a number of candidates for our open requisitions. There were a number of interesting characters there.

The first guy I met seemed smart. He had a PhD with a high GPA. However I had some trouble communicating with him. He had this heavy accent. Luckily he worked for a company I previously worked for. I made some calls and verified that, apart from the communication barrier, this guy could get work done. I recommended a hire for him.

Next I talked with another guy with an accent that I could understand. However I was a bit surprised that the guy did not even have a tie on. He had a short sleeve shirt on. I saw that he had recently changed jobs, and was looking to switch again. The core problem he explained was that he was not working on something that was interesting and challenging. I was concerned that the guy would not be interested in our work. No hire for him.

I then interviewed another guy. He was adamant to show me his code samples. They contained some clean C++ code. He told me he was proud of that code. In fact, that was the culmination of his career so far. There was only one problem. He did not have the experience we need on our team. However he might be a good fit for another team at our company.

Finally I met with a guy I had already spoken with. He knew the answers to almost all the technical questions I posed. So I went even further and asked him a more difficult question. He was able to breeze through that as well. To me that screamed a must hire. My boss was concerned that the guy did not have experience with design. Who cares? We need hands-on guys like this.

Schedule and Design

My team lead told me we needed to start designing some big changes to our application. He said we needed a design document by the end of the month. Since I had been surprised before on such changes, I decided to consult our project schedule. That is where I found out we were one week late on this design work. And the design doc was not due at the end of the month. It was due in a week.

The requested changes affected a number of parts in our system. Many of these parts are the responsibility of other developers. Like any senior developer would do, I reached out to these developers and warned them of our upcoming deadline. Then I also took the lead and said I would come up with the first cut of an interface between our subsystems. I picked out those requirements which caused the application I manage and the other parts to need to communicate. Then I started making design decisions,.

Here is what I found. The design work is actually fun. We are in a maintenance mode. So we sometimes spend a lot of time fixing bugs. This was a nice break to actually work on something new. Sure it needs to work with the rest of the system. But it was still very fun work. The really good news is that I have established the design of the interfaces between the subsystems. Now I can concentrate on the parts that are specific to my application.

About Real Programmers

I read this opinion piece about "real programmers". Apparently real programmers write code in C++. Being a C++ programmer I could not argue about that. I also read that Java and COBOL programmers are just drones. That seemed a bit stereotypical.

Then I found out what this "real" label was about. It was not a language thing. It was more about the programming choices you make. Apparently a real programmer takes the difficult path.

Real programmers don't maintain code? Yeah right. Here is a funny quote. "Real programmers don't make mistakes." It sounds more like real programmers don't admit to making mistakes. That sounds real stupid. Yeah, the pun was intended.

Hey. I don't have any problem with some people thinking they are real programmers. Most programmers think they are the best anyway. But it is good to agree upon definitions in the software development world. I don't think we as a profession are going to be able to define which types of programmers are real or not.

Unemployment Numbers

Recently I saw a report stating that unemployment had risen to 8.5% here in the USA. Those are some depressing numbers. It may get a lot worse before it ever gets better. This is definitely a recession. If we get to 20 or 25 percent, we shall have crossed into depression.

What is the effect of the software development industry? One thing is for sure. Job listings for developer positions have been shrinking. Luckily my company is hiring. However it looks like we are being extra picky at the moment before we hire somebody.

Personally I would not want to be looking for a job at the moment. That is all the more reason to stick with my current project. It is also the basis for trying to ensure that even if there were some layoff, that I would be one of the last few to stay on board. This happened once before on my project when the prime contractor worked on slowly eliminating a subcontractor.

I keep my ear to the street to see what other developers are saying about the high unemployment numbers. Some say that companies will require less workers to do more work. There is talk about possible pay cuts in the industry. What are your options if you are laid off? You might try to go into another field. But that field is probably hurting as well. You could launch your own job search site. That reminds me of one important warning. Beware fake job sites.

Distractions

I have been working on my project for almost 10 years. There are a lot of people in my customer’s organization that I know. Having been here for a long time, I seem to have gotten onto a lot of email distribution lists. Most of the time, the information sent from these email lists is not required for my day to day operations.

Here is something I have found. Many of the emails from the customer are encrypted. They are slow to open. Some of that may be due to the fact that I am remotely connecting to our customer’s network over a VPN. Whatever the case, I find myself spending a lot of time opening these emails to find they have nothing to do with me.

My normal workload has been growing now that we have more work and less people on our team. Management says they are looking to add more people to our team. For the time being, things are chaotic. I did figure out a way to work smarter. In Microsoft Outlook, I just set up some rules to filter out the email coming from the mailing lists I am on.

My customer email rule just moves email automatically from my Inbox to another private folder. Nothing gets deleted automatically. However my Inbox is cleaner, and so is my schedule. Every once in a while I scan my private folder for subject lines which look like they are meant for me. If there was a true emergency, I would get a call.

Now the trick is to find out how I can identify and implement other time savers at work. A little change can go a long way, just like my custom email rule filter.