My Programming Story!
I’ve been programming for around 4 and a half years now. In that time I’ve learnt and programmed in around 9 different programming languages and used around an additional 7 programming related technologies.
My first official cliche “Hello World” program was written around 4 and a half years ago in Visual Basic, as I embarked what became a life changing moment; my first educational qualification in Computer Science. Throughout this course, the programming continued to ramp up in terms of difficulty, eventually we went on to make programs like calculator apps with user interfaces and caesar cipher encryption programs, which was quite a challenging proposition for someone had only started programming around 3 months before.
Then I moved onto my A-Levels where I began to program in Python. Something that turned out to be one of the best decisions of my life, as learning and programming in Python essentially taught me good programming practice. Indentation and white space, choosing the correct loop, passing values by reference to name a few key skills I learnt during this period.
It was also around this time where I had my first real serious experience of Web Programming. I distinctly remember it. Around early December I challenged myself to complete the Extended Project Qualification (EPQ) as part of my A-Levels. For this project I gave myself the task to essentially teach myself HTML, CSS and JavaScript. I decided it would be a good idea to create a website explaining how to create a website (inception). Now the thing about this that I distinctly remember was sitting at my desk in my room around 5pm on a Christmas Eve ready to head to my Grandparents for the traditional family meet-up. “What person codes on Christmas Eve?!” I hear you scream and judge, but I assure you that I had opened Jon Duckett’s “HTML & CSS: Design and Build Websites” (which is still the best resource for web development out there in my opinion) at around 12pm that day and I’d been so engrossed in it that I simply looked up at 5pm to realise I’d been lost in the matrix of header tags and unordered lists for the last 5 hours.
Don’t get me wrong, looking back at the website that I created during this time is painful. It’s an awful blend of header and paragraph tags mixed with the most boring font ever created and an awful bullet point stlye navigation bar. But it felt so magical at the time. Looking at the screen and seeing that I’d learnt the basics of web development, knowing that the world was now my oyster and that I could go out and learn anything I wanted.
The next stage of my programming journey is my A2 level in Computing. Again this was Python, but now it got serious.Elements of object-oriented programming were introduced, and the assignments became very difficult. However, one of these assignments became the piece of work that I can without doubt say has made me the proudest.
We were tasked to create an GUI application that benefited people. This was a very large section of our final grade so I knew I needed to challenge myself. So for this I tasked myself with creating a drag and drop quiz style game that essentially asked students questions from real life A-Level Computing past papers. If the student achieved a high score then they’d be rewarded with a game of Space Invaders! This was one of the most difficult programs I’ve ever had to build. But after hours, days and weeks of surfing Stack Overflow and plugging away at writing code, I found that I’d learnt so much and somewhere over the last couple years I’d actually become quite a good programmer and somewhere I’d stopped being a beginner. Now the reason I’m so proud of this piece of work is that the application I’d developed, submitted alongside a 300 page document report resulted in me achieving a new school record for A2 Computing Coursework. The pain, sweat and tears has meant I’d achieved 69 marks out of a possible 75.
About 5 months later I began to study a BSc (Hons) in Computer Science. The next stage of my developer journey involves studying C# in my first year at University. This was a challenging language, but one that I picked up quite easily having already experienced about 3 programming languages prior to this. 3 challenging University assignments further developed my confidence with programming, with the projects including developing an encryption program with built in frequency analysis, a weather analysis tool that used 4 different sorting and searching algorithms, and a GUI note taking application. Furthermore it was around Christmas this year (I have a thing for having epiphanies around Christmas time okay) that I was very lucky and had another life changing moment; I realised what I wanted to go into in the future. Don’t get me wrong I already knew I wanted to be a programmer, but I didn’t know what area in particular, would it be desktop, would it be web, would it be mobile, or would it be hardware?
I got really into the idea of Web Applications Development. With the main selling point to this being that I wantedto constantly learn new things and I wanted to program using numerous technologies instead of just one standard programming language. This was a turning point for me as it really allowed me to dive right into a Web Development career. I began to build a portfolio of websites for clients, I began to research into things, I learnt numerous new technologies, I gained important contacts. Basically I knew what I wanted to get into, and nobody was going to stop me!
Now fast forward through the 10 months of web programming to today to where I am, sitting in the library writing this blog post. Currently in my Second Year at University we’ve been thrown headfirst into learning and programming in C++.
Who knows what the future will hold? I’m out there searching for a placement year for summer 2017 to summer 2018, ideally in Web Applications Development. This placement year is sure to become one of the most influential things in my life, I’ll learn so much and it would allow me to gain imperative real world experience in the field that I wish to build a career in whilst simultaneously allowing me to expand my knowledge, skills and abilities within the area of Web Applications Development and Web Development.
So there you go, that’s my programming story! Pretty much every big programming related eureka moment I’ve had over the last 4 and a half years. Now, as I begin to design and write programs in C++, one thing is clear to me; I still get the same buzz from programming. I still love the endless problem solving and the challenging thinking processes that are involved in programming. The languages and technologies I use change regularly, but the feeling of compiling a program that you’ve been working on for weeks I still find absolutely fascinating.