Phase 3 and Final Project – Dev Academy

The last three to four weeks have been very hectic. I started Phase 3 on the 15th of June. The first week of this Phase was Rails week, the first half of the second week was doing more in Javascript and then on the Thursday we started our final project.The final project went for a week and a half, on the Friday of the last week we graduated and then this was followed up with a careers week. Now it is nearing the end of the week after careers week I am just beginning to feel normal. It has been absolutely fantastic having two weekends where I barely looked at a computer screen.

In the second week of Phase 3 we got to play more with JavaScript. The first challenge was recreating (and in the process demystifying) jQuery in the miniQuery challenge. This was a good challenge except for the fact that I got lost at the start and this through me out of sync for a bit. The second challenge was making Post It notes. Loved this! It was so much fun making this app and not necessarily for the expected functionality as this image demonstrates.

post its

http://libbyschuknight.github.io/js-post-it-notes/

The Wednesday of this week was open for us to explore JavaScript frameworks. I had already been playing around with EmberJS, so looked at that a bit more. The cohort has already had some discussions around what we wanted to learn during the final project and AngularJS looked like it was going to be on the cards, so I also had a look at this via Codecademy. Their Learn AngularJS was a good starting point for learning Angular. I have tended more recently to steer away from Codecademy as I didn’t really like their interface. I was pleasantly surprised to find out that they have updated it and it works better for me. I enjoyed working through this tutorial and learning AngularJS version 1 – I’m not sure if I will make the effort to learn much more about version 1, since version 2 is coming soon and by all accounts will be quite different.

The second to last Thursday was the first day of the final project and pitch day. All of us in the cohort needed to pitch some apps ideas. We had about ten but settled on a meal planner idea, with the basic idea being that you can choose meals for the week and then see a shopping list with all of the ingredients for the week.

We did some awesome overview planning –

-which was good and gave us a structure to follow for the next few days. However, that is kind of where the planning stopped for a bit and this meant that once we had reached minimum viable product (MVP) we had some issues. The main issue being that the database schema needed to be changed a few times and this had flow on effects with how information was being displayed and interacted with by the front end.

We reached MVP by Sunday evening after some hard work over the weekend.

Once we achieved MVP we focused on our stretch goals. I wanted to work on making it a responsive design and looking better than MVP. We hadn’t planned well for the front end, so we had to kind of work backwards by using a Bootstrap template off http://startbootstrap.com/. It now looks a lot better!

This slideshow requires JavaScript.

We used Trello to put in place the use of a kanban board as part of our agile methodologies. This was useful with some people working at home in the evenings. However, we got a bit carried away with the number of ‘tickets’ on it and the flow of these – the board got a bit crowded and hence wasn’t as useful as it could have been.

trello 2

After some guidance by the teachers at EDA we became better at using the board. Although it seemed to me that those that hadn’t used Trello before weren’t that keen to use it. I, on the other hand, had used it at school with students and could really see the benefits, plus I kind of live on the computer.

A quick think about the lessons learnt…

  • it can be difficult working in a team
  • it is even harder when abilities are quite different
  • however, if worked right, everyone is able to contribute the best they can
  • it is exciting working with others and achieving something you didn’t think you could
  • hard work pays off
  • it is worthwhile to take the time to work with others and figure out how best to work with others
  • it can be very easy to slip into a ‘negative’ mindset about people when others are thinking the same thing
  • it can be difficult in a group situation to always be thinking about being kind – or actioning being kind
  • I learnt a lot about myself working intensely with others
  • sometimes I swear too much and get too loud!
  • sometimes I just need to let it out by swearing and being loud!
  • it can be hard to step away from coding when you are really focused on something and want to get it done.

There are many more things I have learn, that is just a quick list off the top of my head.

So, after we finished coding our site, we then had a day to prepare for the final project presentation on the last Friday of bootcamp.

presentation

You would think that since I have been teaching for a few years and kind of have been in front of people for most of my working life that I would be sweet with speaking and presenting. But I still got nervous and I think it was because I was invested in what we had made and really proud of it.

The day ended with graduation of bootcamp and a party. Got this cool little gift from EDA.

kiwi

Hello Rails! Week 1, Phase 3 – Dev Academy

This past week at Enspiral Dev Academy I have had a fantastic time!

In the guide for this phase it has this:

Phase 3 is the most exciting phase here at EDA. In this phase we no longer view you as students or developers-in-training, rather we look at you to be valuable, albeit junior, collaborators in the craft of software development.

I would agree, Week 1 has me very excited. It is lifting to be seen as “collaborators in the craft of software development”. And it really is about crafting software, websites, apps. I haven’t yet made anything really cool and exciting, however, I am getting excited by what I am doing, how I am doing it and the potential for me to create and craft in the near future. This is the first reason it has been a great week.

Ruby_on_Rails_logo

Secondly, the way the course has been structured works well  for me. In this first week of Phase 3 the Rubyists learn Ruby on Rails (the C Sharpies do a group project together as they had a big learning curve in Phase 2 and are kind of waiting for the Rubyists to catch up). There is less guidance and structure to this week of Rails then the previous first two phases. However, there still is a good structure there and this was useful for me as I like have a good solid structure when I am learning new things. The first two days of the week I re-created my shopping cart with Rails. For one of the Phase 2 personal projects we made a shopping cart using Ruby and Sinatra. This was referred to as “Diet Rails” but we learnt all about routing. Then with Rails, what happens is that it does a lot more for you. Which is cool and some may think what was the point of doing what we did with Sinatra but it made Rails seem not as scary to me. I was able to understand a lot of what Rails was doing and creating for me having had spent a lot if time creating all those same things when using Sinatra.

I worked on the shopping cart for a couple of days and covered the ins and outs of it with lectures plus learnt about Devise and Omniauth. Day 3 was set down as Test Driven Development and this is an area that I hadn’t focused on during Phase 1 or 2 and knew I had to knuckle down and get my head around it.

A slight break in this track of writing to mention another reason that I have loved this past week. I have ended up being the only Rubyist in Phase 3! So, our cohort starting with 5 C Sharpies and 4 Rubyists. Part way through Phase 2, one rubyist decided she wasn’t going to do Phase 3 as it wasn’t going to be useful for where she was at and where she wanted to go. Then the two others both decided, for various reasons, to roll back a cohort and repeat Phase 2. I felt at the end of Phase 2 that I had strong forward momentum and wanted to jump into Phase 3 whole heartedly. So, I have been working by myself mostly over the past week and I have loved it! It has meant that I have been able to focus on my learning and use tools and methods that work for me.

Wireframes, routes, ideas about apps made in Rails.

This has also meant that I have had many one on ones with the teachers at EDA, which leads me back on track to TDD. On the Wednesday the first ‘lecture’ Joshua Vial was set down to take. It is a bit odd doing one on one lectures, so Josh come over to where I was working and we started talking about TDD. He came up with a great idea to create a blog app in Rails with the proviso that I didn’t open the server (so didn’t look at the website I was making) until I had written the tests and the code for all of the functionality I wanted. We also did “ping pong” pair coding – this is where one person writes a test, you swap, second person writes the code to pass the test and then writes another test, you swap, etc etc.

Screen Shot 2015-06-20 at 8.59.03 pm I have learnt to enjoy test driven development. I am even thinking it would be fun to go back and revisit a lot of my projects and write tests for them. It was good to finally get my head around testing and I got to do some Capybara testing as well.

Screen Shot 2015-06-20 at 9.00.04 pm

On Thursday and Friday I learnt about Mocks Stubs and Doubles and using AJAX and JSON with Rails.

And to cut a post short that is getting long, last few important things from this week, at the start Samson Ootoovak gave a great intro to the week that set it up well for me. Within this was the clear intent that there was freedom to deviant from the structure and that this was strongly encouraged if you didn’t feel the content was useful or if you found any of it boring. It was cool to have this acknowledged.

Being the only Rubyist this week has given me the time and space to learn and to solve problems by myself, which has been a valuable experience. It has also meant that I have had many one on ones where I have asked questions and learn heaps, which has been fantastic.

Also on Thursday evening I attended a small meet up at EDA, for anyone who is interested in learning Ember JS. I think it will be extremely useful to know at least one JS framework before I finish at EDA, so decided that this would be a great opportunity. Ember has been created by a lot of people who come from a Ruby and Rails background so the way it is structured in its implementation is similar.

One of the most important learnings from this week is that I am no longer scared of learning new languages! Now that is really cool! I’m actually excited about learning more so I can do more cool things!