If you have ever been confused by the concept of "tech stacks", you're not alone. I have been there too.
As someone who was unsure about the relevance of my skill sets, it took some days of deliberate research to gain the understanding that I needed. This helped me regain my confidence to continue developing my skills.
This blog post aims to clarify any confusion you might have and provide a starting point for your web development journey.
In this article, I break down some popular stacks, making it easier for you to choose the right one as you journey into the field of web development.
What are Tech Stacks?
A tech stack includes the programming languages, frameworks, databases, and other tools that are used to create a functioning website or web/mobile app. Imagine it as a recipe; you need the right ingredients to create a mouth-watering dish.
In order to build a functional website/app, you need a set of technologies that work well together to achieve your goal.
Popular Tech Stacks:
Here is a breakdown of some popular web development stacks, highlighting their strengths and how they can fit your unique needs as a *newbie* web developer.
- MERN Stack (MongoDB, Express.js, React, Node.js): This stack uses MongoDB, A flexible database for storing website data, Express.js, Node.js and react. All 3 web technologies use JavaScript as the core language making it a good choice if you want to learn one programming language for both front-end (what users see) and back-end (server-side logic).
- On their own, Express.js is a framework that simplifies building server-side applications.
- React is a popular JS library, helps create smooth and interactive user interfaces (what users see).
- Node.js is a runtime environment that allows you to run JavaScript on the server.
MERN is great for dynamic websites and apps, like social media platforms. In summary, JavaScript as the only language makes it efficient to learn and a good reason to adopt the MERN stack.
2. MEAN Stack (MongoDB, Express.js, Angular, Node.js): Similar to MERN, but uses Angular (a framework from Google) instead of React. Angular is a comprehensive tool for building complex applications. Angular is a full-fledged framework, best for large, complex applications, especially when using TypeScript and needing a complete, structured solution with long-term support. It has a steeper learning curve.
P.S: Angular provides a complete, structured approach, while React offers more flexibility and a quicker start. The best choice depends on your specific project needs, team skills, and preferences.
3. MEVN Stack (MongoDB, Express.js, Vue.js, Node.js): This stack swaps React/Angular for Vue.js, a lightweight and easy-to-learn framework. MEVN is a good choice for projects where simplicity and adaptability are key.
4. PERN Stack (PostgreSQL, Express.js, React, Node.js): Almost identical to MERN, but uses PostgreSQL, a robust database known for its data integrity and reliability, often preferred for applications handling sensitive data like in healthcare or banking.
5. LAMP Stack (Linux, Apache, MySQL, PHP): A classic and reliable stack that's been around for a long time. It's cost-effective and good for building websites and web applications. Many popular platforms like WordPress use LAMP. Here's what it includes:
- Linux: A free and open-source operating system.
- Apache: A widely used web server.
- MySQL: A relational database for structured data.
- PHP: A server-side scripting language for building dynamic web pages.
6. The Python Stack: Python is known for its clear and concise syntax, making it a great choice for beginners. This stack offers a variety of frameworks for web development, allowing you to choose the one that best suits your project.
Here are some common options:
- Python: The core language, easy to learn and read.
- Django: A full-featured framework for complex web applications.
- Flask: A lightweight framework ideal for smaller projects.
- PostgreSQL or MySQL: Popular database options for Python projects
How do you choose the right stack:
There's no "one size fits all" answer. However, it is important that you consider these factors when making your choice:
- Project Goals: What kind of website or application do you want to build? Is it a dynamic website? What are the functional requirements? Answering the questions will help you make the right decision
- Community: It should have a strong community of users and supporters.
- Organizational need: If you already work in a different role at an organization and looking to pivot internally, then you should definitely consider the programming language currently in use by the team.
- Learning Curve: It should be beginner-friendly - easy to learn, even if you're new to coding.
- Scalability: It should support scalability on the long term
- Time Commitment: How much time can you dedicate to learning new technologies.
Tips for Success:
Web development like every other tech field requires resilience and dedication. By following the tips below, you would be well on your way to becoming a successful web developer.
- Start Small: Don't try to learn everything at once. Choose a beginner-friendly stack and focus on building a simple project first.
- Find a Supportive Community: MumsWhoCode is here for you! Connect with other mums who are learning to code, share your experiences, and get encouragement.
- Embrace Mentorship or Get a Coach: Decide early enough how you would want to learn. Through a coach in a structured format or self-learning. Either way, you need to find a more experienced web developer to teach you and provide feedback on your work. This will help you identify gaps and learn faster
- Utilise Online Resources: There are many free tutorials, courses, and coding challenges available online. Look for resources designed for beginners.
- Celebrate Your Progress: Learning to code takes time and effort. Acknowledge your accomplishments, no matter how small.
Conclusion:
Choosing the right tech stack is an important step in your web development journey. Remember, there's no perfect stack – the best one is the one that works for you. By considering your goals, learning style, and time constraints, you can choose a stack that empowers you to build amazing things as a mum coder.
Get started today and if you feel overwhelmed, don't hesitate to reach out to the MumsWhoCode community for support