Category: Resources

Tech Learning Resources

  • Tech Stacks Explained for Newbies

    Tech Stacks Explained for Newbies

    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.

    1. 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

  • Level Up: How Women in Tech Can Become Indispensable

    Level Up: How Women in Tech Can Become Indispensable

    It is not just enough to land a job in a dream company, to truly thrive and secure your future, you need to continually impress your employer and become an invaluable member of the team. 

    You would agree with me that the competition is sometimes fierce in workplaces and it is not always the hardest worker that gets the most applause.

    It is important to work smart and to be intentional about our actions.

    Whether you are just starting out or looking to take your tech career to the next level, following the tips below will help you to succeed and become an indispensable member of your team.

    1. Expertise & Knowledge Sharing:
    • Develop a unique skill set that distinguishes you from your colleagues.
    • Be willing to share your knowledge and train others, becoming a valuable asset to the team.
    1. Building Relationships:
    • Cultivate strong connections with decision-makers in the company.
    • Treat everyone with respect, regardless of their position.
    1. Work Ethic & Productivity:
    • Follow directions and demonstrate your ability to be a team player.
    • Generate new ideas and actively contribute to problem-solving.
    • Focus on important tasks and look for ways to increase productivity.
    • Strive to accomplish more than the minimum and always offer solutions.
    1. Proactiveness & Attitude:
    • Take the initiative and be a self-starter, requiring minimal supervision.
    • Be reliable, especially during challenging situations.
    • Show enthusiasm and maintain a positive attitude towards your work.

    Additional Tips:

    • Make your boss’s job easier by taking on tasks they can’t or don’t have time for.
    • Focus on the company’s bottom line by identifying cost-saving opportunities.
    • Gain a competitive edge by setting high standards for yourself and consistently exceeding expectations.

    Do you have any more tips to add? Drop it in the comments.

    Click here to sign up and join our closed group.

  • An Introduction to Hackathons

    An Introduction to Hackathons

    The term “hackathon” is a combination of the words – “hack” and “marathon”.

    Hack meaning (exploratory programming)

    Marathon meaning (any contest, event of greater than normal duration, requiring significant endurance)

    A hackathon is an event where people come together to work on creative software or hardware projects/concepts/products within a limited timeframe explaining the infusion of the words “hack” and “marathon” which emphasizes the intense, collaborative nature of these events.

    The focus of a hackathon, usually, is either to develop existing software/hardware products or to generate ideas for fresh technical innovations.

    In a hackathon, participants can join as individuals or members in a team to collaborate within a limited timeframe.

    Hackathons provide a dynamic platform for creativity, learning, and collaboration.

    Bursting the Myth:

    There is a common myth that hackathons are only open to developers. This is not true as anyone interested to work on a solution can participate in a hackathon.  A team is usually made up of designers and creatives, founders, project managers, business developers, generalists, developers, students, etc.., depending on what is to be delivered.

    Participation is not always restricted to advanced level competencies. Early stage and intermediate level competencies could join teams depending on the scope of the idea or product being developed. It is not also restricted to a certain gender. The more diverse and balanced the team, the better.

    Types of hackathons:

    Hackathons can take any of the following forms or be a blend.

    Internal Hackathons: These hackathons are organized by a company or organization specifically for its employees. They encourage innovation, cross-functional collaboration, and rapid problem-solving within the company’s context.

    Virtual Hackathons: Virtual hackathons take place fully online. Participants from around the world join remotely, leveraging the power of the internet. As long as you have an internet connection, you can participate in these events.

    Onsite/IRL Hackathons: Onsite/IRL hackathons occur in physical locations participants gather in person to work within a limited timeframe.

    Hybrid Hackathons: Hybrid hackathons combine elements of both online and IRL/offline formats. They may start online and culminate with an in-person event or vice versa.

    Corporate Hackathons: Corporations organize these hackathons to foster creativity, explore new ideas, and improve existing products or processes. Employees collaborate to address specific business challenges.

    Open Innovation Hackathons: These hackathons invite external participants, including startups, freelancers, and independent developers. The goal is to generate fresh ideas and solutions by tapping into a diverse talent pool.

    Student Hackathons: These hackathons are geared toward students, to encourage learning, skill development, and networking. Students collaborate on projects, often with mentorship from industry professionals.

    Social Good Hackathons: Social good hackathons focus on solving societal or environmental issues. Participants work on projects that have a positive impact, such as addressing digital divide, climate change, healthcare, education or any of the Sustainable Development Goals.

    Why should you consider participating in a Hackathon?

    Participating in a hackathon offers several benefits including:

    Sense of Accomplishment: Regardless of your skill level, completing a hackathon leaves you with a feeling of achievement. You’ll learn and create throughout the day, culminating in a tangible demo that you can proudly showcase to your peers.

    Learn New Technical Skills: Hackathons provide an excellent opportunity to learn or enhance technical skills. Whether you’re brushing up on existing knowledge or diving into something entirely new, the hands-on experience accelerates your learning.

    Get rewarded: Hackathon usually have prize mechaisms for rewarding participants ranging from badges and NFTs, award plaques, social mention to cash prizes. If you or team wins, you’ll be able to benefit from such prizes.

    Explore New Technologies: Some hackathons partner with tech companies, allowing participants to use cutting-edge systems or technologies. You’ll gain exposure to industry-leading software and prepare for future roles.

    Networking Opportunities: Hackathons bring together like-minded individuals. You’ll meet fellow developers, potential mentors, and industry professionals. Networking can lead to valuable connections and future collaborations.

    Creative Freedom: Unlike typical development constraints, hackathons encourage creative freedom. You’re not bound by company rules or methodologies, allowing you to explore innovative solutions.

    How to Get Started with Hackathons

    Follow these steps to kick off your hackathon journey:

    Find a Hackathon: Search for hackathons that align with your interests and skills. Look for themes or topics that resonate with you. Check out platforms like Devpost, HackerEarth, or local tech communities for upcoming events.

    Read the Hackathon Website: Understand the scope and rules of the hackathon. This knowledge will help you frame your project effectively.

    Brainstorm Project Ideas: Make a list of potential projects you could work on during the event. Consider both existing skills and areas you’d like to explore.

    Choose Your Approach: Decide whether you want to leverage your existing skill set or learn something new. Consider the available time and resources.

    Start Building: Once you’ve chosen a project, dive in! Collaborate with your team (if applicable) and create your solution within the specified timeframe.

    Remember, hackathons are about learning, creativity, and collaboration. Even if you don’t win, the experience is incredibly rewarding.