Pencils Down

This weblog is about my experiences in software development

Joel Test

No comments

Saw this used on a job site to evaluate a position. Neat quick-and-dirty evaluation of a new position: A good company gets a 12.

The Joel Test

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

http://www.joelonsoftware.com/articles/fog0000000043.html

Share

We have a fairly large database with years of stored procedures and views and the like.

Recently we tried to access a view to get a count of items right after we update the items list. Seemed simple enough: just flush so that all the ducks are in a row. Wrong.

Turns out the view is based on an indirect access to the item list we changed, so as far as Hibernate is concerned – nothing changed.

Another engineer had the breakthrough: evict the view thereby forcing Hibernate to re-establish the values. Ta Da!

Alternatively we could have mapped that indirect set that the view uses.

Share

FindBugs is a program which uses static analysis to look for bugs in Java code.

It is offered as an Eclipse plugin. So, just like any other plugin:

  • right click on the item(s) you want to check,
  • click on “FindBugs” and
  • off you go.

Some of the issues that have come up for me:

  • use of static SimpleDateFormat – it’s not thread safe – who knew?
  • new coding did not have a setter for a dao – hopefully testing would have shown the error
  • compares on different object types – the code looked correct, but oh oh…

I love things that just work

Just saw that Java 8 fixes the date problem – http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html

Share

The Worst Developer Job (Boston)

Job Responsibilities for a horrible Web Developer Job at a company you will HATE:

-Achieve 100% code accuracy in all 300+ required programming languages. If 99% accurate, termination.

-Argue with all product development teams in an aggressive manor wherever possible for optimal productivity.

-Conduct design and code reviews. If a bug is found, termination.

-Maintain a low awareness of industry issues and trends, particularly in regard to web technologies. (If you are looking into latest trends you are wasting company time, termination)

-Provide technical leadership and make fun of on ALL new developers as they are on-boarded.

-Give 100% accurate time estimates.

-Contribute to documentation and arguments amongst co-workers where required .

-If you share how to identify and implement ways to improve how we build software in any way, termination.

Qualifications

-A-holes are promoted within the first 6 months.

-12+ years experience designing and developing highly scalable web apps on the Microsoft platform

-Hands-on expertise with ASP.NET, C#, C++, SQL, CSS, HTML, JavaScript, jQuery, AJAX, Ruby on Rails, Node.js. If not expert level, termination.

-Passionate about having a hatred towards co-workers, wants to stay hands-on, enjoys coding in dark (locked) closets, enjoys being chained to their desk. (recommended)

-Able to organize and clarify complex business fights in the office.

-Familiar with Agile development processes.

-Able to work in an Hierarchical company where nobody gives a S*#! about your opinion.

-Self-motivated and willing to work all weekends and holidays.

Benefits (If asked about any of these, termination)

-Competitive salary (If you are not an expert programmer, you will not get paid)

-No time off. Even if sick. If sick, termination.

-$1,000 bonus if you never talk in the office

-Grade D Health and dental insurance

-No group life, short-term, and long-term disability insurance

-Opportunity to work in a small, high stress, impossible to grow startup environment

-Ping-pong and foosball tables for superior hand-eye coordination. If you give into temptation and play these game in the office, termination.

-Paid in Trident Layers. (used)

- $25,000 Base Salary. Pay increase after 8 years.

If you want to find a tech job that doesn’t suck, apply on …

Share

I have run across an issue several times with Maven in Eclipse. If a dependent project is updated my project is toast for the rest of the day. I have tried shutting down Eclipse, rebuilding all, updating all dependencies: you name it.

After being fed up with this today I tried shutting down my machine and starting anew. Guess what? The build worked! No changes whatsoever to any of my code.

Share

Just got this (while trying to create history records of a set)

The error occurs because an attempt was made to store the exact same Collection object more than once (possibly in multiple objects).

In my case I just attempted to copy the collection out of the real object into the history object.

I think this is enforcement of the not allowing multiple inheritance in Java. Also, not sure how this would work at the database level

Share

jQuery DataTables

No comments

Great jQuery add-in datatables

  • Variable length pagination
  • On-the-fly filtering
  • Multi-column sorting with data type detection
  • Smart handling of column widths
  • Display data from almost any data source
  • Scrolling options for table viewport
  • Fully internationalisable
  • jQuery UI ThemeRoller support
  • Wide variety of plug-ins

All the things you want

Share

Summer Doldrums

No comments

In between project/phases. We commented all the code. Made minor adjustments to packaging. Regression tests take a few days…

Especially fun as contractor since you don’t show up you don’t get paid.

Trying to investigate newer, neato things like hadoop. But that will take a while.

What do you do?

Share

Jump Ship or Not

No comments

If you are a developer (probably in any language) you are getting phone calls on a daily basis asking if you want to go work elsewhere.

I have been at current contract for a few years now. It’s good work. Good people. Great location. Good environment.

I have also run into significant bills in the last 2 years, mostly medical. And like everyone else the creep of inflation (I know Obama keeps saying it’s very low) is taking it’s toll.

So, I have started responding to these agencies asking what the rate might be for this neato position. In most cases it’s less than I am getting now so it’s a no brainer.

Today someone responded with a rate 25% higher. What the heck do I do now?

Share

Another developer and I started seeing this running an app locally.

While it sounds really interesting with hints of transaction state it was really just noise cascading up from a missing property in the local properties file.

Yes, it did not occur on server. But again, from the wording it sounds like some filter error or the like and we use different authorizations running locally.

Share