Apprenticeship Week 3
By Matthew Cowie · April 18, 2013 · 2 minute read
Hitting the ground running.
Matthew Cowie was Neoteric Design’s spring 2013 apprentice, learning topics in backend development, database design, and Ruby on Rails. He continued on to become Neoteric’s developer.
This week was dedicated to starting my first ‘real’ project. After a review of last week’s Rails lessons we met with Nick, playing a client, to develop a project calendar tool for internal use (at least initially). He went over his current workflow and what issues he was having. Joe and I took notes and sketched up our ideas for how an application could ease and automate the tasks. Afterwards we agreed on some basic data structures and workflow, and I was left to implement them on my own.
I had a basic working prototype for 2 of the models at the end of the day. Tuesday I got to spend the whole day working on the project, implementing some model relationships, and a nested form for the user to manipulate them. Setting up and working through Rails on my own helped solidify the things I’ve been exposed to the previous weeks. The more I’m able to work on my own the more I find I’m able to understand why the magic of Rails works over just mimicking code samples. Wednesday morning Joe and I went through writing tests over the code, which is working backwards a bit but we made sure to test the major functionality of the prototype, and purposely breaking the code to ensure the tests would fail.
That afternoon, I took to doing some basic styling on the forms while Joe wrote up the code to hook this application into another internal system so we could automatically populate our list of projects. At the end of the day I got to demo what there was so far of the prototype. It proved a bit difficult as none of the actual front end interface is implemented yet, only what will be an admin area, leaving it to explanation and imagination of what the app will be like. I got my first taste of a ‘client’ review, getting grilled about inconsequential matters and trying to explain basic terms. Definitely another skillset that needs and will get some development!
Next week I start learning some front end development with Sass and Coffeescript with Aitch, which should be fun!