If machines can learn, then maybe we should never stop!!...
Can we harness
our passion for a new start in our working lives? I think so! Einstein theorised that we become
more dogmatic and settled from our 30’s onwards, so how does this transform us
into relics of the past?? In software, younger minds are preferred as they
learn quicker, are more dynamic and less dogmatic! I submit that it’s actually
a matter of attitude, if we commit to the pursuit of knowledge and engage in
continuous learning at any age, then we will succeed like we are 18 years old
again!
The good news
is that its never too late to switch careers, the bad news is that it takes
passion, commitment, aptitude and belief in the ability to do so! If you are
passionate about Technology, then my advice is to go for it, do so with a
committed heart and welcome everything the industry brings!
So, if you want
to learn software to any level, then my starting advice is the following:
Map out your goals – Know why you are making the effort, as the
commitment required will challenge your belief in your ability to succeed! If
you know what you want from it, it will keep you focused when times get tough especially
in the early part of the learning curve!
Plan your learning experience – Research what you want to be, map out
what you need to learn and plan the strategy to complete your learning curve in
the timetable of your life. A cautionary note, don’t overstretch, try to keep
your goals at entry level. Learning a
single OOP language for the first time is a high intensity endeavour and
stressful! Work through it in depth and at a slower pace then you would with
subsequent languages. It will determine how good you are on following languages
you learn. Why not learn computer science 101 first, then a single OOP language
where you can branch out like I’m doing currently. I learned C# at college, now
I’m learning Java, Python and SQL to take me to the next level.
Computer Science First – You are free do go onto Code Academy and
start on Java, etc but getting to know the fundamentals of computer science
first is a great idea! It makes learning the languages that are based on it much
easier. Knowing about Object Orientated Programming, Scripts, Striping, RAID,
Storage, Stack & Heap plus others gives you a solid grounding before your
learning experience in coding. Also, learning how to use the version control
tool Github is a great idea! Code Academy has a recommended course on Github,
which I was made aware of by an acquaintance. It’s not easy to pick up Github
on the fly so learning it in a structured manner makes good sense.
Try to Code Daily – Coding skills are a practiced skill; do drill
daily in them. Code for as long as you want in 35-minute increments. A 2-minute
break will give the mind a rest and allow you to operate at a higher
intellectual level when coding. Also, the mind needs time to orientate itself
to a ‘coders mind set’ so ensure frequent coding takes place. It’s a difficult
ask from experience but worth it in building coding skills iteratively, which
is the most effective approach.
Learn to research problems and learn to love it! – There is nothing more frustrating
then hitting a brick wall. When you see a brick wall as a juicy challenge, then
you have a good approach. Google is your friend and the best hits for coding
problems often leads you to stackoverflow.com. Open an account there for free,
I guarantee it will often come in handy!
Map your progress – Learning plans are great for ensuring you are
progressing as you designed. If you can map your progress, you can make plans
to start developing your own portfolio when your skills reach a marketable
level.
College Courses Rock – If you are lucky enough like myself to land
yourself a college course, then groovy is an understatement! Use all material
given and shoot for best possible outcomes through reiterating over it. I was
also lucky enough at Dublin Business School (DBS) to be on a specialist
software course, where the lecturer was very experienced in the practice and
the theory of software. The insights and practical advice will stand by me for
the rest of my days in the industry! When you love the material and have a
passion for it, you retain knowledge much quicker so apply yourself accordingly.
Twin Track Approach is King! – When looking for a job with no
professional coding experience, having industry certifications from the likes
of Microsoft (MTA) and Oracle (OCA) is a must! Plan your academics and/or
industry certifications so you have coverage of software development (computer
science/coding/development) and databases in particular.
When in training, start networking! – I have learnt over the years that
those who don’t actively network do not get on in life! People are more
comfortable really knowing you, which will give you an edge at an interview.
Network on meetup.com, go-to the meets and learn about the coding languages and
new technologies out there. Make contacts and professional friends in those you
meet with and stay in touch over social media. Also, circulate blogs and videos
out over social media keeping your network informed of what you are doing and
show off your latest coding project that is non propriety over Github. A
portfolio site like mine at http://jmulhall.azurewebsites.net is also a great idea as it allows you
to showcase your projects and details in one place. It also makes those future
employers more comfortable in their effort to get to know you!
In order to be
sustainable in software, we need to take some life lessons to heart on never
stop learning, never stop loving what you do and never give up! We decide our
own futures and despite the young feel to the Software Industry, it welcomes
all those who belong there regardless of age, so grasp your future today! Maybe
we will share a story or two at the next industry Software meet, it would be my
great pleasure to watch you succeed from a decision you make in your life
today!
Sources/Credits:
Pics;
Credits;
Nicolai Berntsen
contributed the feature photo of Union Station via www.unsplash.com