Bits & bobs from the last two years…1

Over the last two years I have accumulated ideas for blog posts. Some of which are no longer relevant, some of which will turn into full blown posts and some of which I want to sure bits of.

So, here are the bits and bobs from the last couple of years! Enjoy!

Mistakes Programmers Make Over and Over

One of my teachers at Enspiral Dev Academy was Samson Ootoovak, who I also have the pleasure to work with at Flick Electric Co. Just after I graduated from EDA in July 2015 he wrote this blog post – Mistakes Programmers Make Over and Over. The main points being:

  • Read the errors
  • Copy-paste trouble
  • Keeping your branches small
  • Quickly not writing tests
  • Starting is better than perfect
  • Everyone is better than me

Most of these mistakes I made a lot when I started out. I can even remember asking Sam for help during the last phase of bootcamp and it was an issue with not reading the error properly.

I still make these mistakes, but less often (just making new ones now!) and I now recognise sooner what the mistake was and make corrections quicker.

It is a good reminder to come back and reflect on these and also take the time to reflect on how much I have learnt over the last two years since graduating.

(Oh and I also think one of his more recents posts would be good to book mark if you ever consider submitting a call for proposal (CFP) – My First CFP)

Tools – editors, terminals, linters

I started out using Sublime as my text editor of choice and iTerm for the terminal/console.

I’m big on how things like and while using Sublime I discovered the cobalt2: a theme for Sublime Text. And the same one for iTerm – Cobalt2 for iTerm2 and ZSH.  Then I transitioned to using Atom as my text editor of choice, where you can also use the cobalt2 theme.

My old friend, Samson, got me into using zsh and oh-my-zsh. And then I discovered that Wes Bos (ps, Wes is also the creator of the cobalt2 theme!) had made this cool and very useful video series – Command Line Power User. If you are using zsh, I highly recommended. If you are not using zsh, why not?

Starting out in Ruby land I discovered the Ruby Style Guide. And then learnt about linters! The one I use for ruby is RuboCop and you can also get it working in a text editor –


More “Bits & bobs from the last two years…” to come! 😁



How to start ‘networking’ as a junior dev

I’ve had a few chats recently with people you are studying or have just finished studying at Enspiral Dev Academy about networking. The common question is how do I start networking if I don’t know anybody. So, here are a few ideas on how to get started.

Meet Up

logo-2xWhat is Meet Up?

Meetup is the world’s largest network of local groups. Meetup makes it easy for anyone to organize a local group or find one of the thousands already meeting up face-to-face. More than 9,000 groups get together in local communities each day, each one with the goal of improving themselves or their communities.

I think I was introduced to Meet Up when I learnt about EDA. They have there own where every week there is a NodeSchool Wellington meet up and Ember.js School. They also semi-regularly have Tech Talks – like this one: Starting out with established codebases.

There are heaps of meet ups, and not just tech ones. Here are the ones I belong to, you don’t have to be really active in them. I’m not but if there is something that comes up that I am interested in I can jump onto it.

Screen Shot 2015-10-26 at 12.42.10 pm

One meet up that I think would be really good for those new to Ruby and Rails is Wellington Railsnoobs.

Back to way going to meet ups are good for networking. You will meet people in the industry, you can connect with people, you can learn what is going on and learn something new.

I have a goal of talking to at least two people I don’t know at meet ups. Otherwise I have a tendency to stand around and hide in a corner. It can also be good to see if anyone you know is going and see if you can go together, strength in numbers. Don’t let this stop you from introducing yourself to other people though. Perhaps work together to talk to people you both don’t know.

I find it useful to have thought of  few questions to ask when I introduce myself. “Hi, I’m Libby, I work at Flick, where do you work?” “Is this your first meet up?” “What do you do?”

Once you have the ball rolling, try to figure out if you have any common interests and make a connection. This doesn’t just have to be around coding, maybe they are into surfing and you can share the best places to go for a surf. Try and connect.


I have Twitter useful while I was teaching and now as a developer it is great to keep up to date with what people are up to. The trick with Twitter is that you have to be active to really get the benefit from it – i.e. it is a “social” network, so you have to be social! I joined Twitter in 2011 but wasn’t really active on it until 2012. I didn’t get it until I started being more active on it.

Around the time I started being social on Twitter I started this blog for my Registered Teacher Criteria (something teachers have to do). I linked this to my Twitter account, so whenever I blogged, it would be tweeted as well. This is one way of being active.

Coming back to networking, start following people that interest you, tech companies, companies you want to work for, people you admire in the industry, sites that offer training. Start retweeting tweets you see that you find interesting. Every now and then add your own comment to the things you retweet.

If you aren’t sure who to follow, start looking at those you do and see who they follow. Have a look at some hashtags – #rails, #rubyonrails, #webdesign

Look at lists that people have created, here is one listing EDA people –, start following people off the list. You can also subscribed to other peoples lists.

Go here to learn more about Using Twitter lists.

If you are keen on getting started with Twitter but your not to sure how to, have a look at this 14 Day Twitter Challenge. It is for PE teachers but follow along and just change out PE things for web dev things.

Screen Shot 2015-10-26 at 2.06.55 pm

Day 3 – find and follow, try this list of developers. Day 4 hashtag – #webdev. Day 13 – Twitter Chat – to come.

Friends and Family

Network with your friends and family. Start sharing what you are up to, what you want to do, what tech you are passionate about, what you want to make. Explain to them what Dev Academy is all about, or however you have been learning. Sooner or later someone will go ‘Oh, I know so and so who works at one of the biggest web companies in Wellington’. Funnily enough, through my mother chatting with someone in her ladies choir I could have made a connection with one of the head honchos at Springload. You never know who is connected to who, so talk it up with whoever will listen.

What ways do you network? Who should new developers follow on Twitter? What meet ups do you recommend for new developers? Do you have some advice for new developers who are just starting out with networking?

What to do once you have graduated? My thoughts after finishing at EDA

I graduated from Enspiral Dev Academy at the beginning of July. The week following graduation was Careers Week. This covered interview practice, offline networking – going to meet ups, CVs and cover letters, your digital footprint, getting everything up to date. It also mentioned to keep coding.


keyboard-417090_1920I think the best thing that I did was to work on my own project from when I graduated to when I got a job. I was doing some casual work once I graduated but I made sure that I took time to work on my project (this was making a Ruby version of my cohorts final project – PikaDish).
This was good in a few ways. Firstly, it got my head back into coding. I probably didn’t do any coding for about two weeks from graduation. I actually found the first few days once I got back into coding quite difficult. It was almost like I had to look everything up again. My recommendation would be to maybe have a few days off from coding once you graduate but don’t leave it any longer then that.
Secondly, I really enjoyed being able to work on a project by myself and do it how I wanted to. This helped with my confidence in my ability to code.
Thirdly, because there was no deadline or other people to worry about I was able to take my time. This meant I could sit back and try to remember how to do something and take the time to google ideas I had about how to do something.
Fourth, this meant that I was coding AND committing regularly to Github. I think this is VERY important to keep doing once you have graduated (if you are going to be looking for a job straight away). Employers will look at your Github profile and it will be a big plus for you if they see that you have continued to code.

I would also suggest putting up repos from bootcamp onto your public facing Github. We all wrote a lot of code during bootcamp, why not show it off. Some people might say don’t put poor code up but I think if you can show where you were and how you have progressed, that’s got to be a good thing. And you could always go back and improve it.

To download all of your work from EDA have a look at what Nick Johnstone made, a RubyGem – eda-code-downloader“eda-code-downloader is a command line tool that clones down all of your Dev Academy code for you. It handles pairing and solo branch names, and can also be used to download all the challenges for a cohort.”


I made a Trello board for my job hunting.

Screen Shot 2015-10-10 at 10.15.37 pm

Casual jobs, formal and informal, had I sent my CV, applied, interview questions / study to do, questions I wanted to ask.
I found this really useful. I looked for companies that I was keen to work at as well as advertised positions. I also talked to quite a lot of people that I knew in the industry about jobs, what jobs to apply for, should I apply just for Ruby and Rails jobs, what about waiting for the perfect job, I asked previous graduates what they had looked for in a job and if they had any advice. I added all of this to my Trello board and used it to help me decide on whether I would apply for certain jobs or email companies and it also helped me decide on what job I decided to accept.


Keep expanding and exploring your learning. You can achieve this in a number of ways, it doesn’t have to be learning a new language as soon as you have graduated. I started looking at upgrading my text editor. I use Sublime so started looking into upgrading to Sublime Text 3.Sublime_Text_Logo

This led me to looking at adding linters and having a closer look at the functionality in Sublime Text that I wasn’t using. From doing this I have learnt a lot. I have had to take RVM off my Mac and just use RBENV. I have had to do a lot of troubleshooting. This has all helped with building my confidence in knowing that I can work things out and solve problems and that I am getting good at googling!

From talking with a few people who are in jobs where they have some involvement with hiring graduates or new developers, the things that I keep hearing are:

  • keep coding, keep pushing to Github
  • show your passion, be passionate about something, have a spark in your eyes
  • have ideas about things you want to do, want to learn
  • be learning something – so you can talk about it!
  • ask questions in an interview / technical interview – if you ask a question or say you aren’t sure about something but you would approach in this way does not mean you will not get the job, they would rather you talked through a problem then struggle on silently, they are not just looking for technical skills but how will you can communicate and connect with other people

So, that is my two cents worth. I hope someone founds it useful. If you are a graduate, what is your advice for those who have just graduated?

From teacher to developer – my journey this year

About a year ago I dropped a bombshell on the senior management at school. I had decided I wanted to take a year out of teaching to learn how to program, develop websites and overall have a better understanding of what it is all about.

Reasons why I wanted to do this:

  • I couldn’t see myself teaching PE for much longer (injuries, loss of interest)
  • I wanted to understand programming, HTML/CSS, web development so I could move over into Digital Technology
  • an increased interest and passion for creating websites/programmes
  • and I got really tired last year with being in a school – needed to get refreshed.

EDA-square-hiresDuring 2014 I had found out about Enspiral Dev Academy and decided this was where I was going to go to learn the craft of web development. Earlier in the year I had halfheartedly considered the idea of going back to university and doing a year or few but decided against even a year due to it being a year and not being able to work for that time.

What appealed about EDA was that it was short (19 weeks in total), the first nine weeks was done remotely (so I could still work), the bootcamp part – learning with others, learning in an environment that was similar to what it would be like in industry, instructors who have worked in industry, the help that was offered with getting a job. All of these things aren’t available in a traditional tertiary training institution.

It has been quite a journey at EDA and I have documented it with previous blog posts – the last one being “Phase 3 and Final Project – Dev Academy“. I have had an amazing time this year and have learnt a huge amount.

There a lot of take aways form this year:

  • my learning
  • the experiences I have had – individually and with others
  • the people I have meet, learnt with, grown with, cried and laughed with
  • the rollercoaster ride of emotions
  • and that you are never too old or too stuck to change.

The best take away for this year is the people I have meet and the connections I have made. Life is about people and I have meet some amazing ones this year. Many who are embarking on or are on the same journey as me. It is exciting to be part of an ever growing community that is Enspiral Dev Academy. It will be intriguing to see where we all are in the years to come and how much of a positive impact we have made on the tech industry as well as within other areas of society, particularly education.

I have to give a HUGE shout out to my lovely wife. This year would not have happened if it wasn’t for her all encompassing love and support.

During my journey I started to think about whether I wanted to head back to school in 2015. As it turns out I don’t. This was for a few reasons but overall it came down to wanting to focus on my own and my families well being. So I resigned awhile ago and started to seriously look for a junior developer job. This was stressful and required thoughtful consideration (I am planning a future blog post about what I think is useful to do when looking for a job in the tech industry).

flick-logo-rev-newI have now kind of come full circle, in that I have accepted a job as a junior developer at Flick Electric Co.

I am excited and scared at the same time. I am looking forward to a lot more learning and working closely with others to help develop a product and create a positive culture that will have a positive impact.

I am also hoping to keep my hand in the education sphere by helping out Gather Workshops with some Ruby stuff, getting involved with RailsGirls, maybe Code Club Aotearoa and helping out alumni and current students at EDA.

So, that is the year that was! Phew!

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

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 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.


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.


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.


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!

Phase 2 done – Dev Academy Bootcamp

Wow, so another phase completed and the final phase to go. I have enjoyed Phase 2 a lot. It has been great getting out of the console and onto the web. I like making sites look good and felt pretty confident with HTML and CSS before Phase 2. It has been heaps of fun to dive into the web and the learning has been exciting.

A quick overview of what Phase 2 has covered:

Week 4: Testing, Simple Web Applications, and Github: cover Rspec, Sinatra, ActiveRecord, HTML, CSS, and Heroku.

Week 5: Enhancing Web Applications With JavaScript: add JavaScript, as a way to enhance your web applications, have a solid introduction to JavaScript the language.

Week 6: Complex Web Applications: Week 6 ties it all together, discover how to use background jobs, OAuth, and other APIs.

It has also included three personal projects – a server side app (shopping cart), a client side app (customer management relationship app) and an api app challenge (this was wide open, I had a play with the Twitter api).

Screen Shot 2015-06-14 at 9.38.23 am

The personal projects were a great way to review and embed all the learning that happened during Phase 2. I particularly found this for the first project, the shopping cart, as we had 6 days for it, and I was able to spend more time on implementing the core the functionality. The client side and api apps were given to us at the same time and we had 6 days to do both.

For the sever side project, I spent a lot of time planning out how I was going to create the database, web pages and routes:

By taking the time with the planning meant that I only had to make my database once. This meant that I wasn’t rushed with any of the other components of the site.

The Week 5 group project I am really happy about. This was Javascript week and the suggested options were Connect 4 or Survey Gorilla. Neither of these really excited me, so I pitched the idea of a memory card game. Through the development of this game I enjoyed getting to learn more JS and diving into JQuery and AJAX.

Screen Shot 2015-06-14 at 12.05.52 pm

We are a team of three and had a focus on our learning rather then worrying about making a really cool product. This meant we weren’t rushed in our planning and took the time to step back and look at the bigger picture. Hence, our planning was thorough and thus meant our development was efficient and effective.

photo 2Another factor that helped was having a small minimum viable product. We decided on a 2 by 2 grid, which meant only 2 faces, however, not knowing how difficult this was going to be it was great having a small MVP. We achieved this quite early on, which meant we could dive into our stretch goals.

Other learnings / experiences from Phase 2 have been embracing unexpected learning opportunities.  In our cohort project in week 6, I was suppose to be in the front end / JS team but due to illnesses was in the back end with Ruby. It took me a little while to be happy with this, however, learnt lots.

I think I am tending towards the front end as I like creating stuff on the web and interacting with the web.

I had an ‘aha!’ moment during week 6 where I was reading this job description:

Screen Shot 2015-06-14 at 12.16.58 pm

and realised that I could understand everything that it is talking about and that I could tick off most of them to some sort of degree. That was exciting!

Here comes Phase 3, three weeks – learning Rails, more JS, JQuery etc and then the final cohort project! Bring it on!