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.

Staying Current in Technology

Today I registered to take the CompTIA Network+ certification exam. I got about a month and a half left to prepare for it. Currently I am reading a study guide which is not too good. I want to get through it to see if there is anything I can learn from it. Then I move onto a bigger and hopefully better study guide.

This certification is the first on my road to becoming a certified ethical hacker. I want to join a project at work. I talked to some guys on that project. Asked them if there were any credentials that were worthwhile to achieve to get ready to work on their project. They said only the certified ethical hacker.

CompTIA will certify you. But your certification runs out after a few years unless you keep it current. There are a lot of ways to earn credit to keep your certification current. At first I thought this was just a scam to let them make more money off you. That may be true. But the techniques to stay current seem like they are worthwhile.

Here are the things you can do after you earn your certification to qualify to renew it when it expires: get another certification, attend a workshop, publish an article, publish a white paper, write blog posts, write a book, attend a webinar, attend a conference, complete a training course, complete a college course, obtain work experience. There are a few more options such as teaching or creating material for a course.

Those all seem like good ideas to stay current in general. I think I should have no problem keeping this certification current perpetually. Just need to log my progress in learning and I should be good to go.

Cogs in the Machine

This year I think I am finally off the big project I have worked on for the last 15 years. That was quite a run. Now that I have jumped around to a couple teams, I am seeing a different dynamic on the folks that work a project.

When I first joined my long lasting project, there were over 60 people on it. We were broken down into assorted teams. But if you paid attention, you pretty much would know everyone on the whole project. Might not interact directly with each one. But you would at least know them.

After a while, the project downsized a couple times. The steady state seemed to be 40+ people. Upwards of 45 team members. I still knew just about everyone on the team. Then I branched over to a future project that is to be built. Met a lot of people. Did not spend long on the project. But there were many hands. It did not feel like a unified team. I guess maybe because it wasn't.

Now I am on a huge project. There are 250 to 300 people total. I worked once on a project this big. But I knew almost all the people on that prior huge project. This time I just know my team of 7 or 8. We are very compartmentalized. It is kind of weird. Really focused on our specific task in the system.

The jury is not out whether this localized model is better or not. I will find out. Just an observation.

Life as a DBA

I rolled off my old project last year. They seemed to be out of money, at least for me. I did a short stint on an analysis gig. Then that job changed its requirements and I was again looking for work. My manager told me I could return to my old project, but in a different capacity. I would be on the DBA team.

So I reported to the lead DBA. He gave me a task. I hit the ground running and we figured out a problem that plagued the team for over a month. Win. My new team lead was going on a long vacation. He put me in charge of a database task. I was ready to make some progress.

Turns out I don't have the privileges to do the things I need to do in the development database. There are some other DBAs that handle that. Okay. I did some prep work for testing. Then I scheduled up a meeting with the DBAs in charge. We went nowhere fast. They apparently would run scripts on our behalf. Ok...

I had another developer write up some scripts. The DBA pulled it up onto the UNIX box and he kept getting Korn shell errors. The file was there. Ksh kept complaining that it could not find the file. I left the DBA to figure out the details. Turns out he uploaded the file in the wrong mode. The lines were terminated incorrectly. Doh.

I decided to take a look at the script files. The author put a tar file on the UNIX box. I grabbed a copy and tried to extract the files. He gave me instructions to extra via a tar -cvf. I tried a couple times. Tar kept giving me errors. This seemed like deja vu. Luckily I stepped back and read up on how tar works. Turns out that command was similar to the compression. I needed a tar -xvf. And I was off to the races.

Certified Network Pro

I talked with a couple guys who interviewed me for an interesting project. They could not tell me the specifics on the applications I would be developing. When pressed, they said learning to be a Certified Ethical Hacker would be of some use to understanding the problem domain. Great. Never heard of it. But my school has a whole cyber security track that leads up to the certification.

So I started at the beginning. Enrolled in a course called Network+. It turns out that this first course  prepares you for a introductory Network+ certification. The more the merrier I guess. There was no traditional textbook for this class. I purchased access to some online TestOut site. Initially I thought that was a rip off. Over $125 for access to a web site?

Turns out the $125 was actually money well spent. The site has detailed simulations for network activities. They simulate office buildings, completed with hardware and Windows operating systems. They even have some Windows Server installations you need to navigate. This is much easier that buying a bunch of hardware and setting up networks in my basement.

The cost of the subscription also gave me a voucher to take a Network Pro certification exam. This is different than the CompTIA Network+ cert. I had not heard of Network Pro before. My instructor says it is more common over in Europe. Okay. The Network Pro emphasizes hands on knowledge of choosing the best hardware and debugging real network problems.

Powering Through

I want to go work on this cool project at my company. Need to jump through some hoops to get prepared. I asked the guys on the team if there were any industry certifications that would help prepare me for the job. They all told me CEH.

Never heard of it. Apparently it stands for Certified Ethical Hacker. Sounds juicy. When needing training, my first stop is my local community college. I was in luck. They actually have a track that ends up getting you prepared for a CEH. Unfortunately it takes a whopping five classes to get you there.

I went to the department chair and asked what I should do. She referred me to the cyber security guy. He told me to start at the beginning with Network+. That class prepares you to pass the CompTIA Network+ Certification. It is entry level. Should be a breeze.

Nope. To start, the class I signed up for was an accelerated one. That means it only meets for half the semester. It is scheduled for two nights a week, four hours a pop. That's not the hard part. The assignments are brutal. I took some short cuts and got through most chapters for the week in a couple hours. The last one took almost 10 hours.

I heard another guy in the class. He works a full time job like me. He said he did all the work, and the last chapter took 20 hours for him. We read a couple chapters a week. Who has time for this? I can only imagine the regular paced classes are not as bad. There is only one thing to do at this point - power through the material.

Down a Slippery Slope

I recently moved to a project where I am doing analysis full time. No software development. No coding. Oh the horror. But hey, it pays the bills.

There are some good things about the job. I get a captive audience when I speak on a system that I know well. People are very interested when you know what you are talking about.

Here is the downer. The customer wants project management now, not analysis. Doh! If I stay, I will be figuring out releases. Not that I cannot perform such tasks, but do I want to?

This might be my opportunity. Run for the hills and get back to my true love - software development.

Going for Analysis

I am now off the project I have been on for the last 15 years. Got moved over to a new one. The new project plans to replace parts of the old project I worked on. Guess I am a good guy to talk to if you need to know what the system does.

The downside to my new task is that I do zero development. No programming is involved. My products are Excel spreadsheets, live demos of the application, and system requirement captured in Microsoft Word. Not too exciting for someone like me who likes to code a lot.

I do see some of the value in what I am doing. They people trying to design the new replacement system do not know a lot about the old system. That could make it quite difficult to do their jobs.

Luckily this analysis position is not the end game for me. I plan to eventually move onto a C++ Windows application position. However that job requires some security clearances that I have applied for but not been granted yet. I am biding my time, remaining billable (and receiving a paycheck).