Hey guys. So I thought in this video I'd
do something a bit different and I'll go
through my journey as a professional
software engineer. I'm a full-stack
software engineer, that means that I work
in all different languages from the back
end to the front end, so I can do
back-end DevOps and hosting and server
administration. I can do programming in
Python and front-end development in
JavaScript and some Android and
Angular js. The way that I've got into
programming was I started when I was 12
years old, I got my first computer and I
was just fascinated with making
applications and I was really curious
about how you can make your own programs
on the computer. I think it was a Windows
either 98 or Windows ME machine so very
very old from modern standards. So I looked
up how to basically program and I asked
my parents and they didn't know because
I mean, it's not something you know
unless you're -- especially back then it's
not something you know unless you're a
professional in working with computers. So
I started looking on the internet for
how to program. This was the time of MSN
Messenger so I had quite a few contacts
that I had accrued somehow on MSN
Messenger and there was some technical
people on there so I was chatting to
them a bit as well. And I started by
writing these these batch scripts, so
Windows bash scripts so it's just
basically a command line script and like
a shell script for Windows that you write
a list of commands and it does various
things. So that's how I started and I
made a website using I think it was geocities
or some...I can't remember what
the hosting platform was but it was one
of those build your own websites with
like a WYSIWYG editor that you would
draw on what you wanted and it would
create the website for you and have ads
all over the website if you had the
free version. But I basically created a
website and I started uploading my apps that I
made and it was things like it would
rename the file extension from jpg to
PNG and I called it a JPEG>PNG converter
even though that isn't really converting
the image it's just changing the file
name extension, but as a twelve-year-old
kid these are the kind of things I was
doing and uploading to the uploading to
the Internet. I realized batch scripts
are quite limited and you can't do very
much with them and it's basically all
command line so there's no user
interface and I really wanted to build
an application with a user interface
something you could click on, something
that you could, you know, actually use so
I found a language called the visual
basic vb6
and vb6 is when I really started getting
into programming. It's fairly easy to
learn, at least thinking back if I can learn
it as a 12 year old then it must have
been fairly simple but I just spent
hours and hours and hours just online
looking at other people's source code so
there was various different websites
available that you could download free
source code so it was like other people
would upload their source code and you
could download it and look at that code
a bit like github today but this was
back years and years ago. So I would
download these application and I would just
look through them all. I didn't read any
of the VB documentation at all. I just went
straight into the source code and started
creating things and with vb6 you can
actually, again you draw the user
interface on so you drag buttons onto
the screen and you choose what size you want it and
you know it's quite easy to make it
a GUI. When you double click the button
from the the IDE it takes you to where
you enter the code and then you can
enter code of what that button does when
you when you click it. I used to spend hours and
hours and hours like basically all
of my free time doing this. After a few
years I started to get fairly good at
and I was getting obsessed with
making remote TCP connected applications
so I would just make like a
client-server application and I'd do
some some things like you could open the
CD drive on the remote computer or you
can display messages on the remote
computer I would install this on my
brother's computer which is connected on
the same network and I would then have a
client tool that I made that you could
then control that computer somewhat and
make it do things and just kind of for a
laugh. I was obsessed with this kind of
client-server remote
technology and then I started making
chat applications where basically there
was a chat server kind of like IRC where
you have a chat server and then you have
various clients and at first you can get
one client working with one server and
it gets more complicated
when you want to have multiple clients
working with one server and I figured
all that out and it was it was just like
those lessons I learned was so important
for what I do today. Just the figuring
out how to do things and being
passionate about it and enjoying the
result actually making things that I
enjoyed making because I really enjoyed
spending my free time doing this stuff. I
started to want to put them on the web
so as I mentioned before I used geo
cities and made a website
using their editor which was very basic
it didn't have much control and I wanted to
be able to do things like you know
accept messages and actually have a
proper functioning website with a
back-end language. So then I
discovered PHP I found the W3Schools
website. W3Schools.com website was
just the best website for to learn these things
for me I just I blasted through
the PHP tutorials and the HTML tutorials.
All for free I didn't take any paid
courses or anything at this time so I
was just looking up things
online so I continued doing that for a
year and school had some lessons on
computers but it was very basic stuff
like basic word editing, and at this point I'm
like way beyond all of that because I'm
writing vb6 applications and like
actually working apps that even the
teachers in the school wouldn't be able
to do that at that point. Basically I
didn't get much out of school but then
when it came to choosing college I had
the option to choose
a BTech national or computer IT
practitioners or something like that and
it was a very hands-on course so it was
there was no exams whatsoever some of
that involved doing programming. So I did
some programming there but I mean at
that point the things that they taught
you they're teaching you basic
PHP and at that point I've been doing it
for
for a few years I've been learning PHP
myself so I was already way ahead of the
curve when it came to what they were
teaching there. So I didn't really feel
that I've got that much value out of the
course at college in terms of my career.
But I graduated and I got just under the
the highest marks and then I went to
university at Nottingham-Trent University.
I chose computer systems to study there.
At this point I I knew that I loved
programming but I never looked at it as
as a career that I was going to take. My
idea was that I was just going to learn
it all myself and then build some kind
of app or website or something that's
wildly successful and brings in millions
and millions of pounds. When I chose my
college degree I didn't pick it based on
what I wanted to do as a career I chose
computer systems which is kind of like an array of different computer related
things a lot of architecture and it's
like server and you know
infrastructure and things so like how
you would set up an office network and all things
like that. There was a bit of programming
on it which I which I liked.
They taught us a very tiny bit of
C++ and Java they taught us Java which
was which was interested as well. I
learned a bit of theory behind the
programming because teaching it yourself
you don't learn a lot of the theory and
a lot of the methodologies and things
like that.
So I did learn a bit of that but I didn't
think it was as
beneficial for my career today as
basically picking it up and learning it
myself and teaching myself was. What was
great was that during university
I did a placement year. I did it at a very
reputable company in London and I
really lucked out because I
persisted and carried on trying when
everyone else had kind of given up and
they said "Ah I'm probably not going to
find a placement so I'm just going to
have to continue with the final year."
Lots of my friends had kind of decided
that they were going to just not do the
placement and go straight for the final
year. Right at the end of the summer just
before it was time probably to go back
to uni I got a call
from a company that I started working at.
It was a big company and
they do news, financial
platforms and all these thing.
I started working at a year placement
there and again I think I was quite
lucky with the placement I got because I
got an amazing placement. It wasn't like
I was just making the
tea for everyone and stuff I was
actually in the trenches doing the work.
I was learning so much for them and a
lot of it was kind of server
administration. They had these
big IBM blade chassis which are like
slot in servers that you slot
into this big chassis and I was doing a
lot of maintenance on them so I'd have
to come in on the weekend, come into
London and basically replace memory and
replace CPUs and deal with the the IBM
support and deal with
these vendors and these
companies and also do a lot of the
virtualization, there was a huge
virtualization projects. I was working on
a lot of virtualization and these quite
technical things. There was VMware, setting up
VMware ESX servers which are like
virtualization servers if you
ever buy a virtual server online then
it's going to be running on an
application similar to ESX probably not
exactly ESX. That was an amazing
experience and during that time I really
made a huge effort to
really impress everyone and I didn't
ever want to let anyone down and I just
worked really really hard I was working
like 12 hour days and commuting. I was
commuting about 4 hours a day as well so
just ridiculously long days and getting
up at 5:00 in the morning to get the
train every day because I'm still living
my parents and I had to commute into
London. I did that for a year and at the
end they didn't really want me to go
back to uni they they asked me if I
would stay on for another year and delay
university longer and I really didn't
want to do that I was really ready to go
back. After working so hard for a whole
year I was ready to go back and have
the kind of easy life that it seemed to
be as a student. I went back to
university and I did the final year. At
the end I had a bit of money left over
so I decided that I wasn't going to rush
into finding a job I was just going
to, you know kind of take it easy for a
few weeks maybe do some travelling or
something. But I did I upload my CV to a
couple of websites. I actually started to
get some calls, so I got a call from a recruiter
on like, I think it was the last day of
university, I was still in
student halls or I think university had
finished and I got a call from a
recruiter and they were like we have
your CV, there's a company that is really
interested and are looking for someone
just like you so we'd love for you to come for an
interview. I thought well you know this
kind of came to me I didn't actively
look for this so, this was the first time
I was dealing with recruiters as well. So
I was like yeah sure that sounds great.
That was another company in London and
just after that another recruiter called
me up and asked me if I was
available for an interview with a different
company. So I was kind of going for an interview at
the two companies at the same time. So
I went for this interview for this for
this first company and I got offered the
the role after two interviews. So it was
one interview with the manager and then
one interview with the CTO and but yeah
they offered me the roles so I was like
well it was great money, at
least compared to the internship that I
had, it seemed like a really great
company and it was really amazing
company.
So yeah I basically worked there for
two years. At that point this was
like a IT coordinator role so there was no
there was no programming. But even though
there was no programming in the role I
still I still found some programming
work to do while I was there.
Part of the role was to manage these
videoconference units that
we had in all the offices so it was a
global company and had offices in like
many many countries around the
world and we had video conference units that were
connected together. We had an
issue where they would just kind of
crash and they would just stop
working and there would be these
random problems that would occur. We
needed to restart these like frequently
so I made a script using VB
script that ran on the server that would
periodically check. It would
connect into these servers you could
actually connect into them using SSH and
do some checks and restart them so
restart the unit if it found some issues
with it. And then we built this up so
that it was actually even more advanced and
it would actually call the units
together so it would take a random unit
on one side of the world and a random
unit on
the other side of the world and it would make a call
between them and it would answer the
call on the other side during the non
office hours and then it would record
the stats of that call to a SQL
database. So then we could see like
were the stats high enough. If the stats
weren't high enough, above the
threshold -- so the kilobits per
second and things -- if they weren't above
the threshold then it would email us it
would send a notification to us to say
there's a problem here so we should
actually go and look into it. That was
great but I mean that wasn't the primary role
rather the primary role was basically vendor
management, project management, things
like that. It was great experience but at the
time I still did not want to do
programming as a profession so I was
still doing it in my spare time I'm
still enjoying doing it but some reason
I just really didn't want to do it for
other companies. I don't really know what
the reason was I felt like you know that
maybe there was no future in that career
or that I'd be told some things along
the way that were about programming
saying how all the
programmers are being offshored to
different countries outside the UK and
and you know I kind of believed that
stuff. So I was like, you know for
some reason just didn't want to do
programming as a career at that point. As
I worked there for I think it was a year
and a half, the CTO actually asked my
boss if they needed a developer on the
team so they asked my boss whether I
would be interested in doing some
programming. My boss asked me the
question and at first I was like you
know I do enjoy programming
but it's not really something I want to do
as a career so I'm going to have to turn
it down. I actually turned it down
initially but then I went home and I
thought about it and I was like, "Why do I not want to
do it as a career?" Like why would I
not want to do what I
basically loved doing. I thought about it
a bit and then I decided you know I'll
give it a shot. They gave me some
programming roles or some more
programming tasks on top of the video
conferencing stuff they gave me some more
programming jobs. One of them was to design
like a -- again it was using VB script and
HTML and it was called a pre-boot
environment for Windows. What I
created was an app that allows you to
configure your machine and how you
wanted to build your machine. I made an
application that you could
type in your details and it would figure
out what needed to be installed and it
would configure a remote
server that was sending the
applications to send the correct set of
applications for that particular user so
that when their system was reinstalled
it had all the applications that they
needed to use. So I worked on that and I
really enjoyed that and at this point
I'm doing this part-time so it's
supposed to be like 35% programming and
and 65% doing the other stuff that I
was doing which was vendor
management, license manage like Microsoft
license management and things like that.
But I was enjoying the programming
so I asked to do more and this
project had a particular deadline so
I was like, look if we're going to meet this deadline
I'm going to need to do just this
programming like focus on this entirely
for like two three weeks and then we'll
be able to release it. So I did that, they
let me do that and that was great but
then after that kind of finished and I
went back to the other stuff I kind of
still got a taste for the programming and
I really felt like
this was what I wanted to do now. I could
see that there was a lot of demand for
programmers in the industry there was a
lot of demand and I just thought with my
experience that I have of programming since I
was 12 years old, so this is you know a
long time of like being a
programmer maybe not professionally but
I've been programming and building apps
like all the time. I started looking for
other roles and I started applying but
at first they tell you
"Oh that's great that you have..."
They don't care that you've been programming
since you're 12 years old.
A lot of time these companies and
these recruiters they don't seem to care
about that all they care about is number
of years of professional experience. This
is a bit frustrating to me because I was
like you know maybe I don't have this
working in a company for the programming
but I have personal experience and I have
projects and things that I've done. I was
at least qualified for a junior
programming position. But I just
kept on trying and I did interview after interview
after interview and all
these tests that they would send you
like these little coding challenges and
things I would do these over and over
again and I would just like really just
keep trying and I have so many phone
interviews. I didn't get
many face to face interviews I did just
mostly phone interviews but then there
was a startup that was hiring
that we actually knew someone through
through my wife or then-girlfriend. They
were looking for a developer for their
startup. There was like three people
working in the startup at the time. I met
them in person face to face and they
basically offered me a
role there and it was on more money than
I was earning at the the previous job so
I was like this is amazing and it was
just purely programming they needed
someone to build the application and
work on building the platform and it
was going to be a back-end with an API a
website and two app -- Android and iOS
apps. I was really happy to get this role
and it was really a turning point for me.
They appreciated more my history of
experience and my history of knowledge
and my passion for programming as
opposed to just X number of years
programming professionally. I took that
role and I started working as soon as
my notice period was up. I worked there for
two years and for the whole two years I just
focused on constant programming and
constant building my skills learning
new things and really getting involved
in and making the effort and working
quite hard at this app and we turned it
from basically a simple PHP website to a
kind of professional Python back-end
website with a REST API so we build
a REST API using Django rest framework
and I was learning all these new things
like I hadn't touched Python or anything
before. When they offered me the role and
I accepted it, for the notice period
that I was working with the previous
company in my free time I was
really learning Python and started
learning aggressively and picking it up
so that when I would start I would be
ready. I use Python as the backend
programming language there while I was
there two years and that was really
great I really appreciate that
experience. It really helped grow my career.
But then after that I kind of
started to feel like
it was time to
move on and do something else and do
something a bit different. Yeah I
basically decided that I wanted to be
more free and do contracting and
freelance work. Freelance and
contracting is a lot more high-pressure
you're expected to
perform a lot better and be very skilled
and that when you join and there's not
much time for kind of training and
things like that. Which is what I wanted
because that's how you grow. That's how
you grow and learn. I left that and I
started to contract and since then I've
been contracting for just about a year
now I've only worked at two companies
because I keep going back and forth,
they keep asking me to go back but
I'm really enjoying it I'm
finding it really rewarding work. Yeah
that's basically how I got to where I am
today.
The main thing that I've learned the
number one most important thing from
working in all these different companies
and I know that my career is still young
and there's people that have worked in the
industry for 20-30 years. From what I've
learned from my experience is the number
one most important thing to have when it
comes to all of this stuff and whatever
you want to succeed at is the attitude
that you have towards it. Whatever you're
working whatever you're doing whoever
you're working for you've got to have a
good attitude towards the work. Impress
people. Try and impress people, don't just
you know do the bare minimum that you
can. And it's very easy now in
where we are today where programming
skills are in high demand especially in
cities like where I live in London and I'd
imagine around the world. Programming is
in high demand.
I get like three or four calls a day
from recruiters for different roles
that they want to try and
hire me for. Because it's in demand to
be like Oh, you know I don't need to try
as hard now because I'm in demand so I
could just work anywhere and that's not
a good attitude to have. The attitude that
you want to have is you want to continue
to grow your skills continue to be
better continue to really work hard and
really trying to impress people. Even if
you come in starting at this from you know
very little experience and you're just
getting into it now you don't need to
learn it from 12 years old to to be a
professional developer. If you really
dive into it and you work hard and
you're willing to sacrifice and
sacrifice some time and put the
effort in and the hours in then you can
learn anything and you can learn it
really quickly. You could work for any company
you know you could work for anywhere
that you want any type of role that you
want you can get it you just got to work
hard at it and keep trying. Like in my
last contract I didn't really know, they
wanted someone to work on Angular JS
projects so like front-end Angular JS
projects and I didn't really know
Angular super well at the time I
touched it a little bit, Angular 1.  They were
like, "Do you have experience with this?"  and I said, you
know I don't have tons of experience
with it but I played around with it a
bit and I'm sure I could pick it up and
they were like you know that's fine. So I
joined then and I was kind of
learning on the fly and using my skills
that I'd learned previously but applying
them so the skills of like learning new
things quickly and applying that to
learning Angular and I did
delivered what they wanted I delivered
it they were very happy with it, it
was delivered on time and you know
there were pleased, I got good feedback.
The point I'm trying to make is that it's
not about how many years experience you
have working on something it's about the
attitude that you have when it comes to
working on it. So like when I was working
on its Angular project I was aware that
I was not as skilled on Angular as I
probably needed to be at a time. In my
spare time I just started constantly reading
the documentation, listening to angular
podcasts when I was on the way to work
like just listening to these things and
really immersing myself in the
technology so I could impress and I
could do a good job there. You've got to
have a good attitude, you've got to work
hard and you've got to keep learning new
things and the most important thing in this
industry to learn new things you got
to keep learning, keep expanding your
skills. That's my experience, sorry it's been
quite a long video. But I hope you found it
useful and if you are
looking to get into the career it can
give you some encouragement and if you
have any questions or you want any
advice or anything or you want to share
your story then please feel free to
leave a comment below and I would love
to read the comments and get back to the
comments and things like that so thanks
for watching and I'll see you in the
next video.
