📝 README - intro about me
Published: 2022-05-06 02:13:50

## About me
I am a web developer with 2+ years of job experience in the industry. 
I am currently a student taking a diploma program in Web App Development as of 2022.

## Background
### How I got into Web Dev
I got into web development around 2018.

One day I was on Youtube and was somehow a tutorial video titled something like "How to become a web developer" popped up as a recommendation although I had never watched web or software development related videos whatsoever.

I had not had any knowledge as to how websites (even simple static ones) were made today, so it caught my eye and I clicked it.

It was just an introductory video, but I was highly admired by the freedom and possibilities all those technologies could provide us with.

I immediately installed VSCode after and started teaching myself code that day.

### Experiences as a Web developer
I was just a self-taught developer until I got a job in which I worked for 2+ years as a web developer.

The below are the tech stacks I have experiences in.

##### 1. PHP, MySQL, jQuery, Sass

I created several dynamic contents using these languages/library.
I did not have knowledge on PHP, so I had to pick it up as I kept coding creating contents.

I also created a whole website based on mockups and specifications given.
I developed APIs and data was retrieved on client side with asynchronous interactions using jQuery.

This gave me a perfect opportunity to experience full-stack and also to learn to code in MVC (Model-View-Controller) structure for developing the APIs.

##### 2. Vue.js
I also developed a few in-house web application tools using JavaScript library Vue.js, one of which interacts with Gitlab API to access data, manipulates it and outputs a report in a table format.

Another example is an admin tool to add and delete contents users posted, generate lists of particular contents in CSV format, etc.

We also had an in-house PWA (Progressive Web Application) tool for the iPad coded in Vue.js.

##### 3. Nuxt.js + Shopify API (Jamstack)
Nuxt.js was introduced to the company for the purposes of fast loading and better SEO than Vue by using its server-side rendering while retaining Vue's reactivity and flexibility.

It was a responsive EC website and we used Shopify APIs to retrieve product info, interact with shopping bag and also for checkout page code in Shopify liquid.

CI/CD was also implemented using Docker.
CI ran testing code for components as well as store actions when a merge request is created and after the branch is merged.
CD was executed once all tests have passed and application was deployed to either staging or production server depending on the branch.


### What I have learned from the experiences
#### You learn a lot faster more efficiently when you code at work
Unlike when you are just self-taught, you only get so much time to finish each project while meeting all requirements given.
You constantly code, get help from peers or search for solutions on the internet when stuck with a problem, do more study after getting home, etc., which all add up to a significant hours of learning. 

On top of that, since you collaborate with developers in other fields to create contents, you will accumulate knowledge on those fields not even on purpose.


#### Imposter Syndrome is REAL (at least to some degree)
I believe every developer has at least heard of the term or experience to some degree in their career.
Here is the definition by Harvard Business Publishing:
>Imposter syndrome can be defined as a collection of feelings of inadequacy that persist despite evident success. ‘Imposters’ suffer from chronic self-doubt and a sense of intellectual fraudulence that override any feelings of success or external proof of their competence.

reference: [Overcoming Imposter Syndrome](https://hbr.org/2008/05/overcoming-imposter-syndrome#:~:text=Imposter%20syndrome%20can%20be%20defined,external%20proof%20of%20their%20competence.)

There was a phase in my career where no matter how much knowledge and skills I had gained, it just did not feel enough and every developer around you always seemed like they know everything and are more talented.

I do not necessarily feel that way anymore or at least not as much as I used to when I was still a newbie, but I think this is a very common thing for any software developer.

I have seen a Youtube video discussing imposter syndrome where they say the feelings of lack of skills or knowledge occur because you are comparing "the worst of yourself" to "the best of the other developers".

I thought they had a great point because you are not aware of struggles or issues others are going through in their minds and vice versa - chances are other developers only see what your achieved results and might be thinking you are the better developer.


## Current focus
Currently I am going to school in Canada for a one-year program and learning overall IT fundamentals not just web development related, but knowledge that will not hurt to have as a developer.
We will be learning OOP in Java, and also Node.js and React and will be working on multiple projects along the way using those techs.

You might be wondering why go to school when you already have a few years of experience.

One of the reasons I decided to go to school is that although I have a couple years of experience as a developer, because I do not have a computer science degree or any academic background in this field my knowledge is somewhat unbalanced and I figured that I may lack some fundamentals.
This program seemed to be a very fun program and suitable opportunity to cover knowledge and skills evenly.

Another reason is that this program comes with a co-op opportunity where I get to bring all knowledge, skills and background experience to the real world outside my own country and work with developers in a diverse environment with various different backgrounds.

Last but not least, I have always wanted a college degree or diploma in this particular field which is definitely as plus when it come to job hunting.

While studying in school, I would like to enhance JavaScript framework skills especially React and Next.js which I did not have the chance to use in my previous job.

There are other technologies or knowledge I have interests in, but I want my focuses on those for a while at least until I feel confident enough to use at work.

I am also starting to work on a project with two of my companions on the side.
I am the only web developer, but we are very excited that we can bring our different skill sets to develop content.

I will most likely use React and host it on Vercel which interacts with MongoDB using server-less functions and I will also be using cloud storage to upload and read image files.


## Future paths
My path to take is to find a co-op full-time job as a front-end developer and create interactive services using React or Vue (and other frameworks related to them) while constantly staying updated on latest technologies, trends and tips so I constantly grow and become flexible. 

Trying backend development has been on my list too, so hopefully sometime in the future when I have more time I will teach myself Laravel.

I am not necessarily interested in taking other paths other than a developer such as a project manager.

With regards to jobs, developing services for the government or non-profit organizations is my ideal career path for now.