This week I broke the project 😦
Obviously I didn’t completely destroy the project beyond all repair. However, I did do something that in retrospect was a bad idea and caused myself and the team to lose a number of precious working hours.
To put this in context, the project has moved into a phase of development, we now have deadlines that we need to meet, we are intending to have frequent demos with the client, so we really need to have something to show them each time. We also now have a project manager to answer to and a JIRA project to help us plan. Hopefully having this new structure in place will take some of the pressure off the lead developers, meaning that they have more time to do what they do best, namely write code (and help out the interns).
From my point of view this shift away from planning and into a code writing phase is welcome, it is also well timed, as I feel like I am starting to really understand the environment that we are working in and the fundamental concepts of Angular2 are becoming second nature. I was pretty confident that I could write some good code this week.
We have split the functionality of the system into modules, with the three students each working on a module and the senior developers providing support as well as working on the API’s. The senior guys also plan to do some back end work on credit card payment systems at this time.
I have been handed the ‘booking’ module, one of the more essential and complex things to start with. Although we did a large amount of work on the customer booking portal, the admin booking functions are slightly differently and must offer many more options. I got to work on the code and I thought I made good progress, this is where I made my mistake.
This is where I ended up feeling like a bit of a git…
an unpleasant or contemptible person.“that mean old git”
Growing up, that was the meaning of git. We knew much worse names for people and in fact git wasn’t the worst thing you could be called by a long chalk, however, it wasn’t a particularly endearing term. Now GIT means something very different to me, its the system that we use to work collaboratively, in our case we use a repository at GitHub to share our code.
GITHUB…. It seemed so simple when we first looked at it in class, it seemed so straightforward in the early weeks of this project when we went through it on the whiteboard with Chris. It seems so simple…. yet I still can’t quite get my head around it. I really thought I had it nailed. But by the end of last week I managed to push code to the repository that broke the whole project and wasted an entire day for everyone, felt awful. 😦
The fact that I pushed code that worked on my local environment but broke everyone elses ultimately wasn’t the key issue, it was the fact that I opted to push code at 11pm on a Thursday night from home. I don’t go to the office on a Friday as I have college commitments, and so this was he equivalent of pushing before a long weekend. bad idea for everyone. Chris spent a number of hours the next day trying to track down the issues, if I had been in the office I would have been able to advise him on which parts of my code were intended to do what and he probably could have fixed it a lot quicker.
This work placement is teaching me many things, I have learned new frameworks, IDE’s, languages etc, and now it has taught me a key lesson in collaborative work, I need to be more careful with code that I commit to the hub and I need to push it at appropriate times.
Overall, things are going well, I have definately pushed my personal boundaries and learned new skills. It is a little frustrating though in that I don’t feel I have actually contributed much to the overall project. It’s currently a case of good day/bad day, but I feel my understanding of everything is coming together nicely and so hopefully soon the good days will soon start to outnumber the bad ones
Heres hoping 🙂
Tues 8.30 – 4 (147.5)
Weds 8.30 – 4.3 (155.5)
Thurs 8.30 – 4.3 (163.5)
Fri 3 – 4.3 (165)