Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.

Learning to code and tech skills

What to learn, in what order, and how to learn it properly: picking a first language, moving from tutorials to building on your own, practising DSA, reading real codebases, and using AI tools without letting them do the learning for you.

52 questions answered493 times asked

Employers rarely require a specific brand. They expect you to use an AI coding assistant well (in the editor and in the terminal), to review and test what it produces, to call an LLM API in a small feature, and to explain when you would not use AI. Pick one assistant, learn it properly, and show judgement in your projects.

  • AI
  • Dev tools
Asked 14 timesRead the answer

Yes, but for a different reason than before. AI can produce a sorting function; it cannot tell you whether your design will fall over at scale or whether the code it wrote is quietly quadratic. DSA teaches you to judge code, and many companies still test it. Learn the core patterns well, skip the endless grind.

  • DSA
  • AI
Asked 13 timesRead the answer

Choose based on what you want to build. JavaScript if you want web development, since it runs in every browser. Python if you are drawn to data, AI, automation or backend scripting. Both are excellent first languages, and the second one is far easier once you know the first well.

  • Programming
  • Web
  • Career
Asked 13 timesRead the answer

Tutorials train recognition, not production. When you follow along, someone else makes every decision. Building alone requires you to break a problem down and make choices, which is a separate skill. Build it with small projects, planning on paper first, and a rule to struggle before you look anything up.

  • Programming
  • DSA
Asked 13 timesRead the answer

If you have no reason to choose otherwise, start with AWS: it has the largest market share and the most learning material. Choose Azure if the employers you want run on Microsoft, and GCP if you are heading into data and ML work at companies that use it. The concepts transfer, so the first cloud matters less than learning it properly.

  • Cloud
  • DevOps
Asked 12 timesRead the answer

Move the notebook code into a small Python package, save the whole preprocessing and model pipeline, put it behind a FastAPI endpoint in a Docker container and deploy it. Then add what makes it production: tracked runs, a registry, a test in CI, prediction logging and a drift check. Start with batch predictions if you can.

  • Machine learning
  • DevOps
  • Programming
Asked 12 timesRead the answer

You check it the same way you check any code, but more carefully: read the whole diff, confirm every function and package exists, run it against tests that could fail, especially one you wrote yourself, try the edge cases, and make sure you can explain every line. Correct means proven by evidence, not "the tool said it works".

  • Programming
  • AI
  • Testing
Asked 12 timesRead the answer

Start with Arduino and ESP32 if you want quick, cheap wins and connected projects, STM32 if you want industry-style firmware and a real debugger, and Raspberry Pi if your project needs Linux, a camera or a gateway. Pick one, go deep for a few months, and the others become easy later.

  • Embedded and IoT
Asked 12 timesRead the answer

For most student and startup projects, PostgreSQL is the safer default: relational data, joins, constraints and transactions fit most apps, and it handles JSON and vector search too. MongoDB is a good fit when your data is naturally document-shaped and varies a lot, or your team already knows it well. Model your data first, then choose.

  • Databases
  • Backend
  • Programming
Asked 12 timesRead the answer

For most junior and mid-level interviews, 150 to 250 well-understood problems, organised by pattern, are enough. The number matters far less than whether you can recognise the pattern, explain your approach aloud and solve a similar problem a week later without help.

  • DSA
Asked 12 timesRead the answer

For most people, two to four focused hours a day, five or six days a week, does more than ten scattered hours. What counts is time spent building, getting stuck and fixing things yourself. Measure what you can now do without help, not how long you sat at the screen.

  • Programming
  • Mindset
Asked 12 timesRead the answer

Decide the job AI does before you open it. Use it as a tutor, reviewer and sparring partner that explains and challenges, not a vending machine that hands you finished code. Attempt first, ask second, and always be able to explain and defend what you ship.

  • AI
  • Mindset
Asked 12 timesRead the answer

A DigiSkills course is a good free start, but on its own it is not enough to win paying clients. Clients pay for proof that you can solve their problem, so finish one course, build two or three realistic pieces of work on top of it, choose a narrow service, and get feedback from someone who already earns in that niche.

  • Freelancing
Asked 11 timesRead the answer

Start with one LLM API and plain code: a loop that calls the model, lets it pick a tool, runs the tool and feeds the result back. Build one small agent that does a real task end to end, add evaluation and guardrails, and only then reach for a framework. Agents are software engineering first.

  • AI
  • AI agents
Asked 11 timesRead the answer

Pick C++, learn the STL and how to read constraints, then take part in a contest every week and upsolve afterwards. Under 1200, practise implementation, sorting, greedy and basic maths. From 1200 to 1600, add binary search on the answer, prefix sums, BFS, DFS and simple DP. From 1600, add DSU, segment trees and harder DP.

  • DSA
Asked 11 timesRead the answer

Learn it in order: OOP used properly, then SOLID, then the everyday design patterns, then small systems built end to end with tests. Patterns only make sense once you have felt the problem they solve, so build a parking lot, a rate limiter and an expense splitter rather than memorising 23 diagrams.

  • Programming
Asked 11 timesRead the answer

Pick one path and one language, follow one free structured curriculum, and start building small projects within the first few weeks. Official documentation, free university courses and open-source code are enough to become job-ready. What paid courses really sell is structure and feedback, and you can build both yourself.

  • Programming
Asked 11 timesRead the answer

Focus on the English you actually use at work: short written updates, clear pull request descriptions, explaining your project in two minutes and asking questions in meetings. Practise daily with recordings and writing drafts. For remote roles, clear written English often matters more than a perfect accent.

  • Career
  • Remote work
Asked 11 timesRead the answer

Sooner than feels comfortable. Once you know the basics of a language and one tool, start building, and let the project decide what you learn next. Courses become reference material, used for an hour to unblock a specific problem, not a path you finish before you are allowed to start.

  • Programming
Asked 11 timesRead the answer

Stop competing with AI on typing speed. Build the skills around the code: understanding the problem, breaking it down, debugging, reading unfamiliar systems, judging trade-offs, communicating clearly and owning outcomes. These compound over a career and make AI a multiplier for you.

  • Career
  • AI
  • Programming
Asked 11 timesRead the answer

Feeling busy and getting better are different things. Judge progress by what you can do without help that you could not do a month ago: build, debug, explain and solve. Set monthly checkpoints, redo old problems cold, and swap passive study for work that produces evidence.

  • Programming
Asked 11 timesRead the answer

Switching usually comes from treating the choice as permanent and from quitting at the boring middle of each technology. Pick with a short decision rule, commit for a fixed window of about twelve weeks with one finished project as the exit condition, and only review the choice at the end.

  • Mindset
  • Programming
Asked 11 timesRead the answer

Both let you ship an app fast with auth, a database, storage and hosting-style services. Supabase is built on PostgreSQL, so it suits relational data and SQL skills you will reuse anywhere. Firebase is a mature Google platform with a document database and strong mobile tooling. Choose by your data shape, your platform, and how much you want to learn transferable database skills.

  • Backend
  • Databases
  • Cloud
  • Mobile
Asked 10 timesRead the answer

Docker, yes: learn the basics, because nearly every team uses containers and you will be expected to run the project locally and read a Dockerfile. Kubernetes, mostly no: understand what it does and a few core terms, but deep Kubernetes can wait until your job or a DevOps direction needs it.

  • DevOps
  • Cloud
  • Career
Asked 10 timesRead the answer

Start with the building blocks you already touch: HTTP, databases, indexes, caching and queues. Then study how real systems are built through engineering blogs, and practise by redesigning your own projects for more users. Classic design problems come last, once the fundamentals make sense.

  • System design
  • Backend
  • Programming
Asked 10 timesRead the answer

Yes, for the right market. .NET is a modern, open-source, cross-platform stack with steady demand in enterprise, finance, government, healthcare and Microsoft-heavy companies, including many in Pakistan, the Gulf, the UK and Europe. .NET 10 is the current long-term support release. Check job posts where you want to work; if C# and .NET show up often, it is a solid choice.

  • Programming
  • Backend
  • Career
Asked 9 timesRead the answer

Often not. For a student project or a small app, a vector extension on a database you already use (such as pgvector in PostgreSQL), or even an in-memory index, is enough. A dedicated vector database earns its place with very large collections, heavy query traffic, or features like advanced filtering and multi-tenancy at scale.

  • AI
  • Databases
Asked 9 timesRead the answer

Vibe coding means building software by describing what you want to an AI and accepting the code without really reading it. It is great for prototypes and personal tools. On its own it will not get you a developer job, because employers pay for people who can understand, debug and take responsibility for code. Use it, but learn what is underneath.

  • AI
  • Programming
  • Personal branding
Asked 9 timesRead the answer

Build one small agent without a framework first: the tool-calling loop is about fifty lines and every framework wraps it. Then learn one framework deeply, chosen by what your project needs: LangGraph for explicit state and approvals, the OpenAI Agents SDK for quick assistants with handoffs, the Claude Agent SDK for agents that work on files.

  • AI
  • AI agents
Asked 9 timesRead the answer

Yes, if you want a networking job: the CCNA is still the certificate network job adverts ask for most, and studying it properly teaches the basics every network, cloud and security role builds on. It is worth much less without labs you can explain, and it is the wrong first step if you actually want a software development job.

  • Career
Asked 9 timesRead the answer

Use the free offer that fits you, set a budget alert before you create anything, tag every resource, build and destroy your labs with code, and run a five-minute check for the usual culprits, such as NAT gateways, load balancers, databases and public IPs, before you close your laptop.

  • Cloud
  • DevOps
  • Career
Asked 9 timesRead the answer

It depends on the role. For cloud, DevOps, security and some data roles, a respected certification can help you get shortlisted, especially combined with a real project. For general software engineering roles, projects and skills matter far more. Do the certification to structure your learning, not as a replacement for building.

  • Cloud
  • DevOps
  • Career
Asked 9 timesRead the answer

For most people, become a solid software engineer first, then add AI on top. Most AI jobs today are engineering jobs: building products around models, data pipelines and APIs. Research-heavy machine learning is a different path that needs strong maths and usually a postgraduate degree.

  • Programming
  • AI
  • Machine learning
  • Career
Asked 9 timesRead the answer

Nobody reads a large codebase from top to bottom. You follow one real path through it, such as a single request or button click, from entry point to database and back. Map what you find, ignore everything off that path for now, and repeat with a different path. Understanding builds in layers, and a first small change teaches more than a week of reading.

  • Career
  • Programming
  • Open source
  • Job search
Asked 9 timesRead the answer

Stop solving random problems. Learn one data structure at a time, then study problems by pattern so each question points you to an approach. Two focused hours on weekdays for eight to ten weeks, with re-solving and spaced review, is enough to go from stuck to steady.

  • DSA
Asked 9 timesRead the answer

Start from the task, not the leaderboard. Write down what good output looks like, build a small test set, and try two or three models across price tiers on it. Choose the cheapest model that passes, then check latency, context length, data policy, and whether you need an open-weight model you can host yourself.

  • AI
Asked 8 timesRead the answer

Pakistan's federal cabinet approved the National AI Policy in July 2025, with targets such as training one million people in AI by 2030 and funding scholarships and internships. Several parts have been announced but roll out slowly, so treat it as an opportunity to watch, not a plan to wait for: build AI skills now and apply to programmes from official pages as they open.

  • Career
Asked 8 timesRead the answer

MCP, the Model Context Protocol, is an open standard for connecting AI applications to tools and data. You do not need to study it in depth, but if you build with LLMs, writing one small MCP server takes an afternoon and teaches you how agents really use tools. Learn the concepts; skip the hype.

  • AI
  • AI agents
Asked 8 timesRead the answer

For most people aiming at industry jobs, learn Python first: it covers analysis, machine learning and production code, and most data job adverts ask for it. Choose R first if you are heading into statistics, academic research, public health or survey work, where it is strong. Either way, SQL comes too, and the concepts transfer.

  • Programming
  • Data
  • Machine learning
Asked 8 timesRead the answer

Learn the model first: commits are snapshots, branches are pointers, and remotes are copies. Then use Git daily on your own projects, practise a team workflow with branches and pull requests, and break things on purpose, such as merge conflicts, so you learn to recover calmly.

  • Dev tools
  • Career
Asked 8 timesRead the answer

Debugging is a method, not a talent. Reproduce the problem, read the actual error, form one hypothesis, test it, and narrow the search until the cause has nowhere left to hide. Give yourself a fixed window of honest effort before asking, and when you do ask AI or a person, bring your evidence so you still learn from the answer.

  • Programming
  • DSA
  • AI
Asked 8 timesRead the answer

Partly. You are learning to assemble and ship, which has value, but not yet to understand and own. Close the gap on purpose: pick the parts you do not understand, trace them, rebuild small pieces by hand, and test yourself by changing and breaking the code.

  • AI
  • Programming
  • Mindset
Asked 8 timesRead the answer

Learn classic system design first, because AI applications are still web systems with queues, caches and databases. Then add what is new: slow and costly model calls, retrieval pipelines, vector search, evaluation, guardrails and cost control. Practise by designing and building one AI feature end to end.

  • AI
  • System design
Asked 7 timesRead the answer

Yes. Most programming needs very little computing power. Choose lightweight tools, download documentation and material when you have a connection, work offline in focused blocks, and plan around power cuts. Avoid heavy setups such as large IDEs, emulators and big local containers until you have better hardware.

  • Embedded and IoT
  • Programming
Asked 7 timesRead the answer

Learn the layer underneath the buzzwords: how an LLM call works, how to give it the right context, how to connect it to tools, and how to measure whether the result is good. Agents, RAG and MCP are patterns built from those pieces. Filter every new term by whether it solves a problem you actually have.

  • AI
  • AI agents
  • Programming
Asked 7 timesRead the answer

For most backend, cloud and DevOps work, learn Go first: it is small, quick to get productive in and common in cloud tooling. Choose Rust if you want systems programming, performance-critical code, embedded or you enjoy going deep on how memory works. Neither is a good first language if you cannot yet build software in another one.

  • Programming
  • Backend
Asked 6 timesRead the answer

Yes, if you enjoy it. Most ICPC teams never reach the World Finals, and the season is still worth it: five-hour team contests train clear thinking under pressure, teamwork on one computer and calm debugging. Treat the regional as the goal, train as a team, and measure progress by problems solved and penalties, not by qualification.

  • Career
  • DSA
Asked 6 timesRead the answer

Stop relying on the demo. Write 30 or more test tasks from realistic and messy inputs, check what you can in code (right tool, right arguments, right end state), run each task several times, report how often it succeeds every time, add a few injection attacks, and trace every run. Numbers from that are what make an agent project credible.

  • AI
  • AI agents
  • Personal branding
Asked 6 timesRead the answer

Write fewer, better notes: in your own words, with a small example you ran yourself and the mistake you made. Then test yourself instead of rereading, revisit topics on a spacing schedule and use what you learned in a project. Remembering comes from retrieval and use, not from how neat your notes look.

  • Programming
Asked 6 timesRead the answer

DevOps is a culture and set of practices: developers and operations sharing responsibility for shipping and running software. Platform engineering is one way to put that into practice at scale: a team builds an internal platform, a paved road of tools and templates, so product teams can ship without becoming infrastructure experts.

  • DevOps
  • Cloud
Asked 5 timesRead the answer

Learn the web platform first (HTML, CSS, JavaScript, how HTTP works), then one frontend framework, then a backend with a database, and build a real project at each stage. If you already know WordPress, you are not starting over: your HTML, CSS and PHP experience transfers.

  • Web
  • Frontend
  • Backend
  • Websites and CMS
Asked 4 timesRead the answer

Using AI tools is fine and increasingly expected. Being unable to write, debug or explain code without them is a real risk, because interviews, reviews and production incidents test exactly that. Keep the tools, but rebuild the ability to think and code independently first.

  • AI
  • Dev tools
  • Programming
Asked 4 timesRead the answer
Ask your own

Did not find your question?

Members get written answers to their own questions, a roadmap built for them and feedback on their projects. Early access is open: sign up and your account is active shortly after. Prefer to talk? A free call works too.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.

  • 1:1 Mentorship
  • Fresh Graduate Mentorship
  • Career Guidance

Brand deals, promos and partnerships: tauseeffayyaz@gmail.com