What It Feels Like To Be A Developer in 2020 (My Story).

Hi all, time for another blog post! I am working my way to make blogs a more regular thing for myself.

So today I want to share my story with you all, as well as what it feels like to be a developer in 2020 (after almost 10 years of programming).

I’ve been programming since 2011. I started off doing websites on WordPress, so my earliest days of learning to code were mainly spent inside a Barnes N Noble (or Borders back then), thumbing through pages of PHP. At that time, I really felt like I was reading an alien language, and there weren’t any sophisticated YouTube or Udemy tutorials to help me out. So learning just took a long and drawn out amount of time. I spent a lot of my days in cafe lounges next to bookshops reading and practicing out examples for hours upon hours. I freelanced mostly to just get by (but being single I also didn’t have huge expenses — I literally just needed a couch to sleep on and a computer, and I could use a shoe-string budget to eat daily). I saw many people doing programming at that time getting paid serious money; many of who were self taught, so I figured if I just kept the focus, the money would follow for me too.

Frustrated Developer
Photo by Tim Gouw on Unsplash

Around that time also, I found out about meetups — and I thought they were really cool, so I decided to try posting some for JavaScript on Meetup.com. I wasn’t sure who would “meetup” with me, but I guess that’s the fun using the website, right?

The first few meetups went well, but even from the beginning I sort of felt like there were a lot of people who were just as confused about learning JavaScript as I was. If I advertised for a meetup on a specific topic, it was pretty much on me to lead the discussion — or it would go nowhere.

I remember a time where I was reading quite a lot about JavaScript Regular Expressions, and I went full blown “college presentation” style that day I gave the meetup. To my surprise, many people liked the presentation and thought I should give more talks. So I did, and my confidence began to rise. Still, I knew I was still just a confused programmer and to make this group worth my while, I needed support from more senior level programmers.

During those beginning days — if I wanted a talented speaker to come drop by our group to give a JavaScript talk; I’d often hear that I’d have to “fly them out and pay them”. I also remember asking some of my childhood friends who went on to work at companies like Google / Amazon and they’d just show disinterest. One “friend” told me that I’d have to pay him $100/hour since he doesn’t do anything for free anymore, and even though we were friends, he didn’t want to hang out with people so “basic”, it would bring him down.

I also got ignored quite a lot by people I’d reach out to, despite writing really great introductory letters. I remember going to other meetups around the area, then trying to talk to the developers there, and they’d get annoyed that someone like “me” had been let in. It was not fun– I felt like other meetups in the area just weren’t as fun to attend. I was “an impostor” to these senior developers, but a leader of the “blind” to my fellow confused meetup pals. So I just continued to do “JavaScriptLA” instead of join some other meetup and be someone lost in a crowd. To me, this was more educational than sitting in an auditorium with a lot of other developers sizing each other up.

So I continued to keep reading and then presenting/leading each month for JavaScriptLA. It cost me nothing and it was fun. I was always afraid someone would call me out on my lack of knowledge on the subject matter and then chew me out publicly (like a visiting senior developer), but that never happened. The worst response I’d ever get was “Hey I think that’s wrong”, and then I’d ask them to add to the discussion. So I was able to avoid “being the teacher” and instead just the “facilitator”.

Thus, meetups carried on and over time I started getting more people showing up — word of mouth for the group really helped, and I also posted more frequently about the group on social media. I also started getting better at JavaScript and finding work was easier as a freelancer.

However, I was still severely lacking in my knowledge of JavaScript. For all that work doing meetups, you’d think I’d have eventually turned expert right? NOPE, not at all. I was still blind leading blind.

I’d feel it the most when I’d go to an interview for a job and get destroyed by the interviewer. It felt so awkward to be the guy who runs a JavaScript meetup only to not be answer some JavaScript interview questions. This made me depressed for a while, so I vowed to just practice very, very hard at interview questions. Over time I made and curated a list of all the most common interview questions I’d get, and would review them frequently.

Finally I did get a job. I was so happy with myself, because I was finally had a full time job. I felt rich and so for a while I enjoyed that feeling. I went out to some of the best restaurants in LA, I paid for my friends to hang out with me, and I also pumped a lot of cash into the Meetup group. I decided to hire an assistant to help me out with the group so I could focus more on the learning part rather than handling outreach. I was able to finally focus on other aspects of my life too, including getting in better shape and enjoy dating. Life was great– until I lost my job a year after.

I was let go because the company was losing money. It was out of their control, and that often happens with startups. They told me that I had done great while with them, but they just couldn’t afford to keep me on. So I had to scramble fast to look for something else. Initially I thought I’d bounce back, since I was “better” at interviewing and I had strong experience under my belt.

But I wasn’t able to get a job easily. It was JUST as tough as it had been a year previously; if not tougher. Even though I thought I knew a lot about JavaScript, at that time, the JavaScript ecosystem was EXPLODING in complexity. Things I had studied yesterday were now just the baseline. At interviews, I’d get asked if I knew about Grunt, Bower, Gulp, Webpack, Angular, Yeoman, all sorts of brand new technologies I hadn’t used the year before at my job — at that time the minimum to get hired was just knowing JQuery and WordPress (which I had been doing). So I did my best to study and try to learn those technologies so I could talk about them during interviews.

Eventually I did get another job, and I passed the interview. But I got fired a month later, because my boss kept micro managing me and demanding I make the websites work on all browsers including IE8. I hate IE8. It was so frustrating.

Hence, I got depressed again– and thought I should just quit being a developer. Thoughts raced through my mind that I was a nobody, a fraud, an amateur at best– just leading a group when I didn’t deserve to. Those developers in Silicon Valley were right to snub their nose at me and sneer “why are you here, who let you in?”

The “rich life” I once had was gone– and I was back to being broke/strapping by on freelance funds. I felt so humiliated.

Through all that though, one thing remained constant. The bills. And also my grief. And my parents’ constant criticism. No one cared about my problems, I still had to endure each of these things daily. I had to find a way to pay the bills, and it was a struggle. My parents would remind me that I was not an engineer, and thus I was struggling to no avail, I should just find another career path.

I remember watching Breaking Bad through my depression, feeling really sorry for myself like Walter White (who was facing cancer), and I guess while watching that show I thought to myself– do I just want to go out like a wimp and die? Do I just want to be in this endless pain and off myself like Aaron taking heroin in that show? (I know this post suddenly turned so dark).

I suppose though, after watching Walter fight back with all his life and win so much made think about myself; was I just going to succumb to my own “cancer” (the cancer being the one in my mind that says I’m a bad developer/an amateur), or is it more fun to just use my brain like Walter and see how far I can go? Maybe I’ll still die in the end, but at least with some feeling that I actually lived my life rather than being dead now.

—-

So I decided to just get back up and work at my career. I knew I still sucked, but the thing that kept me going was that I’d tell myself, “I have my whole life to figure this out. My life stops when I stop.”

Moving forward from that time, it took me another year of freelancing and studying before I got a job again full time. (Actually maybe it took me 8 months in retrospect). I was “rich” again, but this time I didn’t blow my money. I just kept it in case of emergency again.

The thing that helped this time was that I had studied SO SO much, even if new stuff was coming out, I could learn it in the span of a few weeks. I also made it a point to study every day after I worked, so I’d always be prepared if I lost my job. I studied so much I was even hired by a school to teach for its students some basic JavaScript, which by that time was no problem for me anymore.

This helped me stay on at my job, because I was almost fired 3 different times — the senior management kept thinking they could outsource the work I did for cheaper; as well as get sold by some big firm telling them our work sucked and they could do better; as well as just being really difficult people to work with demanding a lot of crunch hours; throughout it all, they realized that I had the skill and will to succeed. That helped me outlast being outsourced, as well as getting work done on time and more successfully than supposed “consultants and A level developers” they brought in. Many of the senior managers were ultimately fired instead.

I left that company eventually to get a much better and less stressful job where I was truly given the space to just do my job (and not have to battle politics). The best part about it was I left my previous job with my honor in tact and the CEO of that company still interested in working with me some day again. That was so cool. But yah, the new job was more fun and exciting.

Fast forward to 3 more years, I was finally able to get married, have a child and still have success with my career as a JavaScript developer. Life became even more difficult and challenging, but I guess somewhere through all those pain points, I was able to keep myself going no matter how hard it became.

The Meetup group, JavaScriptLA also continued to get better and better every year. Around 2015, I had to stop doing presentations and move out of LA for my new job in the OC. So I decided to form a chapter for OC and teach out in that area. Youtube was also a thing, so I began teaching and recording meetups to that as well. We grew pretty fast thanks to new interest in JavaScript budding all around by new emerging students of the language. Because of the flourishing interest and because the group had so many successful meets in the past, it was now easy to get other speakers to come and present for the group (finally!). Making friends with senior level developers was much easier now, and when I spoke with them over the phone or via email to talk about the Meetup group– they’d also get a sense I knew exactly what they were talking about too, which made them like me and the group even more). So in a sense, I was able to get the group to run on “autopilot”, which helped me out greatly while learning to become a dad as well as continue to work hard at my job.

—-

I’d like to say life is “a bed of rose petals” now, but it’s still difficult. I guess that’s my point with this blog post. The life of a developer is NOT easy. I don’t think it will ever be easy, and I really doubt I’ll ever be able to go back to that life again where I was “RICH” and loaded with cash; where I’ll finally be able to focus on other aspects of my life and not ever have to worry about “learning programming” again.

Instead, I think the path of a developer is always going to become somewhat more complex year after year, and you have to respect that aspect. Even if you do end up getting richer, stay humble, stay frugal, add safety in as much as possible — because just like a program you might build, things could crash– expect bugs along all parts of the way. I say this with experience. The faster you can rebuild, the better off you’ll be in the future.

Today, there’s even more to learn, and it somewhat seems exponential or even factorial with the amount of stuff coming out every month.

Here’s the list of things our group wants to know about this year alone for 2020:

  • React (mid-level & up)
  • Styled components
  • Redux
  • Thunk
  • Hooks
  • Interview topics
  • Webpack
  • Building comprehensive CI/CD pipelines
  • React Native
  • Flutter
  • Dash
  • Vue
  • ES2020
  • JavaScript Compiler Optimization (memory profiling JavaScript, low-level stuff)
  • Micro front-end (adding React to legacy websites)
  • WebAssembly (Rust, etc.)
  • JavaScript web security
  • Node.js best practices
  • TypeScript
  • GraphQL
  • Gatsby
  • Appsync
  • Gridsome (Gatsby for Vue, essentially)

That’s quite A LOT of stuff to traverse, and if you think about each item on that list being a “node” in a “graph”, you’ll realize that each of those nodes has its own set of dependencies as well! Eventually you get into this huge huge rabbit hole of learning and learning; still you’ll find you’ve not even finished the graph traversal, there’s still more to figure out.

And then you realize, hey– maybe I can’t do it all! And you’d be right! Mathematically right! You just don’t have the time.

But do you give up? Do you just say hey, I can’t do it? No, not at all.

As the more experienced and wiser person, I’d tell you — do your own personal best. It’s not about learning EVERYTHING UNDER THE SUN.

I’d love to tell you after all those years being a JavaScript expert is what gets you paid the big bucks. But it’s not. It counts for something, and helps you survive being cut from jobs; but it’s not enough. You have to also just love the process.

It is hard, it is complex, and it’ll always be that way. But love that. To me, that’s what gets you paid the big bucks; when you can just dive into complex subject matter despite it being tough and just plow through it with a smile on your face.

That’s sorta where I am now. My work and running the group and being a parent as well as writing this blog and learning YouTube/filming/editing/managing money (all the aspects of running a group thrown at me) are hard. But I just enjoy it, hence it’s more power to me, and I’m loving this life.

The thing I see consistently as a pattern is that stuff is “hard” at first, but eventually you are smart enough to figure out how to minimize it to something less difficult; and perhaps through your own “recursion” or “iteration”, you eventually make a REALLY difficult thing eventually easy with time. So trust in your own “while loop”. You can do it. I can do it. Life’s great. And ignore anyone who snubs you/sneers at you, thinks you don’t belong– the truth is, they probably are going through the same “hazing” environment as you (and thus probably taking it out on you). Honestly, it’s just as hard for them as it is for you. To me a true “A level Sr. Developer” is someone who can enjoy all the parts of the coding process, even the lesser parts, with as much joy as the harder parts”. So if you come across some developer giving you grief, smile and nod, perhaps cut them some slack and move on with your own work. You’re too busy to be bogged down, just keep going.

Here’s to your success in 2020, and as always feel free to reach out to me with any questions about programming/JavaScripting.

Next time, let’s dive into some topics! After writing all this, I feel like I remember why I even wanted to do this group with even more clarity, and so I’m back with full force! See you all at the next meetup!

Vijay
Head Organizer,
JavaScriptLA

Leave a Reply

Your email address will not be published. Required fields are marked *