SharePoint Framework

SharePoint can be more than boring squares next to other boring squares on a boring page.

Hello there, potential future SharePoint wizards! ๐Ÿ‘‹

As someone who has a career littered with brief pieces of SharePoint administration and development, I know firsthand how this platform can serve as an invaluable entry point into enterprise software development. Whether you're a junior developer or looking to break into tech from a different background, understanding SharePoint and its development model can be a springboard for a career within large organisations.

In this blog post, I'll take you through what SharePoint is, how it has evolved, and most importantly, how mastering SharePoint Framework (SPFx) can help you establish yourself in enterprise development roles. So, let's dive in! ๐ŸŠโ€โ™‚๏ธ

What is SharePoint?

At its core, SharePoint is a platform that helps organisations manage content and collaborate across teams. It integrates deeply with Microsoft 365, so it's not just about document storageโ€”it's a foundation for creating internal websites (intranets), team sites, and much more.

Here's why SharePoint is a powerful tool for junior developers:

  • Extensibility: You can extend SharePoint using web parts, applications, and workflows, giving you the ability to customise the platform.
  • Integration: SharePoint integrates with tools like Power Automate and Power Apps, offering you a chance to work across multiple platforms within Microsoft's ecosystem.
  • Client-Side Development: SharePoint has evolved to support modern development tools and frameworks, especially through SPFx.

When was SharePoint introduced?

Microsoft launched SharePoint in 2001. Initially marketed as a document management and storage system, it quickly evolved into a highly configurable platform for collaboration and web publishing.

Major Changes Between Versions

SharePoint has undergone significant changes over its lifetime:

  1. SharePoint 2007 introduced the ribbon interface and Excel Services.
  2. SharePoint 2010 brought improved social features and better metadata management.
  3. SharePoint 2013 introduced a more modern UI and app model.
  4. SharePoint 2016 focused on hybrid deployments and MinRole architecture.
  5. SharePoint 2019 brought modern UIs to on-premises deployments.

Biggest Changes Since the Move to SharePoint Online

The shift to SharePoint Online as part of Microsoft 365 has brought several major changes:

  1. Continuous updates: No more waiting for major version releases.
  2. Modern UI: A responsive, mobile-friendly interface.
  3. Integration with other Microsoft 365 services.
  4. Improved search capabilities.
  5. Introduction of the SharePoint Framework for custom development.

Best Practices for SharePoint Online

  1. Embrace the modern experience where possible.
  2. Use hub sites for better organisation.
  3. Implement proper governance and security measures.
  4. Leverage Microsoft 365 Groups for team collaboration.
  5. Use SharePoint Framework for custom development.

What is the SharePoint Framework?

The SharePoint Framework (SPFx) is a page and web part model that provides full support for client-side SharePoint development. It was introduced in 2017 and has since become the preferred method for extending SharePoint.

How SPFx Changes the Experience

For End Users:

  • More modern and responsive user interfaces.
  • Faster loading times due to client-side rendering.
  • Consistent experience across devices.

For Developers:

  • Use of modern web technologies and open-source tooling.
  • Ability to build solutions that work in both classic and modern SharePoint.
  • Better integration with SharePoint data.
  • Support for both SharePoint Online and on-premises (2016 and later).

Transferable Skills from SharePoint Development

One of the major advantages of learning SharePoint development, particularly using the SharePoint Framework (SPFx), is that it prepares you for roles in broader web and enterprise development. Here are some key skills you'll gain that are applicable beyond SharePoint:

  1. JavaScript and TypeScript: SPFx uses modern JavaScript (ES6+) and TypeScript. Mastering these is crucial not just for SharePoint, but also for general web development roles.

  2. Client-Side Development: You'll learn how to build client-side solutions, which are increasingly favoured in enterprise applications due to their responsiveness and scalability.

  3. REST API Consumption: As you interact with SharePoint's data through REST APIs, you'll gain valuable experience in integrating APIs, a critical skill for enterprise software development.

  4. Version Control with Git: SPFx uses modern development practices, including version control via Git. This is essential for collaboration within larger development teams.

By mastering these skills in the context of SharePoint, you'll be equipped for a much broader range of developer roles.

From SharePoint Developer to Enterprise Developer

SharePoint development is often seen as a niche skill, but within enterprise organisations, it can be a gateway to larger development roles. Here's how to use a SharePoint role as a stepping stone:

  1. Leverage SharePoint's Integration with Microsoft 365: By mastering SPFx, Power Automate, and Power Apps, you'll position yourself as someone who understands how to build integrated solutions across the Microsoft ecosystem. This will help you transition into broader developer roles involving cloud technologies like Azure.

  2. Contribute to Cross-Team Projects: SharePoint is often used for company-wide initiatives. By becoming a SharePoint expert, you'll likely find yourself working with other development teams on broader enterprise solutions. This is where you can pick up additional skills like backend development or cloud infrastructure.

  3. Focus on Long-Term Enterprise Value: Enterprises are continuously evolving their IT infrastructures, and developers who can both code and understand an organisation's long-term IT strategy are highly valuable. By showing that you can modernise SharePoint environments, you'll demonstrate the strategic thinking that enterprises look for in senior developers.

Practical Tips for Starting with SPFx

To get started with SPFx development, follow these steps:

  1. Set Up Your Development Environment: Install Node.js, Yeoman, and Gulpโ€”core tools for SPFx development.

  2. Use the SPFx Generator: Run the generator to scaffold a new SPFx web part. This gives you the structure needed to start building quickly.

  3. Start Small: Build a simple web part that pulls data from a SharePoint list or library. This will give you practical experience with APIs and client-side rendering.

  4. Join the Community: Share your progress on GitHub or in the SharePoint Developer Community. Feedback from other developers will help you improve.

By starting with these foundational steps, you'll soon build up the confidence to tackle more complex projects.

Useful Resources for Aspiring SharePoint Developers

If you're ready to dive deeper into SharePoint and the SPFx, here are some excellent resources to help you along the way:

By staying connected to the community and continuously learning, you'll ensure that your skills remain sharp and aligned with enterprise needs.

Conclusion

SharePoint development, particularly with SPFx, offers an exciting pathway into enterprise software development. It combines modern web technologies with the robust capabilities of SharePoint and Microsoft 365, providing a unique opportunity for junior developers to make their mark in large organisations.

Remember, the journey from SharePoint developer to enterprise developer is a marathon, not a sprint. ๐Ÿƒโ€โ™€๏ธ Keep learning, stay curious, and don't be afraid to take on new challenges. With persistence and the right mindset, you'll find that SharePoint development can open doors you might never have expected.

Happy coding, and may your SharePoint journey be filled with success! ๐Ÿš€