Random Ramblings on LabVIEW Design

Community Browser
Labels
Showing results for 
Search instead for 
Did you mean: 

Levels of Programming Enlightenment

Active Participant swatts Active Participant
Active Participant
‎12-10-2016 02:12 PM
‎12-10-2016 02:12 PM

Welcome to Nerdhhist Boot Camp.

Just coming to my little corner of the Internet automatically pushes you up the path to Nerdvana. In a world of turmoil and angst I want this to be an area of calm contemplation.

I've come to the conclusion that there are steps to Programming/Design Enlightenment. As you go through them life becomes significantly less aggravating. The key is empathy. Empathy with other programmers and empathy with the end users.

If you can be enlightened it's fair to assume you can also have an endarkened attitude. I've met a few who have inhabited this stage and I'm at a loss at how to get them out of it.

-1 Endarkenment

These can be technically competent and experienced people, who have spent years in the industry. They have a general dislike of other programmers and users. They hide code and leave a trail of poorly engineered projects behind them. Often they leave a job just before the end, leaving the customer to pick up the pieces. This isn't random, they leave before they are found out. I won't waste too much effort on this group.

0 Enthusiast

Everything is shiny an new, you're wearing a suit made of Arduinos and you program for fun!

This sums up my feelings on the subject

 

Hold onto that exuberance and add focus to get to the next stage.

1 Infuriated/Opinionated

You've a got a few successful projects under your belt and you are king of the world!! If everyone works like you they'll be just as successful. The following statements will be heard here.

"Methodology xxx is the best way to program"

"Way of running a project xxx (Agile) is the only way to successfully run a project"

"such and such a tool/function is evil/terrible and people who use it are awful too" 

When Jon came up with LCOD, and we started using and honing it in practice, I couldn't understand why everybody didn't use it. I thought we had given the secret of pain free programming to the world, it was kind of rude of everyone not to take the gift. It was a time of disenchantment and frustration.

For me, age showed me the exit sign from this stage.

2 People Oriented

The realisation that everyone is different and it's brilliant is one of the best parts of this stage.

  • The person who busts your code all the time is not a pain in the bum, but a fantastic testing resource.
  • Customer feedback becomes a huge asset and not a personal insult about your design.
  • Techniques, processes and methodologies can be employed strategically, offering most benefit for the buck.

Ramp.png

 

I think this quote from Fab sums it up nicely

"I tell them, those are two very different ways of doing it try to understand our reasoning and pick the one that resonates the most with you and your team. Stick with it…. until it no longer serves you Smiley Happy

The key is understanding why we are suggesting one way or the other"

And perhaps one of the keys to enlightenment is understanding

Lots of Love

Steve

Comments
Active Participant FabiolaDelaCueva Active Participant
Active Participant

Dear Steve,

 

Love, love, love this blog post! You and I have discussed this topic several times and I love how you describe the ramp to Programming Enlightenment. I appreciate the title specially, wonder where you got that from Smiley Wink

 


swatts wrote: 

I think this quote from Fab sums it up nicely

"I tell them, those are two very different ways of doing it try to understand our reasoning and pick the one that resonates the most with you and your team. Stick with it…. until it no longer serves you Smiley Happy

The key is understanding why we are suggesting one way or the other"

And perhaps one of the keys to enlightenment is understanding

 

I believe when I said this, was when I was telling you how when I teach Managing Software Engineering in LabVIEW, I make sure to present different ways to organizing a project, I show them your blog post and our blog post. I explain, as far as I understand it, your reasoning and then I explain ours.

 

People think we want everyone to use DQMH, we don't, at least I don't. We want people to know about it, to understand that certain repetitive tasks can be automated via LabVIEW scripting, (just like you created a tool to automate LCOD) but it is not the only way, it is a way. It will all depend on the team, their level of expertise, etc. I know that LCOD is a very thorough way of doing projects, I learned it when I read your Software Engineering Approach to LabVIEW book and used it in some of my first projects. I also think Actor Framework works well for teams of LabVIEW developers who are comfortable with LVOOP and are under the guidance of a skilled LabVIEW Architect. In general, having a skilled Architect leading the project leads to good results, regardless of the tools used. 

 

Now, that said, I think I have not reached the Programming Enlightenment yet, I know we don't know what is between the People Oriented phase and the ultimate enlightenment, I just know that we don't know what we don't know. I hope that we, the LabVIEW community, can learn together what we don't know and reach Nerdvana one day Smiley Happy

 

Thanks again for sharing your wisdom with us.

 

Regards,

Fab

 

PS: Hope someone finds useful all those links and that no one finds them annoying Smiley Happy

Active Participant swatts Active Participant
Active Participant

Thanks for your kind words Fab, I like links!

I do enjoy writing the articles that build on conversations, comments etc over time. The seed of this one was probably planted at a CLA summit 2 or 3 years ago.

Active Participant FabiolaDelaCueva Active Participant
Active Participant

By the way, I found this and thought of this post. The image says:

Oh god! I made it! ... I have freed myself from the ego... I am awesome!  Smiley Happy

Active Participant swatts Active Participant
Active Participant

I always enjoyed the job interview answers to the question

"Q: What is your greatest weakness?"

"A: Sometimes I'm just so awesome that normal people find me intimidating." Sadly I left the job market before I could try it out. Smiley Very Happy

Member SercoSteveB
Member

Nice one Steve.

 

I had never heard Endarkenment and Nerdvana before Smiley Very Happy.  I am adding them to my lexicon, right next to Unobtainium and another about a "... user not trained" that is way to rude to post here. 

 

 

Active Participant swatts Active Participant
Active Participant

Cheers Steve

I'll claim endarkenment as my own, but I'm sure where I got Nerdvana from. Pretty sure it's not a swattsism.