Don’t Marry a Technology: Master the Craft  

By Fernando Pinto, student from Jala University Bolivia

February 03, 2026

If your favorite framework disappeared tomorrow, how fast could you adapt? That question has guided the way I learn to code. Tools change; good ideas last. In a world where new frameworks and cloud services arrive every month, the safest bet is not to commit your whole career to a single technology. The safer path is to master concepts that travel from stack to stack, then adjust the syntax and tooling as needed.

Global employers expect about 39% of core job skills to change by 2030. (World Economic Forum, 2025)

This means that around four out of ten skills people use today will be updated, replaced, or lose relevance. For software roles, stack-specific knowledge has a shorter shelf life, while foundational abilities keep their value: problem solving, architecture thinking, data modeling, testing, communication, and teamwork. In practice, companies will hire more for learnability and adaptability, re-skilling cycles will be more frequent, and teams will move faster from one framework or cloud service to another.

The takeaway is simple: focus on concepts first, then tools, so changing from one technology to another feels like a smooth transition, not a restart. Adaptability is no longer a “nice to have”; it is a career strategy.

In the software development industry, we often learn the SOLID principles as a foundation for writing maintainable code. The last principle, the Dependency Inversion Principle (DIP), states that the important (high-level) parts of a system should not depend directly on specific (low-level) details; both should rely on clear abstractions such as interfaces, rules, and contracts. (Robert C. Martin, 1996)

I try to take this idea beyond code and use it to guide how I learn. I see myself as the high-level module, and specific frameworks or tools as details. So I try to depend on abstractions (programming paradigms, architecture styles, design principles, data modeling, and testing habits) rather than on a single technology, framework, or vendor.

The practical technique we use to apply DIP in software is commonly called dependency injection. Instead of hard-wiring a class to a concrete tool, we pass that tool from the outside, which keeps the core independent and easier to change or test. I relate this directly to learning: concept first, tool second. Understand the idea, then plug in a specific framework later. When the concept is solid, switching from one stack to another feels like adapting the syntax and the setup, not starting from zero.

Think about music: once you understand rhythm and harmony, switching instruments is easier. Tech is similar. If you learn the idea behind a tool, you can change tools with less pain. That is the skill that keeps you relevant when the landscape shifts.

At Jala University, we practice exactly that. We start by building a strong base in object-oriented thinking and clean code, then move across Java, C#, Python, JavaScript/TypeScript, C++, and so on. The goal is not to pile up tool names, but to master the fundamentals behind them. When a new library or provider shows up, I do not start from zero; I align it to concepts I already know, then adjust the syntax.

1) Data before databases. Instead of spending months tied to one SQL engine, I focus on the ideas that repeat: tables and relationships, transactions, indexing, query planning, and how systems scale (replicas, partitions). Once those are clear, switching from PostgreSQL to MySQL is mostly a dialect change. The same thinking applies to NoSQL families: learn what makes document, key-value, column, or graph stores different; then pick the right fit for the job.

2) Programming languages through shared ideas. If I understand the pillars of OOP (abstraction, encapsulation, inheritance, polymorphism), moving between Java and C# is mostly about mapping concepts to syntax. If I also learn a bit of functional style (immutability, higher-order functions), I can work comfortably in more ecosystems. The goal is not to memorize every API; it is to recognize patterns that repeat.

3) Architecture to make change cheap. Hexagonal, onion, clean architecture; the names vary, but the purpose is similar: keep domain rules stable and push volatile details to the edges. When the framework changes, my core remains intact. This is the most practical way I know to apply DIP beyond theory. (Martin Fowler, 2004)

4) Cloud and services by capability, not brand. Queues, functions, containers, object storage, managed databases. The labels differ across providers, but the capabilities are very similar. If I learn what the capability does and when to use it, I can switch providers with confidence.

Here is a routine I usually follow:

1. Start with the big picture. Write a one-page outline of the concept (for example, “what is an interface”, “how does a transaction work”, “what is an event queue”).
2. Pick one tool to practice. Build something small that uses the concept in a realistic way.
3. Translate. Rebuild the same thing with a second tool. Keep a short “map” that says: concept → tool A feature → tool B feature.
4. Test your understanding. Write small tests; if a tool swap breaks everything, your design is too dependent on details.
5. Reflect and teach. Explain the concept to a friend or post a short note. If you can explain it clearly, you can reuse it elsewhere.

AI can speed up reading docs, creating code snippets, exploring use cases. We should use AI as a tutor that explains steps and trade-offs, not as a replacement for critical thinking and decision-making. At Jala University, we have an assistant called Valis that focuses solely on explanations and reasoning, not giving straight answers or code. This keeps me focused on learning concepts while getting timely help on the details. The result is faster learning without losing depth.

If you are early in your journey, the most sustainable plan is to learn high-level ideas first, then map them to tools. For example:

• Learn the CRUD lifecycle and transactions; then pick one SQL engine to practice.
• Learn interfaces and dependency injection; then use them in a web framework of your choice.
• Learn HTTP basics and common API shapes; then add the specifics of one server framework.
• Learn version control and testing habits; then adopt the workflow of your team.

This approach pays off when your project, your team, or the market changes. You already have the mental model; you only adjust the surface.

I have seen how a concept-first mindset reduces stress and increases confidence. When we move from one technology to another during our courses at Jala University, the change always feels manageable because the fundamentals, ideas, and concepts that we learn are stable. We keep applying SOLID, DRY, YAGNI, SoC, Clean Code, Clean Architecture, and many other crucial principles and patterns from the software industry. We use AI as a mentor to learn faster; we don’t ask it to do the work for us. That rhythm (concepts first, tools second) has made me technology-agnostic and ready to learn and face whatever comes next.

There will always be a new technology, a new framework, a new platform. If you tie your identity to a single tool, every shift feels like starting over. If you tie it to enduring concepts, every shift feels like a translation exercise. Do not marry a technology; master the craft. Build on abstractions; let tools be replaceable parts.

Fowler, M. (2004). Inversion of control containers and the dependency injection pattern. martinfowler.com. https://martinfowler.com/articles/injection.html

Martin, R. C. (1996). The dependency inversion principle. The C++ Report. https://objectmentor.com/resources/articles/dip.pdf

World Economic Forum. (2025). The future of jobs report 2025—Skills outlook. World Economic Forum. https://www.weforum.org/publications/the-future-of-jobs-report-2025/in/full/3-skills-outlook/

face
Are you interested in this information?
Receive the latest updates in your email!
Jala University
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.