How I Became A Senior Javascript Developer

I wanted to be a physicist , but for some reason, programming came to my life and change it in one of the hardest times to me.

A teacher from the physics school, told me about a job to create kinematics simulations in Java applets, and asked me to take his class of basic programming in java. I discovered a big new world and I was good at it.

It was a time when I decided to be economically independent, I opened a bar with my best friend, we were doing good, and it was a successful business for an inexpert guy like me. My father was opposed to that idea and we argued for a long time for that, “that’s not the kind of life I want for my son” he said. I decided to move from my parents home. In that time I knew the love of my life, and asked her to move and start our home.

Our economy wasn’t good, the bar situation wasn’t good, and we started to have a bad time regarding our incomes. I realized that physics wasn’t good enough for living in Colombia and quit university, also it came with the issue that I couldn’t work at the physics school as programmer.

That bad time forced to take jobs that I didn’t like, I worked in call centers, and I was really unhappy doing that jobs. My girl has always supported me, I don’t know what to do if I wasn’t with her. She worked hard while I was trying to realize what to do with my life.

I decided to start some programming courses in not well named institutes, I learned visual basic, and start loving programming.

It was really hard to find a job in programming, because I was very inexpert and here in Colombia if you don’t have a university degree, you are nothing.

My father and I started having a good relationship again and he helped me to finance my first semester of Systems engineering (equivalent to computer science).

I’ve always been a persons that tries to move forward constantly. I started seeking my first official programming job. All the colombian companies rejected me, because I didn’t have a diploma. For them (the colombian companies owners and managers) you can be the worst programmer, but if you have an engineer degree, you’re enough. I didn’t quit about to start working in programming, and it took about one year unemployed. In that time my girlfriend still supported me, she’s the best person I have in my life (we’re still together after 13 years of relationship, and is the person I love the most). I got depressed and she didn’t let me down. She was always telling me to have patience and one day that job will knock our door.

Finally I got that job.

After one year seeking for a programming job, I started working in a courier company, their system was built in fox pro (no visual fox pro, fox pro the blue screened one, if you are as old as me you may remember it). I had to administer data bases and manually migrate databases from dbf to sql server.

I thought if I didn’t change that old fox pro program, probably I would got crazy. Because that system was really slow. I asked my boss for part time start to migrate that system to php mysql, but he wasn’t a visionary person and he asked me to not do so.

I started a new courier system by my own and asked a smaller company to test it was that good that this company bought it. Then a couple months passed and I showed my boss that system and how it worked in a smaller company, also I automated a lot of processes that i had to do manually and showed him that I improved my productivity 400%. He was amazed and gave me permission to implement it at the company.

My first failure.

After months developing the new company’s core system, it was finally ready to go to production, I did a lot of testing. But for the first time, I experienced concurrency. PHP needed to reload the entire page each time you send a request, so it was to slow for the barcode scanners operators. I knew it won’t work well, people started to get annoyed because my new system, the one that I promised would be better, was too slow.

taken from https://www.thefrontendlab.com/javascript-developer-–-angular,-react,-vanilla-js-–-you-love-it-all!-c-234-p-1453

Javascript saved my job.

I was doing a lot of research on how I could make my system faster, and after days of research I found a lot of anwers in Foros del web . Some people had the same problem and started talking about AJAX. I thought it was a programming language but it was combination of javascript at the frontend side and whatever language you were using at the backend side and also some different programming techniques. I realized that I had not to change php to other technology, also I started understanding what is frontend programming and backend programming.

To start implementing AJAX in my system, I had to learn Javascript, and realized that reloading the whole page to send http requests to the server wasn’t efficient. I don’t like inefficient systems, I really love to improve systems response to requests, so I noticed javascript and ajax was the right way.

I improved all my system responses to requests and people started enjoying using my system. when it got stable I started asking questions to people of all departments inside the company and start helping them with their processes and make their jobs more productive. Our clients noticed that we improved our productivity. My project was a completely success.

Steps ahead from other colleagues in my country.

The best thing that could happen to you in the programming world is to have problems you never solved in the past. Learning Javascript and AJAX made me a programmer that was a couple steps ahead from my colleagues, while some of my colleagues only knew how to make PHP spit html and load the whole page per each request, I was creating single page applications without knowing it. I also started learning more and more about the differences between backend and frontend, my workmates didn’t know about these two terms, almost all of the programmers I knew in that time were working in Java, C#, ASP and PHP, and colombian people used to be lazy to learn new things, so noticing the technologies to come, made me mark the difference between my colleagues and me. I realized this when Everis hired me as Sencha-ExtJs developer even without knowing that framework (I was honest with them and told I haven’t worked in the past with it) but despite of that they hired me because they were looking for a javascript developer for 6 months without, at least, one result.

Jquery made my job easier

When I knew jquery and realized that an xmlHttpRequest can be done in one line of code, were the biggest news to my career. Doing single page applications with Jquery was faster than with Vanilla Javascript, an AJAX request passed from 30 lines to only one or two, fantastic!

Also adding animations to my applications UI did my work more attractive to my employers.

I thought i was the master of javascript.

You don’t know JS

Knowing jquery doesn’t mean you know Javascript, if you my dear reader, love front end development and think you’re the master of javascript because you can create really good UI with all those animations, let me tell you that you’re wrong. There was a time that I believed I was a javascript master because I had the ability of creating really cool stuff with Jquery. But the sad reality was I didn’t know nothing from javascript.

So when you come from a programming world in which only exists PHP, Java and ASP, and you don’t know the difference between frontend and backend, javascript is the ugly girl in town. So knowing jquery for creating a couple of UI behaviors is more than enough. But then you realized that jquery is only a library that has a lot prebuilt functionalities and you can not develop things that Jquery doesn’t have out of the box, you notice you don’t know javascript.

MedellinJS

I knew that I wasn’t the best javascript developer, and I’ve never pretended to be the best one. I started doing my research over the internet about Javascript documentation, tutorials and posts.

It was about 2012, and there were tons of repeated information regarding the javascript ecosystem, also you’re in an environment where everybody hates javascript, and a lot of people don’t know the difference between backend and frontend. So it’s sad that maybe you’re wrong on what you believed that would happen in web development, and some PHP frameworks came out to kill the vanilla PHP way, and people and companies start using them and build things faster, I knew it wasn’t bad, but they were still reloading the whole page per request to the server. So i tried to look for people in my city that were developing javascript stuff, and that search wasn’t getting good results, all my colleagues used to say to me, hey man, learn x php framework, because javascript is not good enough to build things quickly. But i wasn’t cared about building things faster, I was cared about web applications performance.

I found info about barcamp, an event where some programmers and non programmers talk about things happening in technology. Iwent to this event and enter to a talk about angularJS, I don’t remeber the speecher’s name, but this man showed how to build things in angular and I fell in love with it. A couple days later I started my research about Angular and started learning it. Then in my researching I found meetup.com, and realized that there was a javascript community here in Medellín, my city. This community’s name is MedellinJS, it was founded by some guys that loved Javascript. I started going to all the talkings in this community and it helped a lot to know about the javascript ecosystem.

MedellinJS is nowadays the biggest software developers community in Medellín and I owe its organizers a lot of things that I know today.

What the F*** is NodeJS

One of my career mentors (he doesn’t know this) is Julián Duque, not only his knowledge, but his passion to share it, it’s one of the things that has inspired me not only to be a better developer, also to be a better person.

Julián is the founder of MedellínJs and in one of the events they organized he was speaking about NodeJS, I remembered when he said that nodeJS was Javascript at the server side, I was like, holly sh** how’s that possible?

I started my research (yes, again) about nodeJS and started learning it. If you are a software developer and don’t like to do researching and learning new things, man probably this is not for you. NodeJS is making javascript the real fullstack programming language, there are really small differences between programming Javascript at the backend in NodeJS and programming javascript in frontend, so the good thing here is that you don’t need to learn other programming languages to do both backend and frontend.

Javascript frameworks and libraries

If you want to be a Javascript developer frameworks and libraries are no a must, but if you don’t use the you probably need to create a lot of things from scratch, and outside our bubble, there are a lot of better programmers than you or me, that had developed a lot of software solutions and found things in common in all of them, so they started creating this common features and putting them together in something called library or framework.

A library is a lot of prebuilt methods and stuff tha help you to solve a pretty commons use cases.

A framework is a lot of use cases and practices that are put together in a boilerplate codebase that helps you to manage code with the best practices that the framework creators know after being programming for a while.

You can use them, or not, but nowadays you don’t have to “invent the wheel” again.

In frontEnd I recommend to learn ReactJS and VueJs.

In backend I recommend to learn ExpressJS, SailsJS.

Conclusion

Nowadays I’m a senior (senior developer means to me that you have a lot of experience, but you’re not an almighty or a know-it-all) javascript developer, or at least I think I am. I’m not trying to convince you to start a career in software development and also I’m not saying that javascript is the best tool for software development. I’m trying to show you that if you put effort you can do the things you want, and I want you to do research, a lot of it, to look for the things you like, and if you don’t know what things you like yet, keep wondering, researching and trying. Thanks for reading this.

My name is Camilo Montoya, I live in colombia and software development is my passion and my profession. I’m also a senior Javascript developer and freelance consultant, currently working with ReactJS and nodeJS microservices, also currently learning VueJS. Sometimes I create music in my freetime and enjoy my time with my beloved wife. If you want to contact me I’m at linkedIn or at twitter as @camilomontoyau

Like what you read? Give Camilo Montoya a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.