Typical Friday


I got handed a bunch of database functions a while back by my customer. He told me to get them to work and deploy them. It was a rush job. I fixed some bugs and got the things to compile. Then I did a few tests and fixed some functional problems. Then I pushed them out.
 
Ever since then, problems have been coming up with the functions and I get pulled in to resolve them. The goal was to hand these functions over to another team to maintain. But the other team is busy and says they know nothing about the business behind the functions. Well neither did I…
 
This past Friday, somebody discovered that one of the output tables from the function was empty. The team who was supposed to assume control of the functions was called in to investigate. They had no clue what the problem was. So I got brought in to make sense of the discrepancy.
 
At first I just came up with the direct cause of the situation. The records in one source for the function did not match the records they are supposed to be lined up with. Therefore, nothing was output. That was not a sufficient answer.
 
Of course this was some type of emergency. The valid output was due to some testers a while back. As a work around, I pumped some test data into the output table to give the testers something to look at. Then I dug in to find what was wrong.
 
The source table with unmatched records was quite small, thousands of records instead of millions. So I tracked down what was the problem. Apparently it was loaded with some test data instead of the real deal. There you go. Problem solved. Now there was a reason that the real data could not be loaded in, but that is a whole other story for another day.

Female Rising Star Effect

I got an invite to connect with a stranger on LinkedIn. It has happened before. Just a recruiter looking to make a commission I guess. I looked at their profile. It seemed new - only a few connections made already. Did not put their full name on their profile. The capitalization in the education section was not uniform. Duplicated some information in the education section. The feeling I got was that they did not spend a lot of effort on their profile.

LinkedIn showed me the notification for the invite. I somehow got to the same profile again. The strange thing different was that the connections were up to 50. It took me a few weeks to get in touch with my network to get 50 connections. Hmm. Very strange. The real kicker was when I checked a week later. This recruiter had 500+ connections.

What was the reason? I thought maybe because it was a female that posted her picture. Because the sloppy profile did not warrant a connection. They also seemed to be shooting in the dark with the invites. Maybe they spammed 10k people, and got a quite 500 accepting in no time. What was the purpose? All I know is that I am not accepting the invite. Why would I want to be connected with this stranger? No apparent benefit to me. Still an interesting rising star phenomenon at LinkedIn.

Configuration Confusion

We had a rush to finish our first delivery for testing. Some guys on the team were staying late until midnight to finish tasks. I was gunning hard to be productive so I did not need to work so late. It was hard. But we finally got our first release ready.

Then the configuration management guy calls a meeting. He said things are confusing. We tried to clear the matters up. Then he uncovered that he does not know where he is going to deploy our changes for testing. There are many other streams of work going on. There is currently no place to deploy our changes. Oops.

The lead on my team pushed this issue up to the project managers. He asked them to sort it out and let us know the outcome. Good job. I imagine there was a task on the project plan to take care of these infrastructure issues. Guess nobody paid attention them until the last minute. Now it is too late. Testing will just have to be delayed.

Luckily this is a huge effort. We only just finished drop 1. There are many more drops to go, and many more months of work left (maybe 6 to 9 months) before we deploy to production. Hopefully we have some lessons learned with this first failure. I am not losing any sleep over it.

Top Skills According to LinkedIn

LinkedIn released a list of top skills you should have to get a job in 2016. Unfortunately none of the top 5 looked like anything I was interest in. At least I am studying up in #6 Network and Information Security. That is a long term effort I am undergoing right now. Maybe take another year or two to become proficient. Hopefully the skill will still be desirable then.


The only other skill I am doing a bit in is #10 Java Development. However I am not engaged in that in a hard core manner. It is just that whenever I need a quick and dirty utility, I code it up in Java. Nobody seems to mind that I do that. It keeps me remotely connected to some of the APIs for Java developers.


It is not like I want to chase what is hot now. Because that list if fleeting. But it is nice to see that some activities I am concentrating on are good for my career.

JawaScript Framework of the Week

I recall about 10 years ago I was on a big project. They had a guy that was a JavaScript dude. He was well respected. I figured I should learn the language. Eventually I got around to taking some classes on the subject. Wrote some browser games in JavaScript. Decided it was not necessarily for me.


Today I read a tongue-in-cheek discussion between a JavaScript dude and another developer who has been out of the web development world for a few years. Poor guy. Check out their discussion here.


The take away is that to do anything small these days, you better know what the latest cool frameworks and tools are in JavaScript. The bad news is that there are a lot of them. And they seem to change weekly.


I am all about learning new stuff. But I would like the shelf life of the technology to be much longer than a week or a month. I don't have time for such radical churn.

Comments from the Peanut Gallery

Some time ago my customer gave me a task to complete. There was some trouble getting clear requirements for the task. I did the best I could but went down the wrong path. In the end, my customer hacked an outline for the solution and told me to get it working. I did and we passed it on to another team for integration testing.


Of course the other team found some problems during test. Immediately somebody came out and asked if this stuff was tested. I ignored the comment. Of course it was tested. There was not enough info to diagnose the problem. I asked the other team to run some steps and send back the results.


The results were enlightening. All of a sudden someone else came out and asked the other team to check the data. I abstained from replying. The other team was livid. They were like WTF? I provided another query to get even more info on the specifics of the problem.


By now we had a lot of info on the trouble. My customer dug in and found the problem with his code. This code is pretty complex. It is easy to get lost in it. Harder to pinpoint problems because it is so complex. Now it is time to ship out this fix.


Only thing I have learned is that many people have a lot to say about problems that come up. Most of it is pretty much worthless. I think I have already grown accustomed to the nonsense and I just ignore it.

TortoiseSVN for the new Project

I am on a new project for the time being. Still waiting to get to my eventual destination. The official source code control solution on the project is IBM Rational Clearcase. This is mandated by the customer. However the team informally uses TortoiseSVN to work with files locally until we deliver to the customer.


Personally I had never heard of TortoiseSVN before. It is a client for Apache Subversion source code control. That's where the SVN comes from. It is taking me a while to get familiar with TortoiseSVN. The user interface is presented as an extension to the Windows shell. That is, you right click on thing in Windows Explorer and get TortoiseSVN menus.


Installation of the product is pretty easier. I just went to 64-bit Windows. So I got a 64-bit version of TortoiseSVN installed. Now I just need to figure out the URL of the team's Subversion repository and I should be off to the races.