How difficult is moving into Microsoft 365 Development for a junior web developer?

As a new member of the team here at Intelogy, I’m approaching Microsoft 365 development from a background of web development. I’m moving on from the familiarity of the staple web languages – chiefly, HTML, CSS, JavaScript and jQuery – to exploring new languages and libraries such as React.js, Node.js, PowerShell and C# with PowerShell and C# having particularly sinister reputations of very steep and complex learning curves, especially for somebody like me with limited experience of object-oriented programming. 

With all this in mind, you may be wonderingperhaps rightlywhat made me shift my focus from front-end web development to development for Microsoft 365? 

 

The potential of Microsoft 365

As I quickly discovered, conventional website design and web development roles are extremely competitive, and more and more junior opportunities are absorbed by the popularisation of increasingly sophisticated and affordable pre-built solutions. Conversely, Microsoft 365 is a flourishing and in-demand market with a wealth of opportunities for new and upcoming developers such as me. Plus, given its flexibility and adaptability, Microsoft 365 can meet the needs of a greater spectrum of businesses and industries, from small companies to international enterprises and government bodies, promising a broad and exciting client-base. 

Know that Microsoft 365 is robust

I found that one of the absolute fundamentals of Microsoft 365 development is understanding what functionality is already on offer, and the subsequently viable nature of many so-called ‘low-code’ or ‘no-code’ approaches. To use SharePoint as an example, as it is the tool I am currently learning, many common business needs (for example, sending an email notification when a document requires approval) can be satisfied using Microsoft’s own toolset of web-apps. Such processes can also be automated or granted extra functionality using Microsoft Flow, which is able to cover a broad range of needs. Development in the sense of writing code is therefore a rarer necessity. 

Is code necessary?

As I understand it, coding is most often one of two things: an enhancement or extension to Microsoft’s tools to enable a specific function, or a customized solution to meet a set of very difficult or precise criteria.  

The variety of no-code, low code and more code intensive projects is particularly helpful for me, as it gives me time to develop the levels of understanding and skill with all the relevant languages, and prepares me to work on larger, code-first solutions when the opportunities arise.    

What languages are used?

When you do find something within Microsoft 365 that requires programming, the core frameworks/libraries include:  

  • React.js  
  • JavaScript and TypeScript 
  • Node.js and Yeoman 
  • HTML 
  • SCSS (Sass) / CSS 

Other than web-based usages of JavaScript, HTML and CSS, I was not previously familiar with any of these languages but have subsequently begun making some good progress learning how to use them and what functions they serve. What I found helped my understanding of React was learning the ‘behind-the-scenes’ of how HTML and XML work and interact with the Document Object Model – the ‘DOM’ – and how React offers substantially more resource efficient solutions by working within a virtual DOM. 

As an aside, when you begin exploring development, I strongly recommend using Microsoft’s Visual Studio Code as an IDE (Integrated Development Environment). There is also a great quantity of extensions on the Visual Studio Code marketplace that make some brilliant quality-of-life improvements which make reading and checking code in Visual Studio Code so much easier. 

Background Helps

I was pleasantly surprised to find that the experience I gained as a web developer, using HTML and CSS, has similarities in working with React, particularly in developing custom SharePoint web-apps. It would be apt to say that moving from web development to Microsoft 365 development has been more of a translation of skills than a transition. I feel like my understanding of web languages has been a fantastic foundation upon which to begin to build up knowledge of more advanced programming languages, libraries and concepts. 

The Best Learning Resource

Whilst I have found that my past experiences in web development have certainly helped my adoption of new languages and technologies, the one learning resource I cannot discount is being able to work and develop alongside an experienced team: I am so grateful for the invaluable guidance and support that the fantastic people here at Intelogy have provided me with in my first few weeks in the team.  

So even though I write now from the perspective of a fresh junior to Microsoft 365 development, I am highly optimistic that I will be progressing towards becoming a fully-fledged Microsoft 365 developer in no time at all!