Is Programming Really an Art

You have to admire those will real skill.  We're talking about someone who has mastered their craft to such a degree, it's almost magical, as if some source was flowing through their body, not conscious of the effort.  Like people who attend Julliard.

Some people find comfort in repetitive jobs.  Same thing.  Over and over.

Some people say to try programming.  It's creative.  Some say its an art.  The thing is, programming is a commodity.  Programming has more to do with estimating hours, meeting target deliverables, getting sign off, in order to get a paid invoice.  Sounds like a business.  Not art.

Has programming become a blue collar occupation?  Sort of like a plumber using specific skills to accomplish specific tasks.  Some skills can be learned in college, some in trade school, some on the job.

There is usually a learning curve when learning a new thing.  Language.  Framework.  Concept.  Once you learn it, it's sort of cookie cutter.

Unless you are good at problem solving.  Solving problems take out of the box thinking.  Sometimes, there is no documented solution.  You can't learn the solution in a textbook, blog or online tutorial.  You have to systematically and methodically work through the problem, with no guidance except intuition, logic and attention to detail.  Some problem, you have to try hundreds of failed attempts before making any progress.

Many people claim to solve real problems using technology.  And I'm sure that's true.  What about solving problems caused by technology.  I don't think there's a true job title that meets that description. 

I'm sure there are people who love to solve the big problems.  Perhaps a person with a good reputation, where the co-workers go-to that person when they need results.  I'm trying to do this but it does that.  Well, let me have a look.  And they watch over your shoulder.  No, I already tried that, see, when I do this, it does that.  Well, step back for a moment, let's explore.

Sometimes by simply going through the steps, methodically, systematically, the actual issue presents itself.  Looks like magic from the outside.  But it's really simple logic.

They say if you judge a fish on how well it climbs trees, the fish isn't very smart.  But if you judge a squirrel on how well it swims, not so good either.  In the real world, do problem solvers get overlooked by those with flair, or looks, or clothes, or degrees, or what have you?  Perhaps.

Is programming a skill similar to other blue collar jobs?  Is programming an art or science?  How smart do you really have to be to reproduce existing frameworks day after day?

When you look at people who stay at the same job, same technology, and build upon years of reputation, big fish in small ponds, you have to wonder if that's the best way to earn a living.

When you look at people who change jobs, go into new environments or new technology every so many years, having to start over from scratch, climb an already crowded ladder, does that make much sense?

What if you like technology but not interested in management.  There's a glass ceiling of how far you can go.  Do you think they will pay a higher salary to programmers than the managers they report to?  What if your skills become a commodity.  Or they hire younger / cheaper programmers to do basically the same thing.

Perhaps there's a happy medium.

And so it goes~!

The 10 Worst College Majors

The 10 Worst College Majors via

My Anthropology / archeology degree ranked #1.

After graduation, I worked temp jobs at minimum wage.  Luckily I was self taught programmer age 13 and clawed way into IT department.

Tableau Parameter Modification Using Calculated Fields and Filters with Conditions

Working on a Tableau project recently, we discovered a bug regarding Parameters.  The base Dashboard had a Parameter for Year and Quarter.  Each populated based on a list:



Looking through the code, the Year filter was pointing to the incorrect database field from Salesforce.  Thus, when the Parameters changed, the reports displayed incorrect data.

A Calculated Field set the Year field to the passed in Parameter:

In order to change the Parameters, I located the correct field to filter on.  Then created a Calculated Field to obtain the Year as follows:

Then added the new Calculated Field to the Filters, opened and under "Condition" added the following logic to filter the data set where the Year part = the passed in Parameter "Year":

For the Quarter field, very similar.  Created a new Calculated Field for Quarter, to obtain the Quarter fragment of the date field:

Next, add new Calculated Field to the Filters pane, open to "Condition" and add the following logic:

Essentially, it strips out the "Q" character from Q1, Q2, Q3, Q4 passed in value from Parameter [Quarter 1] which the user selects, converts to an Integer, and filters the Quarter date field where the Quarter is less than or equal to the Parameter value minus the "Q".

So if user selects Q3, strip out the "Q" resulting in 3 as Int, and filter date Quarter field for 1, 2 or 3 since that is equal to or less than 3.  It excludes Quarter 4 because 4 is higher than 3.

And these code modifications resulting in accurate results in Tableau Dashboard when user changes either the [Year] or [Quarter 1] parameters.

Hope that helps in your Tableau development.  Thanks for reading~!