My Two Weeks of Work Experience
As a year ten student I have to partake in a two week work experience programme where I find a company to work for during my last two weeks of year ten. I chose to work for a company in central London called 8th Light. 8th Light is a software development company that creates codes and software for clients. They also help clients that are making their own codes, and give them advice on how to make and improve their codes.
My first day at 8th Light consisted mainly of learning the basics of a new programming language called Ruby, using an online tutorial site called RubyMonk to learn and practice most of the basics. This helped me to get a good idea of the layout of the language, although I still have a lot to learn before I can write good codes in Ruby.
Day two of work experience was also full of learning about Ruby and how to code in it. I started the day by learning more of the basics of Ruby before doing some pair work with others. I then spent the rest of the day on a programme called Code Wars in order to improve my knowledge of Ruby. While on Code Wars, I completed various coding challenges with the help of my partner and was able to get through 15 different codes, each with heir own individual challenge and problem. I then had the insightful experience of sitting in a meeting with the client and learning about the various problems faced at the moment and how each end was dealing with their individual tasks.
Day three was composed mainly of improving my knowledge of Ruby on Code Wars with Mark and Dan. I first paired with Mark to create game of FizzBuzz before lunch, then spent the rest of the day with Dan doing various activities and Katas on Code Wars. I think that I am improving rapidly in my understanding of Ruby, as I am able to program and fix more complex codes.
My fourth day at 8th Light was focused on improving my programming skills in Ruby even more. I started the day looking at online books and articles about Ruby, before learning about the Terminal. I learned about most of the shortcuts and how to use them effectively before having fun playing around with the terminal and creating numerous unnecessary files and shortcuts. I then did more pair work with Dan, creating a FizzBuzz game in Atom using Ruby and the Terminal. I think that my programming skills in Ruby have improved drastically as compared to day 1, when I was unable to program anything at all using Ruby. I am looking forward to improving my knowledge of Ruby by using Atom and the Terminal within the next week.
Today was the end of my first week. I was very happy with the results of my week, as I feel that I have learned a lot about multiple subjects across the topic of software development. I have learned a lot about Ruby, the Terminal and Atom, as well as learning a little about Clojure. I have seen professional developers in action, which has been very inspirational and helpful, as I have learned a lot from them all, primarily how to code in Ruby. I will be returning to 8th Light next week for my second week and am looking to learning more about Ruby, Clojure and all the various other things that I have started learning about.
After a relaxing weekend, I returned to 8th light to start my second week of work experience. I have now learned most of the basics of Ruby and so am now able to program some more complex codes. Today I started my first big project: making a game of hangman. My deadline for the game is this Friday and so I will be working full time on it so that it is completed by the end of the week. I did a lot of pair work with Matt to start the user inputs and the technical parts that decide whether the letter that has been inputed is part of the word or not. Tomorrow I will continue to add lives and other necessary functions to the code.
Today I finished my game of hangman. I spent the entire morning puzzling over the system that controls the lives of the player. I managed to resolve the issue a couple of hours after lunch before making a picture representation of the game to go with the lives system. By then, I was joined by Gabbi who helped me refactor my code and remove unnecessary lines from inside al the functions. I have now finished my hangman game, which I am very happy with, as it works properly, with almost no errors. Tomorrow I may start a new game or Kata which I will hopefully also finish by the end of the week.
Today was mainly dedicated to refactoring my game of hangman in order to make the code shorter and more efficient. I spent the entire morning looking through the code to make it shorter by removing duplicate lines and condensing code into shorter sections. I then paired with Dan to make the code work 100% efficiently by looping the game constantly until the player wins or looses, at which point the game is ended. After that, I took a break from hangman to start a game of mastermind, which started well, until I realised that I had no clue how to stop duplicate numbers and that google was offering no plausible solution to my problem. I will try to completely finish my game of hangman tomorrow, then continue on my mastermind problems.
Today I continued on my hangman problems, trying to make a built in dictionary that I could call on to get a random words. It did not work and so I spent the entire day trying to fix various problems around the code. I managed to create a working word bank in another class, but was unable to join it to the main hangman file. this was very annoying and frustrating, but I will continue on the problem tomorrow, and try to fix it.
Today I finished my hangman code completely with some help from Sarah. I fixed some errors in the code, before joining the two separate classes to make a functional, working game that was playable from the terminal. I then learned how to commit files to git hub, which I will probably be using more often.
Here at 8th Light, there are many different things that go on at 8th Light. The developers work on the main topics that are software development- creating codes and software for clients - and helping clients that are making their own codes, giving them advice on how to make and improve their codes. There are also Apprentices, who get paid to study various coding languages for a few years before fully joining the company as developers.
It is a great little company, and I have thoroughly enjoyed my time here, learning new programming languages and all about how a company like this manages their work. Everyone has been very fun and help full, and I have enjoyed every day here. I am now going to put away my keyboard, and enjoy my 6 weeks of fun!