New York City Mayor, Michael Bloomberg made a new-year's resolution to learn code.
Apple’s Steve Jobs said, “I think everybody in this country should learn how to program a computer because it teaches you how to think.”
President Barrack Obama said, "Don't just buy a new video game, make one. Don't just download an app, help design it. Don't just play on your phone, program it."
It’s worthwhile to note that these smart leaders and visionaries believe programming is the way to go. Specifically coding in SAS is one of the few disciplines taught today that virtually guarantees students a job upon completion. Don’t take our word for it – read my blog on how to land a job as a SAS professional.
A student recently asked me why they should learn SAS code if they have SAS Enterprise Guide software. I reached out to our worldwide SAS instructor group for their top reasons. Collectively we came up with so many reasons to learn to code that it was worth a post.
Here are 10 reasons why you might want to learn to code in SAS. You will find this list useful even if you have SAS Enterprise Guide installed on your machine since Enterprise Guide (EG) has its own program editor window.
- Debug errors in the log and tune SAS code for optimal performance.
- Extending point and click functionality - You will have the knowledge on exactly when to insert statements in SAS Enterprise Guide generated code. If you wanted to explode your pie chart, you will need to know that there is an EXPLODE= option and where to insert it.
- Complex data manipulation that point and click doesn’t have – building HASH objects, building our own functions and calls (PROC FCMP), array manipulations, and working with hierarchical raw data, etc. Also, by really understanding the code and the inherent SAS logic, programmers can be infinitely more creative than by simply restricting themselves to “what EG can do.”
- Dynamic coding - in other words, once you get past SAS101, you might need to use the SAS macro language. EG uses static named tables and static output. For instance, you want the name of the ODS output to be dynamically named or you might need to loop a process using macro looping.
- Data Step manipulation - While EG is a great tool, it can be extended further to use many features and functionality of the SAS Data Step. That, I think, is one of the major motivations of learning SAS programming beyond the facilities of EG.
- Cutting-edge SAS language developments for which tasks have yet to be created (DS2, etc.)
- Advanced techniques which need you to go beyond point and click...do loops, arrays, macro programs.
- Data and Proc Steps - EG is a proc code generator, it doesn't do data step...unless you are importing from a raw data file. To fully use SAS you need both data and proc steps.
- Certification: None of the SAS Certifications (Base, Advanced or Statistical Business Analyst) ask EG questions about SAS software, they ask PROGRAMMING questions about SAS software.
- Base SAS install without EG - Not all companies implement EG access to SAS.
Finally we are not suggesting you choose between EG and coding. With the new features of EG, in fact, you can have both -- you can use EG to do your standard tasks, freeing up your time to perform more mentally challenging tasks. And then when you need to customize EG with specific code, you can use the coding interface built right within EG.
Ultimately beyond these ten reasons, computer programming teaches you valuable business skills. The ability to break down large problems into bite sized chunks, the ability to efficiently use resources, and a new way to look at the world to come up with creative and refreshing ways to solve its problems.
Still not convinced? Watch President Obama making the case for code.