Home >Web Front-end >JS Tutorial >My Journey into Software Engineering #Shiny Object Syndrome

My Journey into Software Engineering #Shiny Object Syndrome

DDD
DDDOriginal
2024-12-09 09:34:15929browse

My Journey into Software Engineering #Shiny Object Syndrome

Since my last post, there’s been more progress, and I’m realizing more each day the importance of not making assumptions and always verifying information. At my contractor gig, we’re working on two units. I assumed one of them was fully functional based on what I thought I had been told. However, I’ve learned it’s crucial to fact-check and verify things for yourself. While I thought we were nearing the finish line with these projects, I’ve discovered there’s still a lot left to do.

The codebase is messy, and we’ve been debugging it piece by piece from a decompiled state. Despite the challenges, progress is being made. As one of my colleagues pointed out, this is great real-world experience. Many companies operate like this: they have large, tangled codebases, and it’s your job to figure them out, fix bugs, and add features.

Today, I also learned a new Git command: git stash. It lets you save staged or unstaged changes temporarily, and you can apply them later with git stash apply. This came in handy when I needed to create a new branch with the most recent changes for a project.

No More Shiny Object Syndrome

Recently, I’ve stopped shifting my focus. After starting a new gig that involved C , I found myself dabbling in game development and embedded systems. However, I realized that constantly jumping into new languages and technologies wasn’t helping. What I really need to focus on is problem-solving.

I had started The Odin Project before getting my current gigs but paused because I’d heard that web development is saturated and was advised to explore other niches. While web development may be competitive, I’ve learned that mastering one area deeply and iterating on it is far more productive than chasing the next shiny object.

Interestingly, both of my current roles have asked me to learn ReactJS, and the job I have an interview for next week also mentions it. This made me realize the value of sticking with web development and leveraging the foundational knowledge I already have. Skills I learn through The Odin Project will transfer to other areas, so I’ve resumed my progress there.

I’ve been reviewing HTML, CSS, and JavaScript syntax and concepts. Of course, I don’t remember everything, but my job isn’t to memorize—it’s to know how to look things up and understand documentation when needed. I’ve also been exploring modern front-end tooling, including:

• Using Node Package Manager (npm)
• Setting up module bundling with Webpack
• Configuring my development environments with npm scripts
• Using ESLint for style enforcement and error-catching
• Formatting code with Prettier

While ESLint and Prettier have convenient VS Code extensions, I’ve learned it’s important to install them via npm since not all developers use the same tools. To streamline my workflow, I’ve created a Webpack template that I’ve uploaded to GitHub for future projects.

Instead of rushing ahead, I’m focusing on reinforcing the basics and moving forward methodically. By the time I reach the React section in The Odin Project, I’ll be prepared to pick it up quickly.

Tomorrow’s Goals

Tomorrow, I’ll be in the office to continue testing the two units. I’ll take notes and help swap out physical components, such as the electronic regulator inside one unit, to ensure our software behaves consistently across both systems (or as close to it as possible).

Coding Practice and Job Prep

I’ve also started using CodeWars to sharpen my Python fundamentals and am solving LeetCode problems while casually applying to jobs. I use NeetCode to track my progress and am working to stay consistent, which helps me retain solutions and tackle more challenging problems.

Current Goal

My primary goal is to become a full-stack software engineer. I plan to achieve this by:

1) Continuing and completing The Odin Project to build projects and strengthen my fundamentals.
2) Practicing LeetCode to prepare for interviews and improve my DSA skills.
3) Using platforms like Pramp for mock interviews and studying Cracking the Coding Interview to hone my interview readiness.

The journey continues!

P.S. I turned my Raspberry Pi 5 into a RetroPi! I have yet to game on it but I plan to try it out soon...

The above is the detailed content of My Journey into Software Engineering #Shiny Object Syndrome. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn