Journey.

I never liked computer science as a course in school, I failed FORTRAN, took the course the next year as Python and had to cram my way through. 
I loved Computers, Technology. I in fact had ‘gadgets’; PlayStation (portable/console), Media Players and so on, and a friend called me ‘Gadget Man’…

I wanted a career in IT (Information Security). I was on this path, taking Networking courses till I came across a “Fire brand” Tech Evangelist on twitter who unknowing to him, converted me, and I took a detour to coding.

Am I loving it? Yes.

Am I sure? Yes.

How difficult has it been for me? Very difficult.

Do I want to stop? No
 
I somehow found my way to code Academy, started a Python course, got a python editor/shell and started the code life an these are what I face(d):

Beginning:
I started the course, practiced, started doing things i couldn’t do in school: ask for input, concatenate strings confidence was growing — in three months I should be very good, right?

No.

I started getting these errors — Type Errors, Name Errors and very annoying red-lettered sentences in the shell…
I didn’t know anybody, there was no teacher to go to for help… i read the documentations, found my way and then I realized it’s a lot harder.

I Then moved a step higher — conditionals and loops. It was the same cycle — do easy things. get stuck. at this point, I knew I needed more than just documentations to get by, I needed someone to explain to me… Stack Overflow helped a lot, but I couldn’t get what I really wanted, so I started following developers on social media, tried starting conversations, stalked them just so I could form a kind of bond and it worked. I met very awesome developers on twitter, java, PHP, JavaScript, Ruby developers. Sometimes
it would feel like I have too many problems, I would have the “aren’t you meant to know this?” thought, but I didn’t care. I kept on asking, and they became my friends/mentors by force.

In following these developers, I was exposed to many things… too many information and I was drowning in them. what is a Git? what is a framework, what do they do? Angular, React(“to what?”), MEAN stack, MongoDB (“Do you mean Mango?”), front end, back end. XML, JSON (which I called ‘Jason’ at that time) what do they do? so I started to read up. I deviated from actually learning the basics of python and started learning tools I wasn’t supposed to learn at that time. It was so overwhelming and I quit.

Bye!

“I’m not doing again”.

I didn’t type any code for two weeks until I came across a blog where I found out someone else was going through same phase. 
 
 Motivation++

Not knowing what to learn
So I started seeing articles “Top 10 programming languages of the year 2070…”, “Top programming jobs…”, “xxx language programmers earn the most…”

what do I learn? I started seeing developers bio on twitter… one person codes in x different languages, another one in 3, another, xx. How? It was intimidating. Decided I was going to learn PHP, JavaScript, Swift and Ruby, because intimidation.(pun definitely intended).
I left Python, dove into JavaScript( because I was seeing a lot of articles about it being easy ). I did for like 2 days and left because it was different… semi-colons, curly braces and sort. it was too complicated for me. Two developers on twitter told they only did JavaScript and PHP, and that eased me. I’d learnt from my own experience and also from others’ that I wasn’t ready to ‘pick up’ another language.

Continued with my Python, days, nights, before/after CDS, PPA… got applications where I could run python on my phone… took my problems to the internet; twitter mentors, google… I had made enough errors to know what errors I make always make, or check for where my errors were coming from. I was ‘experienced’ — in my own little way — in debugging, but I knew what the different python errors were because I had made a lot of them and.

I started dreaming code, using the memo app on my phone to write code where I couldn’t use my computer. I could do the ‘FizzBuzz’ challenge, determine an isogram remove duplicates from strings and other cool things. I knew what Git and github meant/did, open source, frame works… they were now coming to me naturally. Guys were asking me for help on slack… I was proud of my achievements and perseverance, but i wasn’t patient.

“You need xxx hours of coding to become a good programmer”

No. I do not!

I wasn’t ready to listen to those kind of talks… “who measures these things?”
“I’ve been coding for 4 years.” I would hear this and start to calculate my age… you mean I won’t be a good developer till i’m 26?… “I started coding while i was in secondary school, 8 years ago” My God. I’ll be 30!

“Becoming a good programmer takes a long, long time and a lot of tedious evenings,” says Mike Arpaia, a former Etsy dev who now builds information security software for Facebook.

That’s the truth. It took long for me to realize, but I did. what I realized was, it doesn’t necessarily mean years, it means “practice and dedication, spending more time in front of your PC” as one of my twitter developer friends said to me. I’m only about 6 months into this, and i’m proud of what I can do.

It’s cool not to know everything and the Impostor syndrome keeps you on your toes
I always saw developers as guys who knew everything… that was until a recent thread “Out of the closet” which started with the:

“My Name is xxxx, i’m a developer at yyyy and i can’t do zzzz without checking google.”, “My name is Abc, I’m a developer at xyz and I can’t implement sssss algorithm in an interview.”

I was studying a material on algorithms and I can explain every single one of the sorting/searching algorithms to a layman, but I find it hard to code them. it’s not a sin, and I know with more practice, I’ll be able to. 
oh, and I only just figured what a “command line App” was yesterday, turns out it’s what I've been doing all my dev life… had to ask four different developers (on twitter obviously) yesterday to be sure.
I’m somewhere in between the beginner and intermediate level.

To sum up, I've learnt that:

  • There will always be things to learn, unlearn and re learn. it’s the beauty of the career.
  • Practice because you have a lot of mistakes to learn from.
  • It’s okay not to know, but bad to stay ignorant.
  • Have Mentors(age doesn’t matter), feel free to reach out for help/’epp’ (after you’ve researched/tried to help yourself),
  • Attend meet ups.

Dear Senior developers, we junior devels will always ‘bug’ you. we know you can be busy, but please help us. You might not be able to help at that instant, but reaching out to us later matters.