What I’ve learn in the first six months of my first internship.

I’ve officially been at my internship as a Junior Web Developer for six months now, which ultimately means that I’m roughly halfway through, before I return to University to complete my final year of my BSc (Hons) in Computer Science next year.

It’s been an amazing journey. I’ve learnt so much, not only just about technology, but most importantly; about life and how the world works. So below I outline the most important things I’ve learnt.

You need to be out of your comfort zone to grow

Quite possibly the hardest, yet most valuable lesson I’ve learnt in my first internship is that things are hard, and things are easy, and things will continue to be hard, and things will continue to be easy. For me, being a software developer is a continuous cycle of being outside of your comfort zone, learning and finding your way back into your comfort zone, heading out of your comfort zone as you learn the next thing, and then repeating the cycle. Sound familiar? This is such a core concept of software development, and quite frankly career development within any technical industry; learning.

There were times where I felt horrible. Stressed out about projects, deadlines, concepts and theories that I wasn’t quite understanding, I often felt confronted with the fight or flight dilemma. I recall one particular instance when I arrived at work at 8am to find something that had launched the day before was discovered to have some bugs that had somehow survived through testing, and some amends needed to be done. Being a Junior Developer without much live project experience, I naturally panicked and stressed. Chugging coffee and stressing, sat on the edge of my chair, heart-pound as I’m clicking and typing at incredible speed. Ultimately, spending all morning stressing out and rushing to fix the bugs, panicking that it was live, feeling at fault. But what I later realised was that if I stayed calm, breathed and not took it to heart so much then I would have A) saved myself a hell of a lot of stress, imposter syndrome and frustration and B) probably fixed the bugs more effectively and efficiently.

But it was in these scenarios where I grew the most. Looking back now, this was the most valuable lesson I learnt of all, and the one that I’m most truly grateful for. I’ve learnt how to deal with and react to stressful situations, how to remain calm and keep myself in check; a valuable lesson that is guaranteed to be a useful one for the future. Especially in a world where imposter syndrome can be met at every corner.

I’ve learnt that it’s not the end of the world if something goes wrong, yes it may potentially have repercussions, but just breathe and stay calm, it will all be okay. To become a good runner, you need to run, to become a good violinist, you need to play the violin, to become good at handling stress, you need to experience stress. For me, a bit of tough love and the exposure to stressful and anxious situations has not only grown me up, but it’s allowed me to gain the experience to deal with stress.

You NEED to take care of yourself, physically and mentally

This is something I’ve always been an advocate of, even before I started working 40 hours a week full-time, but it was once I started churning out 40 hours a week, getting up at 6am and often getting back at 6pm that I realised the importance of this; you need to take care of yourself. Your body and your mind should always come first.

As a developer, it’s easy to sit at your desk all day, hack away, and then head home and sit yourself in front of the TV for the evening. To be honest, if you drive into work, it’s easy to go for days without any real form of exercise and to not reach your advised 10,000 steps a day. This goes for eating right too, a healthy balanced diet too is also so easy to ignore.

Generally for me, staying physically healthy and eating right makes me so much more productive, it generally makes me more confident in what I do, it makes me feel great and more energised, and all together this equates to an increased performance in my job. I find that even little things such as staying hydrated is something that people rarely do, yet seems to work for me. I always aim to get up every hour, and have a glass of water at my desk at all times. It’s these little things that matter.

Burnout is a real thing. I’d gone a while without any form of significant break from work and it’s only really when I was on a week-long break did I realise that actually, I was pretty burnt out. I  felt like, as J.R.R Tolkien put it, “like butter scraped over too much bread”. I was finding things quite difficult that previously I’d been comfortable with, my ideas weren’t the greatest, and generally I was exhausted, fatigued and the 3pm slump was now a 3pm plummet as my mind became blocked and my energy levels dropped.

Mental health is a serious thing, I’m a firm believer that you should treat your mental health with as much, if not more, care as your physical health. To me it all starts in the mind. For me, things such as taking regular breaks at work, having a laugh, going outside for a walk and listening to music on my lunch break were all things that got me refreshed and set me back on the right course at work. At home, things such as shutting off notifications and putting my phone on ‘do not disturb’, taking time to pursue my hobbies and interests, escaping into a game, book or TV series and getting enough sleep were all things that I’ve found help deal with burnout, and generally keep me relaxed. As well as these, mindfulness is something that also works wonders. It’s definitely something worth checking out.

To me, health is something that so many people ignore, they let life take over and get into a routine where it’s easy to neglect yourself. I’ve experienced this, and it’s very easy to do. But really, you are the first thing that you should take care of. Wellness comes from within, and ensuring this is something that has had benefits within every aspect of my life, not just within my career, but my relationships, family, friends and education have all benefited from this. Treat your body like a temple, and you’ll be amazed at the increase in productivity, energy and well-being that you’ll be rewarded with.

Drive

I’d always been a driven and ambitious individual, after two years of college and two years at University, my CV is stocked full of extra projects and experience that I’ve absolutely loved doing. But this internship gave me an even bigger drive boost I didn’t even know was possible.

As soon as I started working with and using modern, industry standard, technologies on a day-to-day basis I suddenly wanted to know EVERYTHING. From little things such as reading up on tech blogs and tech news over my breakfast coffee, to taking part in extra online courses and programs to mop up my development skills, I suddenly became incredibly career driven. I constantly had twenty tabs open relating to things such as tech blogs, courses, LinkedIn discussions, networking events, articles on random tech topics I found interesting, an endless goldmine of things that I wanted to know and read about. Suddenly I felt so involved, I quickly became active in the tech community. I began to write and blog, showcasing my own thoughts and ideas into the tech community. I wanted to be involved and I wanted to talk to like-minded people.

Do it properly, the devil is in the detail

At University, many of my projects didn’t involve coding with other people, no collaboration. So when spaghetti code was written and little hacks or hot fixes here and there were implemented, it didn’t really have that many repercussions. In industry however, 90% of the time I was working in a team, and 100% of the time I knew somebody, someday would pick up my code and read it and add to it.

On a day-to-day basis I was collaborating with others to build systems, that had to work, and had to work well. At the beginning of my internship, my coding skills weren’t that great, I’ll stand up and admit that. I mean, the stuff I wrote worked, but often the code could have been better. Later down the line, when I knew others would be reading and adding to my codebase I realised that I need to be detailed in my approach, my code needed to be refactored well and it needed to be efficient, readable and well documented. Things mattered here, and I couldn’t be lazy, it needed to be done properly. Industry standard and organised.

You can’t hide in industry. No hacks or quick fixes. No quickly getting things built. They needed to be done correctly, because you never know who will pick the codebase up in X number of months. Do it properly, take your time, be detailed. If it takes time, then it takes time, but it’ll be so much more worth it when you end up writing a solid, organised and efficient codebase that you can be proud of.

This is the same for version control (one of the most important technical skills I’ve gained from working in industry), I quickly discovered how great version control was for collaboration. The process of branching off from production, writing code, merging back in and pushing, and potentially getting merge conflicts was something that taught me the values of teamwork, communication and it made it evident how much can actually be achieved when working as a team.

Imposter syndrome is real, and boy it can be dangerous

Now this is a lesson that I learnt the hard way. Software developers are notoriously famous for experiencing “imposter syndrome” or feeling “like you’re a fraud and the whole world is going to find you out.” Often, I was thrown in the deep end with my internship. Especially early days when I was still adjusting to the 40 hour week. In my opinion University just doesn’t prepare you for the working world well enough. But the deep end was where I grew the most, yes it took time to get afloat, but as previously stated, nothing makes you grow like being outside of your comfort zone.

Often I was thrown into projects that I found difficult, an array of new technologies, concepts and methodologies that I was expected to learn and build a successful and well-functioning system with, and often this was difficult for a twenty year old intern to take in. Especially when deadlines and time constraints were thrown into the mix. Often thoughts such as “am I cut out for this?” and “do all interns feel like this?” popped up, and sometimes these would spiral out of control into a whirlwind of self-doubt, unconfidence and anxiety. There were days when my confidence was absolutely shot, I felt stuck and I felt like I wasn’t getting anywhere. I just didn’t feel good enough. But then next day, all it’d take was some success with a project and suddenly it was gone, it flipped over and suddenly I’d become more confident in my abilities and aware of myself.

Eventually I learnt to deal with this better, through reminding myself of my skillset, reminding myself how far I’d come and how much I actually did know. I won’t lie, I’ve still not figured out how to completely avoid imposter syndrome, but to be honest I don’t know if I ever will. I think it’s just a part of life, in any career path. However little things such as explaining concepts to other people, looking back at old projects to see how far I’ve come, doing something I know I’m good at all helped. Another thing worth mentioning is how supportive the tech community is of this. So many times I looked towards blog posts and articles on imposter syndrome within software developers for help and advice. This was probably the best thing I could have done to deal with imposter syndrome. It was comforting to know that I wasn’t alone in this feeling, and that it’s a common occurrence not only in Junior Developers, but also experienced Senior Developers. It’s important to stay calm, and remind yourself how great you are, and how far you’ve come.

I find that confidence is key here, it’s important to be confident, it may be hard, but be confident in your abilities. It’s gotten you this far after all, hasn’t it?

To make the best of your internship, you need to get an all-round experience

I’ve been exposed to so much in my internship, from the initial design of front-end interfaces through wireframes and PSD files, to building complex database queries with more than four joins, to using version control within a team environment, to micro-managing my own projects and conforming to deadlines. Everything that I got exposed to has helped advance my career, knowledge and skillset in some way or another. I began the internship having only University and freelance project experience, but six months in an agency with developers, designers and a manager has taught me so much, across such a broad spectrum of things. With a broad foundation of knowledge across multiple areas of software development, I now know that I can specialise in a certain area and still be able to work with someone who specialises in another area. For example, having designed some wireframes for a particular interface in my internship, I now know that in X amount of years, if I’m building an interface myself, I can talk to a designer about the wireframes and design behind it. Not only does this improve communication between teams and individuals, but it also results in an increased development of whatever it is that is being built.

A key piece of advice I’d give to any interns, or anyone that is starting out in software development is to gain exposure to as much as possible. Even if you don’t see yourself going into that area in the future, or even if you don’t particularly enjoy that specific area; learn and experience it. It may even give you the edge over other candidates in a job application. You’re young, so try to see it all, and try to fill your head with as much knowledge as you possibly can, an internship only lasts so long, so make the most of it.

An internship is hard, especially when it’s your first. But stick with it, it’ll all be worth it. Nothing worth having comes easy.

Advertisements

Why kids should learn to code

Steve Jobs once said “Everybody in this country should learn to program a computer, because it teaches you how to think”.

But why?

Kids in school today are taught a wide variety of things, from core mathematics to Biology to Spanish to English, there are absolutely dozens of subject areas that each generation of the future’s minds are being taught and then tested on each year. But when you actually think about it, through this are we teaching them the right skills? What do kids actively learn from this? Now (DISCLAIMER) please don’t get me wrong, I’m not saying “Hey, let’s change up the national curriculum, because I have an opinion on something”, very far from it even. I believe what we currently teach is great, but I simply believe that Computer Science and Information Technology subjects are being ignored and are lagging behind, and I believe we need to start kids on these sort of courses earlier. For me this all comes down to one question, are we teaching kids the right skills? Not knowledge in the form of facts and recallable information, but skills. Actual applicable abilities and capacities that people know how to use.

If you go out today, and ask a child “what is the powerhouse of a cell?”, I bet they could answer. “Mitochondria” they quickly fire back at you. You think great, this child knows their Biology, and could potentially make a great Biologist one day. But however, give them a problem domain relating to Biology and then ask them to solve this problem and I bet this test is more challenging for them, they might take more time, they might have to give multiple attempts or they may even give up completely.

This is because the ability to solve problems is significantly different and varied from the ability to recall knowledge. After all, the human memory supposedly has an infinite capacity to store knowledge for potential later use, it even has Psychologist George Miller’s 7 (plus or minus 2) concept for storing short term information for quick-fire recollection. However, using knowledge to solve problems is a much more complicated neurological process, involving a multitude of electrochemical signals formed within neurons that move along axons to jump from one neuron to another across synapses through neurotransmitter chemicals being released. Sounds much more complicated, right?

When you think about it, in school, how often were/are you challenged to solve a problem. But first, when I say solve a problem I mean the following:

  1. You are given a problem domain, that is essentially, something to solve.
  2. You have an initial state, that is where you currently are.
  3. You have a goal state, that is where you want to be/a desired outcome.
  4. The means to get from the initial state to the goal state are unknown, and you are required to reach this goal state through forming a bunch of intermediate states, or instructions. With each intermediate state taking you one step closer to the goal state and one step further away from the initial state.

So to me, problem solving can simply be defined as the arrow in the middle of the following statement:

Initial State -> Goal State

(With the arrow being potentially a lot of frustration, pain and Stack Overflow, although with a significant amount of learning)

So back to the point, problem solving can be difficult, and effectively, programming can be seen as problem solving.

At the start of any programming project, small or large, you are given a problem domain, or something to solve. For example, “write a program that outputs the Fibonacci sequence” or “write a program that outputs the names of every string in an array but without any vowels in it”. Essentially, you are required to think about how to approach each problem, and then using a variety of programming concepts such as flow control, variables, input and output, structures, objects, strings, arrays, mathematics, functions (etc) to create/construct a solution to the problem. That is, you use core programming concepts to reach a desired outcome.

Now we’ve made the link between programming and problem solving, let’s talk about the real question I’m answering; why kids should learn to code.

When kids learn to code, they are learning to solve problems. They’re actively being given initial states and goal states, and they are being made to think up ways to create the intermediate states in between, to eventually reach the desired outcome. I do not believe one gets exposure to this sort of practical, theoretical and significantly challenging thinking from any other subject, maybe mathematics or physics, but with this you are implementing other people’s solutions to problems, instead of creating your own. So surely challenging the younger generation to become better at thinking in this way will result in more problems in the future being solved, right? I believe that instead of teaching kids a whole bunch of information that in a job they are required to simply recall and apply to scenarios, how about we teach them how to create their own solutions to scenarios, and we teach them how to think rather than how to recall information.

Ultimately, I believe that Computer Science, and any educational subject that gives exposure to programming and coding teaches an immense range of skills that no other subject at school even remotely touches upon; practically solving problems and creating solutions to problems. In essence, programming makes you think, and boy does it make you think hard. So through pushing the benefits of learning to code, let’s make kids think in a way that is practical, theoretical, productive, active, engaging, stimulating, creative and also, pretty damn fun.

Why do I like building Web Apps?

The other day I got asked a question that I’ve thought about but never really taken the time to answer; “Why do you want to develop Web Applications over standard software engineering?“. So I started explaining my answer out to them and it occurred to me that this would be a good blog post.

So, why do I like building Web Applications?

My first reason is the range of technologies that you use on a regular basis. If I get asked to develop an app as a Uni assignment I usually end up just using one or two languages or technologies at max, usually C# or C++, as well as Git. Now compare this to when I develop an app for a freelance client; I’ll end up writing pieces of HTML, CSS, JavaScript, JQuery, AJAX, PHP, SQL, using mySQL, using Git and potentially many more different and varied technologies, furthermore this list doesn’t even include an app that is built using a framework or another library. Essentially, I like the fact that I usually have to use in excess of around 8 different languages or technologies to build a Web App that I’m happy with. This is partially down to the fact that I love learning new things. Any form of software development requires constant learning to stay on top of the game, this appeals to me as I’m attracted to learning new things.

Secondly, I love how the system or app I’m building needs these technologies to work together. I need to make sure the PHP script I wrote is connecting to the database correctly and that it’s returning the correct query result through mySQL with the correct SQL query, I need to make sure the AJAX is returning a value from the correct PHP script, I need to make sure every CSS rule I’m using is applying to the correct HTML tag, I need to make sure that I regularly add and commit these changes with Git, the list goes on and on… having to do so many things may sound tedious and difficult, but I love it. Essentially, making sure all the different technologies I’m using work together seamlessly and bringing my application together like building blocks, making sure they all fit together impeccably to create a seamless and whole solution. I like the beginning design process of building a Web App, having the thought process of “Right, I need a Database with these tables, I need to access the Database with this, I need to produce queries based on this script, I need to make sure the script sends the right values to the HTML, and I need to make sure the CSS is styling these values correctly. This is where I feel like I’m genuinely “building” the system. I love feeling like I’m bringing together different technologies in the same way that a builder brings different materials together.

Thirdly, it’s going to be a long while until the web platform becomes obsolete. It’s unreal how many people are dropping desktop software (like Microsoft Word) for online web apps (such as Google Drive). Don’t get me wrong, they’re so many factors why this is the case, portability, availability of devices, syncing across multiple devices being a few. I know that with a career in web programming will yield customers for the rest of my living life. Many businesses are gaining an online presence, and with the evolution of SaaS (Software as a Service) developing for the Web platform seems like the place to be.

As previously mentioned, I love learning new things. I love being in the field of Web Applications Development as there are so many exciting new modern technologies. One of the reasons I got into web applications in the first place was the range of new exciting things I could potentially be using. Being able to build a modern web application with technologies like Ruby, Angular, MongoDB, NodeJS, Ember, React etc is something that I want to do and am passionate about. Knowing that I’m using technologies that are at the forefront of the industry is something that appeals to me, and I’m passionate about learning these.

Now, this isn’t a hate post against software engineering or mobile applications development. I hold high respect for any developer and it’s incredibly important that the tech industry has so many programmers developing for different platforms and with different technologies. However I thought I’d just give my reasons why developing Web Applications specifically interests me.

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

 

Escapism: The best method to work-life balance?

We all face daily stresses. It’s a natural park of adulthood. Whether it’s working a rough 9 to 5 day, arguing with a loved one, building our dream career’s or even simply having too many tasks to complete and not enough time, stress is everywhere and we need to relax, or be prepared to suffer the consequences of burning out.

Everyone has their own methods of relaxing and relieving their brain of stress. Whether it’s socialising with friends, exercising or taking time to do one’s hobbies, the result is the same. We become relaxed. Now in this post, I’m not going to suggest how to relax or achieve that so talked about “work-life balance”, instead I’m going to talk about what I believe to be the most successful way of forgetting our stresses and worries; escapism.

Stress Man

“We all face daily stresses”

At the time of writing this post a quick Google search throws up the definition for escapism as “the tendency to seek distraction and relief from unpleasant realities, especially by seeking entertainment or engaging in fantasy”. In my eyes, this essentially boils down to one key concept; that escapism is simply experiencing a separate completely fictional reality, one where we have almost no responsibilities. We are simply either observing, or we are simply completing tasks that if we fail, have no real damaging consequences. This is completely separate to our actual true reality, where if we fail at an important task, for example making a deadline, then there are (sometimes) dire consequences.

This almost act of living a different life, I find completely magical. That for as little as say 30 minutes a day, we can essentially substitute our stressful life for a completely fictional life that holds almost no stress, worry or responsibility.

So how does one achieve this form of escapism? The wonderful thing about escapism is that all you need to achieve it is find something that gives you the sense of an alternative reality or world; a good book, a thrilling video game, an engaging movie or TV show.

I firmly believe that relaxing with escapism is on a whole different level than relaxing with other conventional methods, such as playing a musical instrument, exercising, listening to music, or playing sport to name a few. Don’t get me wrong, these “conventional” methods of relaxing are still great. They achieve what relaxing is intended to; they take our mind of our stresses, they give us a sense of achievement and they make us happy. But what I’m getting at is that whilst we are playing an instrument we are still sub-consciously thinking about our stresses. We’re still thinking “Once I’ve finished learning this chord progression, I’ve got to take the bins out, do the dishes, clean the kitchen…”. Now if one compares this to getting completely immersed in a fantasy novel, the results are quite fascinating.

Over the last 2 years I’ve been reading George R.R. Martin’s “A Song of Ice and Fire”. Currently this series has 7 books in it, with a grand total of 344 chapters. During these 2 years of reading this book series I’ve had a fair share of stress and faced my fair share of challenges, and I cannot put enough emphasis into how incredible it was to be able to come home after a long day and dive into this wonderfully crafted fictional fantasy world and simply forget my daily stresses.

a-song-of-ice-and-fire-set.jpg

“When immersed in a fictional world, whether via a book, video game or movie, you simply forget your own life for some time”

The thing about using books and video games as forms of escapism is that it’s almost impossible to not become engrossed and completely immersed in the world that you’ve been thrown into. You want to stay in this new fictional world that’s been created for you, so much that once you put the book down or pause the game your real life surroundings feel strangely alien, almost like you’ve not been there for a while. This is the key point that I’m attempting to emphasis. When immersed in a fictional world, whether via a book, video game or movie, you simply forget your own life for some time, and you pick up a life of a fictional character, one that has been created to have no stress or real life worries.

This completely harmless method of relaxing is what I personally find to be the key to staying in a good solid state of mind.

Next time you feel like your life is taking control of you, or you begin to feel the pressure that is simply natural in a human life, I want you to pick up that Sci-Fi novel on your desk, or load up that zombie apocalypse survival horror game and get completely, totally and uncontrollably lost in the magical fictitious world, become the protagonist and substitute your stresses, worries and anxieties for their imaginary responsibilities and you will have successfully found what we all seek when stressed: “distraction and relief from unpleasant realities”.