Pencils Down

This weblog is about my experiences in software development

We have a client that asks for changes to a portal regularly.  They pay so we do pretty much whatever they want.  Once in a while we can offer a better way of solving the problem.

Lately there have been a couple of changes that sounded difficult to pursue.  Upon further investigation we realized: our software can do this now, we have the data needed to provide the solution and (this is the best part) we had originally developed the feature that way and the customer told us to shut off that part n months ago.

Of course, we turn the feature back on for them.

It just must be nice to have so many resources (time, money, us) available to you that whimsical changes are acceptable.  And I thought you had to win the lottery to do that.

We have a client that uses codes to organize their user hierarchy.  They are consistenly re-using the same codes for different groups of people, concurrently.  This, of course, wreaks havoc witht the user access layer as it tries to determine who-is-who.  The lead developer has explained the problem and possible solutions at least a dozen times to the customer reps over the last year or so.   And it happened again today with the follow on question from the lead developer about when this might be fixed and the automatic response from the customer rep as to why this is a problem.

It would be nice to be able to generate an automatic response (both from the customer rep and the lead developer) in this situation.  The neatest piece would be having a meeting auto setup between the lead developer, customer rep and the CTO so the thing could finally get resolved.  The bad thing is the customer, who has been in business for over a hundred years, is extremely unlikely to change their ways regardless of what we do.

The whole thing reminds me of the story of a comedian convention where commedians would catch each other in the hall, say something like “Joke 43″ and both would start laughing.  At least they both found it funny.

I got into what should have been a very small programming adjustment to a fairly large site to just expose an Excel sheet.  Very common type of stuff.  Agent got me FTP access and sample file.  Grabbed what appeared to be the creatives on other pages and put the page together.  Tested on my server no problem.

Push code onto the FTP given and I can’t find the file I just uploaded by hitting the web site?

Upon further checking found that none of the directories or filenames that I see from FTP correspond to any of the url directories or file names from hitting the website with a browser.  As part of FTP exploration find cold fusion references, some archaic authentication server reference, lots of jumbled up code going back to the mid 1990’s.

I have the agent ask if there is some other FTP access to the site (mentioning what I found above).  His comment “We’re paying you, figure it out!”

How do you qualify clients?

I was looking forward to working with an agency in town.  However, there was a delay in the go signal for a new project.  I don’t know about you, but no news has been bad news for me.

The guy says all future projects will go through RFP.  Remember, we aren’t talking big dollars here.  So that means eLance and the like where Asian programmers bid a dollar an hour for work, not having any idea what you are trying to do, but taking your money gladly.

I thought everyone did this 10 years ago and got killed.  Yes, the big guys still do this, but they have a full management presence in Asia.  They aren’t hiring out with a classified ad.  They are working with their own employees who happen to live in Asia.

I can’t compete at a few bucks an hour on any kind of work.  It’s really not clear the agency is big enough to withstand a few really bad outsourced projects.  If they are still around in 2 years maybe I can work with them then.  I know I will still be plugging away.

I know of company that is getting a big project soon.  Current pm staff is swamped, so they decided to look for a ‘technical’ pm.  I didn’t think it would be unusual for a pm to know something about programming or database queries and the like.

They got hundreds of responses to the job posting, but not one qualified by having any technical skills!  The job description was pretty explicit about the expected skill set required for the position.

Why would this happen? 

Are pm’s so caught up in the latest from PMSI (?sp) that they are ignoring the auxiliary skills needed for the job?  How far does that go?  Is using Excel a stretch?

Or are all the current technical pm’s with the skill set satisfied with the current employment.  Again, unlikely.

Talked with a big shop in town.  Met with a founder and a vp.  Got along great.

Job was mid-level, so had to talk to sw director and an architect.

Director went over a standard question list for all developers.  Great.

Architect interjected random questions.  Most of them did not have an answer, were trick questions, or otherwise pretty off tangent.

And the coup-de-grace: Gee, I graduated about the same time you did.  We must be the same age.

Gee, if I known you guys were jerks I would have taken my tape recorder.

Talking to a number of companies that are looking for software people.  I guess the first thing to notice is: there are quite a few postings out there these days.  Take a glance at craigslist for your area, guaranteed at least a hundred jobs per day.

Secondly, talking to a small shop in town they are turning down work below a certain $N,000.  Talking further, the bigger shops in town are turning down work for less than $N0,000.

It really feels like the press has been so caught up with the stupidness of banks lending money to people that could never pay.  The result is they are ignoring the apparent large scale demand for services, at least for technical people.

Third hit point was a survey run by a pretty good outfit that should only have gone to hiring managers.  The number one question was “how are you dealing with the shortage of technical pool?”.

I guess things are still in pretty good shape (for s/w companies anyway).

Ok, so the Spring Framework allows for a high level of code re-use.  Great.

You use simple XML files to layout the flow of applications in Spring.  This allows for easy configuration of systems.  Great.

You now have a high amount of very atomic code/routines that are put together as needed to implement specific functions.  However, if something goes wrong you can not easily find the problem.  Again, due to the large amount of atomic, small routines that have been pasted together.

Log files are likely useless, as they will point out what happens at the lower level.

The only thing we have found is to log ‘events’ as specially executed code functions at the XML, config layer so we trap the higher level functions attempted to be performed at a specific time.

Other ideas would be great.

We have been (completely) rewriting a fairly large Java app using the Spring framework.  One of the developers had previous experience that became the core for the new system.

As one of the developers working on the existing systems I have subsequently been added on to the swarm working on the new app.

At first look, Spring reminds you of older IBM configuration files: every step is laid out in an XML file.  I guess that works, as most systems are very XML cogniscent.  I was somewhat overwhelmed by the amount of detail, at first.  I had though this to be a very complex undertaking.

Then talking this over with the architect, it became apparent that Spring really just breaks down your code into very atomic units.  What is at first overwhelming becomes more apparent to be a complete specification for an application: every step, function is laid out in explicit detail.

That becomes tha ‘Aha’ moment.  Any developed code fits into the xml ‘path’ of the application.  I still think it’s amazing seeing that much of the guts of an application laid out so cleanly.

It looks like the deal may go through.  Many people are talking about how this is a MS attempt to compete with Google; admitting that MSN is not getting enough traction to do so.

No one seems to be bothered by the oligopolistic/monoplistic implications of this:  You have the parent of MSN with x % of the search space buying Yahoo with y % of the same market, isn’t this a bad idea for the end users/consumers/businesses that advertise?

As an end user, I like having the choice of MSN vs live.com vs. Yahoo.  They may overlap, but mostly do not.

As an advertiser I dread the increase in advertising costs since the whole will be munged together into one target audience size and higher fees.  Someone will have to pay for Yahoo besides MS.

Overall, this merger appears to be the latest in a series of oligopolistic advances taken by business where no one seems to be throwing up a flare.  Maybe people are reminiscing about the robber barons of the early 20th century and have decluded themselves into thinking that was a good thing.