Who, What, Why, How “The Hopeless Dev”?

A guide to me.

Who, What, Why, How “The Hopeless Dev”?

Who am I?

Howdy, my name’s Greg! I’m a 26 year old kid who’s been a “software developer” for one year. In quotes because I’m not sure if I can solidly say I’m a dev. I studied at Texas A&M University and got a degree in Electronic Systems Engineering Technology. I can confidently say I did not come out of college ready to be a developer. Instead I was an electrical test engineer for a bit over two and a half years, then finally broke into software development as a backend developer at a marketing company. So that takes care of the who.

What am I doing?

What is The Hopeless Dev about? What will I do with this tech blog? What about TheHopelessDev.com? I want to use The Hopeless Dev as a kind of log for my journey through software development. If I complete a course, I want to leave a review in the hopes that someone might find value in the review. When I finish projects, I want to create walkthroughs that showcase what I learned and how I’ve implemented it. I would also like to use The Hopeless Dev to describe experiences in this career. Interviews, work discussions, and any discussions I have with peers on their experiences.

I want this to be a resource for people who are wandering through this career hopelessly, like I am! Maybe, by creating content and documenting some of this journey, I can grow as a developer and help others along the way. My current plans for The Hopeless Dev involve this hashnode blog, where I’ll write more technical articles. TheHopelessDev.com will be used as a catch all site for links to projects and other types of content I make. I also have GregFlores.dev that will be my personal CV (When I get around to building it...)

Why am I so dramatic?

So why The Hopeless Dev? In all my dramatic honesty, getting to this point has felt like a hopeless ordeal. From not even seeing software development as a career early on, to getting a job I didn’t want that I feared I would get stuck in, to taking a large pay cut and basically throwing out my college degree to get a foot in the door. Even now, I feel like if I don’t make major changes soon, I might never advance further.

So in order to maybe explain my dramatic-ness, let's got through my experiences with programming so far!

It was my second year (2013-2014) at A&M studying Aerospace Engineering, and surprise, I hated it. I failed, dropped, or barely passed most of my classes. There was just one class that I enjoyed. A C++ course. Very introductory and focused around some aerospace concepts, but very fun. So after taking inventory of my life, I realized I wanted to do software development. So here I am, two years into college and I want to change majors. Only one problem, to move over to computer science would require four more years of school, and my scholarships were only going to last for two more years. So I searched for a major that could get me a degree, while I also learned programming, but wouldn’t take long to complete. That’s what brought me to, Electronic Systems Engineering Technology.

ESET was an interesting major. It involved electronic engineering, network engineering, embedded programming, and some robotics. Master of none type of degree. This would get me some college programming experience, and it would only take three more years to graduate. Unfortunately the actual programming side of it was very basic, and didn't teach me any computer science concepts. It was a push in the right direction though. So I applied to internship positions at some large companies, not really understanding what interviewing as a software developer meant. I interviewed with CISCO and Google. It was a spectacular failure.

This was horribly discouraging. I had no idea what even happened. It was like taking an unexpected test on a random subject. After a few more interviews that went the same, I gave up. Looking back, I hadn't even given myself a chance. I never attempted to do leetcode problems. Didn't try learning the computer science concepts. I just expected my basic programming knowledge to get me through. What a fool. I somehow thought I could charm my way into an Amazon developer role. Which was funny, because I was a very bad interviewee. While the knowledge of what to do is one part of an interview, the other part is actually being able to speak and sell yourself. I could had no grasp on either of those parts.

I eventually did get a job, as an electrical test engineer. From the moment I started, I knew it wasn’t for me. The first position I took involved coding in C++ to create tests. I never felt like I was actually programming. Just taking code blocks for specific tests and putting them in order. There was also much more electrical engineering involved than what was initially explained, so I felt completely unprepared for the position. An unhelpful, unlikable manager led to me asking to be moved to another team within 6 months.

The second team was a much better environment. Just one major problem, we used dedicated software to build tests here, so no more programming for work. I did build some scripts to speed up processes that took hours by hand, but that's as far the job took my programming. It was steady work, easy to do, and overall a good time, but I knew I wouldn't last. So after two and a half years, I started looking for work as a developer.

So what had I done to improve my programming knowledge in the last three years? Uhhh... I had spent time messing around with Unity, and Unreal Engine. I learned some basic web development. Played around with Linux. Hadn't completed any projects. Didn't spend time learning how to interview, DESPITE buying Cracking The Coding Interview. I was in another tough spot. So over the course of a couple months at the beginning of 2020, I did some Udemy courses, built some websites, went through some of “Cracking the Coding Interview”, and generally tried to improve my understanding of the basics of computer science. Honestly even in the short time I was studying, it helped a lot. I was getting a better understanding of the world of software development.

Here is where we get into the tough reality of job hunting. Everyone says they want tons of experience for entry level jobs. I still would apply to every software job I could find, but I was rejected over and over for jobs I thought might even be too entry level. Eventually it was March 2020, and I got an interview with a company. They were a growing company that was looking to fill out their web developer positions. I did well during the interview. By this point I'd become a better speaker and was more calm leading to a good impression. They asked mostly basic questions about the internet and programming. The assessment was take home and not very difficult. Had it been something more leetcode-y, I would not have done well. Thankfully, I was given the job. I could finally say I was a software developer.

I finally joined the company right as the pandemic shut the country down. I started as a work from home employee. There wasn’t that much documentation for new developer hires, but I made due asking my coworkers what IDEs were used, what plugins they liked, what software I absolutely needed. It was fun, and has been a good way to start my career as a developer. I’m learning a lot everyday, and the work life balance is pretty great. I know it can’t be permanent though. The company doesn’t have much room for growth, the pay is very low, and there have been some questionable management decisions. I am glad I have a job during these times, but one should never stop trying to do better.

So here I am. Working as a web developer. Seeing my friends go off and better their careers. Getting into well paying positions at large companies, as devs with years of experience under their belts, and I'm here. One year into this career. Doubting every step I take. I've decided this year I'm going to spend as much time as I can building projects. Gaining experience. Doing actual leetcode problems (paid for a year of premium so I can't back down now.) I have some friends going through this with me so I'm not alone. It really feels hopeless. It's like a second job, or going to school during my free time. When can I actually go back to living my life?

How Will I Make it Not Hopeless?

I'm going to do my best to write articles, create content, study, and work through projects. I'll do life updates as well. Listing off what challenges I've gone through in the last month. If anything interesting is happening at a non-technical, personal level, I'd like to share that too. Not here of course. Hashnode is for serious technology articles (no 🧢.) I have a great support system, and I'd like to make this another way to express my thoughts. If anyone has read this far, I hope you enjoyed and will stay tuned for other content!

BONUS: Where can you find me?

So I've mentioned that TheHopelessDev.com will become a one stop place for all my content, but what is that content actually going to be? Who knows! Videos, images, tweets, articles. There's tons of possibility. So here's a list of places you might be able to find me! Keep in mind all of these are a work in progress or completely empty as of the writing of this post. That's why I didn't mention this much above.

Hashnode Profile: Greg Flores

The Hopeless Dev: TheHopelessDev.com

Personal Website: GregFlores.dev

Twitter: @TheHopelessDev

Instagram: @thehopelessdev

Youtube: The Hopeless Dev