Thursday, December 29, 2011

Sometimes Logic

Sometimes Logic.  Not to be confused with the beginning of a statement such as, "Sometimes logic doesn't apply".  I'm talking about "Sometimes Logic"; "sometimes" as an adjective, describing the logic.  It's the kind of logic every developer understands (along with the logically savvy), but the rest just expect magic.

* * * * * * * * * * * * * * * * * 

As we dive deeper into the electronic age of man, we find the need to correctly categorize various items and make things universal so everyone understands what we mean in an accurate fashion.  Anything outside of that is "Sometimes Logic", sometimes it means this, sometimes another.  Yes, it's the logic that your standard business user seemingly wants to magically happen without letting their developers know the details of the cases in which that should happen.  Sometimes they expect the computer system to violate the rules the developers were told to put in place.

I mean, were getting closer, right?  We're passed the times when people refer to their screensaver when they really mean wallpaper.  We've all been there to witness someone calling their desktop computer a CPU.  But these blatant misconceptions are a rarity in today's computer chatter.  Why?  Throughout time, people correct the incorrect and eventually the incorrect gets corrected.  So, when will it happen when the people we write our software for properly inform their developers of ALL the cases we need to support?

When I write code to perform a task and I have the user test it to see if it functions correctly, it really bothers me when they come back and tell me that sometimes it's suppose to happen a different way.  Well, next time I'll be sure to write in the code: "Sometimes do it differently".  It's frustrating when I find myself in this situation:
Me: "Okay, so this is going to delete all data prior to today, okay?"
User: "Yep, that's what we want."
Me: "Okay, I'm executing the task."
Me: "Okay, looks like it finished.  Can you verify the data is gone?"
User: "Yep, looks like it's.....wait....too much is gone."
Me: "What? I deleted everything prior than today."
User: "Yes, but sometimes we don't always want all records to be deleted."
Me: "..." (facepalm)
Developers and IT in general most often have a bad image in the eyes of the rest of the business.  The reasoning always varies; maybe the systems are slow, maybe something isn't working as expected, the list is endless.  Developers aren't expected to understand how an entire business functions.  Developers went to school to learn how to tell a computer what to do.  Developers are the messengers.  If we are given the wrong message, the receiver will not carry out the expected command.  Computers are never wrong, they are only most often wrongfully told what to do.

Tuesday, January 11, 2011

About Time

You know, I've been a student of developing software for about 4 years now and I've been meaning to start one of these up.  I constantly find myself in situations that weren't taught in the books.  So, I've finally created a blog to post these various topics relating to development and maybe beyond, its about time!

My primary language of choice depends on the type of product I want:
  • For developing back-end (or just quick and dirty) programs, I usually use Java
  • For developing UI applications, I usually use C#
  • For developing web applications, I usually use PHP
  • For developing database applications, I use MySQL
Since my college days have ended, I got a job at an online retail company utilizing Microsoft Dynamics AX 4.0 and the X++ language.  I'd like to think the amount of information I have learned from this ERP software is quite more than your average AX developer.  The company I work for is constantly dealing with performance concerns and version control issues.  I've found when you are encountered with issues like that, you find yourself researching and trying to figure out the underlying structure of the monster you are trying to work with. But, that's just the technical end of things.  Since I've started this job, I've ran into various situations outside of just writing code that may prove to be insightful for those just starting out in the job world.