At most places of work, the First Day is pretty lame. It usually starts off with a boring orientation meeting that's devoid even of bagels, let alone an assortment of danishes and other wholesome pastries. Next up is the insurance forms, the W-2's, and all sorts of other paperwork. And then it's generally topped of with an overworked supervisor plopping down a stack of outdated and mostly irrelevant documentation with the instructions "read through these and I'll show you around later this week." But Devin's company is a little different -- they think it's a bit demoralizing to start out like that, so they make sure that new programmers have an actual, real assignment on their first day. It doesn't have to be big; it just has to be something.

Devin was responsible for mentoring the New Guy and dolling out the First Assignment. It was a pretty easy one: the client requested that a "Save" and "Cancel" button be added to a form instead of having the form save changes whenever it was closed. Devin walked the New Guy through opening the project up in VB6 and even showed him which file to change. The New Guy confirmed that all he'd need to do is have the "Save" button close the form after calling the save function and have the "Cancel" button simply close the form. He seemed to understand what needed to be done and Devin figured it'd take him thirty minutes, tops.

Five hours later, the New Guy stopped by Devin's cubicle. He was having some trouble.
"I can't figure this out," the New Guy said, exasperated, "when the form is closed, it automatically saves the data. I don't see how or why it's doing that."

Devin thought that was a bit odd since the code from that project was very clear and easy to work with. He went to the New Guy's desk to take a look and at what he had been working on for the bulk of the day:

Private Sub Form_Close()
    'why is this still saving?
    save_data()
End Sub

"See," the New Guy said, "right there, whenever the Form_Close() function executes, the data gets saved!"

"Errr," Devin replied, "did you try removing the line that's right below the comment you added?"

"Ooooh, I see," the New Guy said excitedly, "thanks; I can figure it out from here!"

Devin left him to it and returned the next day to find the New Guy still "working on getting those buttons added." Now Devin might have found this whole First Day experience a little funny, had he not repeated it with similar "problems" throughout the following year.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!