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.
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.
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.
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.
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
- Interview topics
- Building comprehensive CI/CD pipelines
- React Native
- Micro front-end (adding React to legacy websites)
- WebAssembly (Rust, etc.)
- Node.js best practices
- 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.
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.
A cool recommendation is the free tool by Toptal called “Freelance Developer Hourly Rate Explorer.” This freelance calculator caters to 30 different skill sets and could be used to get a better idea on how much you can earn as a freelancer.
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!