Harman Programming Certification | HCCP & HCCA

I recently submitted my code for my AMX programming renewal. I am honored that I have passed the Renewal Practical for Programmer. The programming practical was well organized and was a improvement from the 2009 version.

My approach to the AMX exam was probably different than most students. With any exam my goal is to learn more than just what it takes to pass. From college to my career in the audiovisual industry this has always been my approach. To learn more – to ask more questions and to push yourself beyond what you think you can achieve. The dedication and effort that it takes to attain these goals are priceless.





Doing freelance programming I have the opportunity to see different styles of code. I am always adapting to new programming but I have discovered some fundamental principles that works the best. Audiovisual code should be dynamic. For example, instead of pushing a button and triggering some static event or command consider creating a dynamic time event.

Part of the new AMX certification is to commission a system remotely. For my commissioning I tested the requirements for the exam but also tested different sections of my code while restarting equipment. This was beyond the requirement of the exam and their is no extra credit for doing this. Audiovisual code should be able to adapt to new situations after a button is pushed because you never know what changes might occur. Without giving away information from the exam, I will say I have been using dynamic timelines for years. Based on customer experience it is the best way to deliver a great user experience.



 programming standards.png

Java, Objective-C, C# and NetLinks all have some type of time event objects. Yes – AMX, NetLinx is different and No – Crestron SIMPL Windows (logic / symbol bass) code does not support dynamic timeline objects. If timelines are static (at x do this) then that is no more efficient than statements under button events. But if the timeline can move forward and backwards based on outside conditions then this provides the code to deliver a great user experience.

The exam was not perfect however, it was a improvement to the previous version. The biggest problems with the exam was communication. All types of communication: emails, updated instructions, AMX network switch failure and errors with remote AMX equipment/apps. My internet connection to the remote system was slow and this added to the communication problems. I recommend for anyone taking the exam to have a fast Internet connection.

I think the instructor did a great job designing the exam and a touch panel design that has some secrets within to allow the instructor to grade students exams faster. The programming requirements for the exam was definitely the work of an ‘Engineer’.

Thank you, AMX | Harman

[ programmers – for the bonus that you do not get extra credit for – Google ‘code smell’ ]

I would be grateful if you could take a moment and follow me on Twitter.



On TwitterFacebook and LinkedIn, I will be posting some original content about suggestions for audiovisual designs (equipment racks hub-walls) and great programming suggestions.

Crestron SimplSharp / C# programming and telnet www.linkedin.com/pulse/connection-michael-haynes-cmcp-g-asm-cts?trk=prof-post

Also, I will be posting images/videos from around Orlando leading up to infocomm 17.  


Screen Shot 2015-08-05 at 4.04.26 PM

I am currently seeking a new engineering/programming job and I am looking for freelance programming until I get a full time job. If you know of any opportunities for a full time job or programming work, please let me know. Any introductions you could make would be greatly appreciated.

For freelance programming –  I am offering a straightforward and competitive rate. If you would like to know more about my programming price please send me a email.  


Updated Resume:   michael shane haynes

[  Learn more about AMX  and Harman www.amx.com  ]

[ please share article ]