In grad school for Mechanical Engineering, I learned how to code.
I joined a product design lab at MIT where CAD software had been developed, and it maintained a focus on tools for designers and engineers. Most of these tools involve software. As it turns out, I love coding. There is a special satisfaction from coding, one that's different from physical fabrication. I like the fact that all problems with my code came from me, since I wrote it; I find that more empowering than disappointing.
Research Maturity Levels are the academic analog to Technology Readiness Levels (TRL's) used by several government agencies and large firms. My lab predecessor had written a survey of TRL's and interviewed many academic researchers. Her conclusions from her Masters Thesis were that TRL's where not sufficient for academic research. She proposed RML's as a more appropriate model. If something can be characterized, it can be understood. RML's would help researchers communicate amongst themselves because they provided a shared definition of progress, which would in turn help better allocate resources and eventually lead to better models for academic research itself.
I did not expect to be coding when I returned to school, but this project made me learn skills I never would have had otherwise, and I'm grateful for them. I find I'm able to think in new ways from learning to code, and I'm able to express myself online (like this website) in ways I couldn't earlier.
"All models are flawed, but some are useful" in this case meant: we needed more data! To understand how well her model reflected academic research, we needed as many people as possible to use it to characterize their own research. My task was to translate the paper survey to an online form that would generate visualizations of research. And to do this, I needed to learn how to code. I had used html before, enough to change the background of my myspace page (it was cool then!).
I dove into Lynda tutorials of html, css, javascript, and php. At the end of my first semester, I finished the first version of the site. It was .php based and had no database backend. While we interviewed users based on this site, I started my next version that would save the data. I chose Ruby and Rails because it seemed to have more user support in the form of Boston meetups. I coded and did what I could, and the first week of every month took the problems I couldn't solve to a meetup where they were swiftly fixed.
The final website has users log in and they can add the projects they are working on, and enter progress for their projects. At any time, they can save a 'snapshot' (one moment in time) that they can refer to later. In my thesis, I discussed preliminary findings from this website, survey best practices for this application, and data visualization. The tool will provide visualizations of research progress, and interviews with users revealed what data and trends they would want to share.
This is a demo of the tool as of January 2013. This shows a user who is already logged in looking at a project, updating its progress, and seeing an example visualization.