BLM - Build Learn Monetize: My Journey of Learning
Tags: programming, javascript, beginners, tutorial
Published: 2023-10-24 09:33:22

**The BLM Strategy - A Personal Journey Shared**

In the ever-changing world of coding, growth is a journey that each developer embarks upon individually. The BLM strategy - Build, Learn, Monetize - is a way of life, "Wu Wei" as the Chinese may say, a reflection of a personal journey, one that I've traversed and found valuable. Today, I'm sharing it because I believe it might serve as a guiding light for others and I recently decided to share more of my coding journey and thoughts even though I am typically a private person.

This strategy, comprised of three pillars - Building, Learning, and Monetizing, is a testament to the realization that true mastery in coding emerges not just from theory but from hands-on experience and the pursuit of knowledge.

**Key Takeaways:**

- **Building**: It is the cornerstone of the BLM strategy, emphasizing the significance of continuous building, the importance of choosing the right projects, and the value of resources for efficient learning.

- **Learning**: Continuous learning is the heart of the journey, transitioning from small to large projects, and the pivotal role of your portfolio in showcasing your skills.

- **Monetizing**: This phase explores the various ways to monetize your skills, including freelancing, traditional employment, entrepreneurship, and content creation. The overarching theme is that your portfolio remains your silent advocate throughout these monetization paths, instilling trust and showcasing your capabilities.

The BLM strategy is a compass through the intricate terrain of tech, a path of incremental improvement that I'm walking and wish to share.

**Building - The Foundation of Learning**

Building is the cornerstone of the BLM strategy, and it's where your journey as a developer begins. This section explores the critical aspects of building projects and how it serves as the fastest way to learn and grow in the world of coding. In my opinion, courses are often redundant in practice and offer little help other than basic general theory, though there may be rare cases where courses can be more impactful. The BLM strategy assumes basic general knowledge for a given language e.g understanding what variables and functions are, but relies on the hands-on process of continuous building for in-depth learning. It supports use by beginners as basic prerequisite knowledge can be learned on the fly using resources that will be disccused later on.

**1. Choose the Right Project**

The first step in this process is selecting the right project. Think of this as laying the groundwork for your learning journey. Pick a small project that strikes a balance between challenging you and being achievable. Depending on your experience you may opt to start with a more challenging project.

Your choice of project should allow you to not only practice coding but also learn the ins and outs of an important framework or the fundamentals of a language. For instance, if you're planning on learning JavaScript, pick a project that allows you to apply JavaScript fundamentals like array methods e.g `array.filter()`, to a framework like `Node.js` or `React.js`.

**2. Resources**

Building your project isn't a solitary endeavor. You'll need a variety of tools and resources to aid your learning journey. These can include:

- **Documentation**: The official documentation for the language or framework you're using is a goldmine of information. It provides insights into syntax, functions, and best practices.

- **Github**: The hub for open-source code. A place where you can explore open-source projects to study code, best practices, and collaborative development techniques.You can also follow repositories and users to stay updated on projects and discover educational resources.

- **ChatGPT**: AI-powered language models like ChatGPT can be immensely helpful. You can seek answers to your queries, clarify doubts, or even brainstorm ideas with AI.

- **Search Engines**: Google is your friend - don't hesitate to explore the vast ocean of knowledge on the internet. Search for tutorials, guides, and code snippets related to your project.

- **YouTube**: Visual learners can turn to YouTube for video tutorials that walk you through the entire development process.

- **Forums**: Platforms like Reddit and Stack Overflow are invaluable for addressing specific problems or questions you encounter during your project.


It's important to use these resources judiciously, depending on the difficulty and significance of the topic you're learning and how it applies to your project. Each resource has its own strengths, and combining them wisely can optimize your learning process. For example, for any project you could use ChatGPT to build an outline and structure to follow and use that as your starting point. In this way, it is not necessary to have extensive knowledge on topics that the project may depend on, as you can learn on the go by QA sequences with ChatGPT coupled with use of the mentioned resources through the duration of a project.  That being said, ChatGPT though useful, tends to hallucinate under different circumstances and is a good of example of why no single resource should be used in isolation especially AI chatbots!

**3. Practice Makes Perfect**

As you progress through multiple projects, you'll find that practice makes perfect. Beyond just acquiring knowledge, you'll become proficient at debugging. In many ways, this practical experience in debugging is even more crucial than theoretical knowledge, especially when considering the abundance of resources mentioned above.

Constantly learning new skills is a hallmark of a developer's life, and as technology stacks evolve, debugging remains a fundamental skill. By integrating good coding practices and workflows into your projects, you'll refine your debugging skills, making you a more competent coder.

In the next section, we'll explore how your journey evolves from this foundation of building and learning to advancing your skills and creating a strong portfolio.


**Learning - The Power of Continuous Building**

Building is not merely a means to an end, it's the heart of learning and skill development in the world of coding. As a developer, the process of continuously building projects is where the magic happens. 

**1. Scaling Up: The Journey of Continuous Learning**

The transition from small to large projects is not a distant goal, it's a series of steps in your ongoing learning process. With each project, you're not just accumulating code; you're growing your skills, expanding your horizons, and gradually acquiring the expertise required to tackle substantial, complex endeavors.

Imagine the path where you seamlessly build and maintain applications using the MERN stack or any tech stack of your choice. This isn't an "eventually" moment, it's an evolving journey where you learn by doing, one project at a time. The essence of continuous building is that you never stop learning.

**2. Portfolio Building: The Witness to Your Journey**

Your portfolio isn't a static document but a living testament to your continuous learning. With each project you complete, your portfolio becomes more dynamic and diverse. It tells a story of how you've applied your knowledge in real-world scenarios, marking your progress.

It's not just a showcase of what you've learned; it's a reflection of how you've grown as a developer. Your portfolio becomes your silent advocate, speaking volumes about your skills even before you utter a word. It's your evolving CV, a testament to the journey of continuous building and learning.

In the next section, we'll explore various avenues through which you can leverage your expertise and evolving portfolio to monetize your skills in the tech industry.


**Monetizing - Leveraging Your Skills**

With a solid foundation cemented through continuous building and portfolio growth, you're now equipped to explore the ways in which you can leverage your expertise and evolving portfolio to monetize your skills in the tech industry. This section provides insight into paths and opportunities for developers, all of which link back to the importance of your portfolio and  .

**1. Freelancing: Unlocking Your Portfolio's Potential**

Freelancing offers a dynamic way to monetize your skills. Two distinct approaches await you on this journey:

- **Approach 1: "Small Tasks, Many Clients"**
  
  In this approach, your portfolio becomes your secret weapon to build trust and attract clients. You can take on a multitude of smaller freelance projects, using your knowledge and experience to swiftly deliver results. This is a straightforward way to start your freelancing career and maintain it. Your portfolio, enriched by continuous building, will often contain template code that enables you to complete freelance work efficiently. While competition can be high, with the power of your portfolio, you can capture a significant share of the market, leading to earnings that range from moderate to substantial.

- **Approach 2: "Big Projects, Few Clients"**
  
  This approach represents a more complex but potentially more rewarding path. By taking on large projects, you can secure longer contractual agreements, translating into substantial, steady and secure income over an extended period. Surprisingly, this approach involves less hassle and presents a more relaxed experience, assuming your skills and portfolio meet the requirements of the client's task. Freelance jobs with this approach are often B2B solutions. Competition here is generally moderate, but it can be substantial in an expansive industry or popular niche. The earnings tend to be in the medium to large range, often skewed towards the larger end.

The portfolio you've cultivated through continuous building serves as the bedrock of your freelancing journey, instilling trust and showcasing your capabilities. A combination of both approaches could be used to deal with edge cases.

**2. Traditional Employment: Your Portfolio's Silent Advocate**

Traditional employment becomes more accessible with a well-structured portfolio. Employers are seeking developers who can deliver real-world results, and your portfolio proves your mettle. It enhances your candidacy, streamlining the job application process and opening doors to exciting opportunities. In this path, your portfolio is your silent advocate, speaking for your skills even before you utter a word.

**3. Unleashing Your Potential: Building Your Own App - The Portfolio of Innovation**

If you've ever harboured the dream of creating your own app, now might be the perfect moment to transform that dream into reality. Building your app is a path that might be challenging, but it carries the potential for substantial rewards. Your skills, honed through continuous learning and reflected in your portfolio, will be the foundation upon which you construct your own digital masterpiece.

**4. Sharing Knowledge and Products: Content Creation and Sales - Portfolio as Your Creative Arsenal**

Your portfolio isn't just a testament to your learning journey; it's also a wellspring of opportunity. Leverage your portfolio to create content and products. For instance, you can begin a YouTube channel to share tutorials, insights, and your coding adventure. Alternatively, you can monetize your projects by selling them on third-party marketplaces or creating digital products like plugins, templates, or themes. Your portfolio serves as your creative arsenal, providing the assets you need to fuel your content creation and sales ventures.

In conclusion, the 'BLM - Build Learn Monetize' strategy is more than a linear path, it's a dynamic and evolving journey. It empowers developers to grow, learn, and turn their skills into opportunities for financial gain. Your continuous building and learning, reflected in your portfolio, are at the core of this strategy, fueling your career in the ever-evolving world of technology. It's important to remember that the BLM strategy is not a one-size-fits-all approach. It's a flexible framework that can be tailored to your unique journey, allowing you to adapt and progress at your own pace.