I know that a couple of variation of "coding" or programming are 编程, or 写代码. How would I refer to that person who does the coding/programming? Is it 编程家? or is there a more colloquial way of saying it?
编程家 sounds weird. You can say:
程序员 程序猿 (for male) 程序媛 (for female) 编程人员 码农 (junior programmer without future, often used for self-mockery) 挨踢(IT)民工 (similar to 码农)
程序员 is widely used in China as “programmer”。
软件工程师（軟件工程師） should be a good one.
程序员 is the widely used word. In most company, including the one I'm currently working in, people use 程序 to call 程序员, some kinda in short. 主程: LP/ Chief Programmer. A funny version is 程序猿[code monkey]. 猿(yuan2) is gorilla. Also, 码农[a programmer who gets low salary],程序媛[female code monkey](媛 means girl).
you can say '程序员'
EG： 程序员总是有着相同的风格 Programmer alway has same style of wear.
I've also heard 程序设计师 (设计师 = designer, architect).
It is 程序员.
To learm more about Chinese you can learn from here:http://www.hanbridgemandarin.com/article/chinese-learning-tips