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