<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: React GraphQL Academy</title>
    <description>The latest articles on Forem by React GraphQL Academy (@reactgraphqlacademy).</description>
    <link>https://forem.com/reactgraphqlacademy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F67971%2F6a09381b-a2e7-47ca-a6d8-aa02f565cb55.png</url>
      <title>Forem: React GraphQL Academy</title>
      <link>https://forem.com/reactgraphqlacademy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/reactgraphqlacademy"/>
    <language>en</language>
    <item>
      <title>A TypeScript tale - How to publish a Custom Hook on NPM with TypeScript</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Sun, 23 Aug 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript-4pi7</link>
      <guid>https://forem.com/reactgraphqlacademy/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript-4pi7</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is NPM?, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#what_is_npm"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Why React Custom Hooks?, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#why_react_custom_hooks"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Where does TypeScript fit in the equation?, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#where_does_typescript_fit_in_the_equation"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The motivation, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#the_motivation"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Putting all together with TSDX, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#putting_all_together_with_tsdx"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Let’s try it then!, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#lets_try_it_then"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Building our Hook, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#building_our_hook"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The example app, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#the_example_app"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Add a README file, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#add_a_readme_file"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Publishing our package, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#publishing_our_package"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Conclusions, &lt;a href="https://reactgraphql.academy/react/a-typescript-tale-how-to-publish-a-custom-hook-on-npm-with-typescript#conclusions"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is NPM?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/"&gt;NPM&lt;/a&gt; stands for Node Package Manager and is the world’s largest software registry. NPM is used to share, borrow, develop packages that can be public or private to your organization. It’s also a command-line utility for interacting with packages and it’s hard to imagine a world without NPM.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why React Custom Hooks?
&lt;/h2&gt;

&lt;p&gt;As sharp and conscious developers that we all are, we find ourselves many times following the DRY (Don’t Repeat Yourself) principles, therefore building reusable pieces of code within our project. If we’re diving deep in React Hooks that share the same capabilities with cross functionalities, we should be taking advantage of Custom Hooks. Hooks, in nature, are plain JavaScript functions.&lt;/p&gt;

&lt;p&gt;“Building your own Hooks lets you extract component logic into reusable functions.” - React documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where does TypeScript fit in the equation?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.typescriptlang.org/"&gt;TypeScript&lt;/a&gt; is a superset of JavaScript and it’s created and maintained by Microsoft. As a language on its own, it has been designed to offer JavaScript the typing system it was missing. It provides compile-time type validation and will not allow our code to compile if there are any typing errors. It has a huge community support not only in the forms of “how-to”s and documentation but also with declaration files.&lt;/p&gt;

&lt;h2&gt;
  
  
  The motivation
&lt;/h2&gt;

&lt;p&gt;Recently, at work, we’ve built a form that was making use of validations. Since the company I work at, has dozens of other React projects, our team thought that it could be useful to publish the Custom Hook as an NPM package so other teams could make use of it as well. Since the package is fully tested and maintained by us, other teams can enjoy the benefits of a package on these terms without having to worry about maintenance. As a plus, developers will be able to generate value in the form of pull-requests and contributions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting all together with TSDX
&lt;/h2&gt;

&lt;p&gt;I started by building the backbone, adding prettier, ESLint, TypeScript, Rollup, Jest and an example app that would make use of the Custom Hook. It was not as simple as I thought and I stepped on many rocks before I could even start typing any code. My goal was not to spend hours or days on the configuration. I wanted to be reliable, but able to move fast.&lt;/p&gt;

&lt;p&gt;I then found &lt;a href="https://github.com/formium/tsdx"&gt;TSDX&lt;/a&gt;, “a zero-config CLI that helps you develop, test, and publish modern TypeScript packages with ease--so you can focus on your awesome new library and not waste another afternoon on the configuration.”. It couldn’t sound better.&lt;/p&gt;

&lt;p&gt;TSDX is another product from the team that built Formik and has dozens of contributors. Some of the shining features are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bundles your code with &lt;a href="https://github.com/rollup/rollup"&gt;Rollup&lt;/a&gt; and outputs multiple module formats (CJS &amp;amp; ESM by default, and also UMD if you want) plus development and production builds&lt;/li&gt;
&lt;li&gt;Live reload / watch-mode&lt;/li&gt;
&lt;li&gt;Works with React&lt;/li&gt;
&lt;li&gt;Jest test runner setup with sensible defaults via tsdx test&lt;/li&gt;
&lt;li&gt;Zero-config, single dependency&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let’s try it then!
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Node and NPM
&lt;/h3&gt;

&lt;p&gt;Make sure you’ve got Node and NPM latest versions installed on your machine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose a name for your package
&lt;/h3&gt;

&lt;p&gt;Picking a name can be burdensome, especially when it comes to Custom Hooks. As React docs say: “A custom Hook is a JavaScript function whose name starts with ”use” and that may call other Hooks.”. If you wanna build something like a “useCounter”, you’ll probably find a dozen of them already registered on &lt;a href="https://www.npmjs.com/"&gt;https://www.npmjs.com/&lt;/a&gt;. I’d suggest something like “@/useCounter”.&lt;/p&gt;

&lt;p&gt;But we are not going to build a useCounter. There are way too many in this world and there are other things that are not getting enough attention.&lt;/p&gt;

&lt;p&gt;We are going to use the&lt;a href="https://api.chucknorris.io/"&gt;Chuck Norris API&lt;/a&gt; because life it’s better when you know some Chuck Norris facts.&lt;/p&gt;

&lt;p&gt;The goal of this tutorial is not to understand how to build a Custom Hook. If you’re not sure about it, have a look at the &lt;a href="https://reactjs.org/docs/hooks-custom.html"&gt;official documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Run TSDX
&lt;/h3&gt;

&lt;p&gt;On your terminal/command line, type the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
npx tsdx create use-norris

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The terminal will prompt a question and we’ll choose “react”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NguyHR2o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://reactgraphql.academy/static/2fee2ce98434628720052e9ff00d09fd/82b9dffe58fc4947328017d30bf84aa2466cc170-348x158.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NguyHR2o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://reactgraphql.academy/static/2fee2ce98434628720052e9ff00d09fd/82b9dffe58fc4947328017d30bf84aa2466cc170-348x158.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dependencies will be generated and the boilerplate created.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KscTmwLk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://reactgraphql.academy/static/93512275444ef8b4494043c61c7a178c/a541ca243e359f0a91063150ae0b4b6b6939ab5c-908x992.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KscTmwLk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://reactgraphql.academy/static/93512275444ef8b4494043c61c7a178c/a541ca243e359f0a91063150ae0b4b6b6939ab5c-908x992.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To start developing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;use-norris

yarn

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our project file tree will look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WB00c03W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://reactgraphql.academy/static/4ce04300f0c81ec5bf13aaad52dd753d/ab92050cad0bb5a877717e6bff4d5a0550d5d1e9-394x584.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WB00c03W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://reactgraphql.academy/static/4ce04300f0c81ec5bf13aaad52dd753d/ab92050cad0bb5a877717e6bff4d5a0550d5d1e9-394x584.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Things to note
&lt;/h3&gt;

&lt;h4&gt;
  
  
  package.json
&lt;/h4&gt;

&lt;p&gt;I’m ok with the &lt;code&gt;package.json&lt;/code&gt; for now but I’ll change the &lt;code&gt;name&lt;/code&gt; value for what will be my package name to &lt;code&gt;@franciscomcg/use-norris&lt;/code&gt;. Like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;“name”: “@franciscomcg/use-norris”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Publishing on NPM and creating a git repository are separated tasks and one has nothing to do with another. We can publish and jump git completely but, as we know, is not a great idea. Therefore I’ll add my git repository in the &lt;code&gt;package.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"repository": {
   "type": "git",
   "url": "https://github.com/FranciscoMCG/use-norris"
 },
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  tsconfig.json
&lt;/h4&gt;

&lt;p&gt;All good for me but I’d like you to pay special attention to the &lt;code&gt;”declaration”: “true”&lt;/code&gt; field. This field would make it possible to generate corresponding declaration (&lt;code&gt;*.d.ts&lt;/code&gt;) files for your code and ship them with our package. This would be used by our users to access type definitions.&lt;/p&gt;

&lt;h4&gt;
  
  
  ESLint and Prettier
&lt;/h4&gt;

&lt;p&gt;The package runs with ESLint and Prettier out of the box. You can customize both by adding &lt;code&gt;eslintConfig&lt;/code&gt; and &lt;code&gt;prettier&lt;/code&gt; blocks to &lt;code&gt;package.json&lt;/code&gt; or by creating &lt;code&gt;.eslintrc.js&lt;/code&gt; and &lt;code&gt;.prettierrc.js&lt;/code&gt; config files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building our Hook
&lt;/h2&gt;

&lt;p&gt;Our Hook is going to be very straight forward, and it’s only functionality is to be able to randomly fetch Chuck Norris facts.&lt;/p&gt;

&lt;p&gt;On our &lt;code&gt;src/index.tsx&lt;/code&gt; we will replace the code for the following:&lt;/p&gt;

&lt;p&gt;Initial config:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { useEffect, useReducer } from 'react';

interface InitialState {
 response: any;
 isLoading: boolean;
 isError: boolean;
 errorMessage: string | null;
}

enum ActionType {
 FETCH_INIT = 'FETCH_INIT',
 FETCH_SUCCESS = 'FETCH_SUCCESS',
 FETCH_FAILURE = 'FETCH_FAILURE',
 DATA_NOT_FOUND = 'DATA_NOT_FOUND',
}

const { FETCH_FAILURE, FETCH_INIT, FETCH_SUCCESS, DATA_NOT_FOUND } = ActionType;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The actions types and initial state:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;type UseNorrisAction =
 | { type: ActionType.FETCH_SUCCESS; payload: string }
 | {
     type: ActionType.FETCH_FAILURE;
     payload: { isError: boolean; errorMessage: string | null };
   }
 | { type: ActionType.FETCH_INIT }
 | { type: ActionType.DATA_NOT_FOUND; payload: string };

const initialState: InitialState = {
 response: '',
 errorMessage: null,
 isLoading: false,
 isError: false,
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The reducer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const useNorrisReducer = (
 state: InitialState = initialState,
 action: UseNorrisAction
) =&amp;gt; {
 switch (action.type) {
   case FETCH_INIT:
     return {
       ...state,
       isLoading: true,
       isError: false,
     };
   case FETCH_SUCCESS:
     return {
       ...state,
       response: action.payload,
       isLoading: false,
       isError: false,
     };
   case FETCH_FAILURE:
     return {
       ...state,
       isLoading: false,
       isError: action.payload.isError,
       errorMessage: action.payload.errorMessage,
     };
   case DATA_NOT_FOUND:
     return {
       ...state,
       isLoading: false,
       isError: true,
       errorMessage: action.payload,
     };
   default:
     return { ...state };
 }
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The hook:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const useNorris = (initialState: InitialState) =&amp;gt; {
 const [state, dispatch] = useReducer(useNorrisReducer, initialState);
 const { response, errorMessage, isError, isLoading } = state;

 useEffect(() =&amp;gt; {
   const fetchNorris = async () =&amp;gt; {
     dispatch({ type: FETCH_INIT });
     try {
       const res = await fetch('https://api.chucknorris.io/jokes/random');
       const json = await res.json();

       if (json.error) {
         dispatch({ type: DATA_NOT_FOUND, payload: json.error });
       }
       if (json.value) {
         dispatch({ type: FETCH_SUCCESS, payload: json });
       }
     } catch (error) {
       dispatch({
         type: FETCH_FAILURE,
         payload: { isError: true, errorMessage: error },
       });
     }
   };
   fetchNorris();
 }, []);

 return { response, errorMessage, isLoading, isError };
};

export default useNorris;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Testing our Hook
&lt;/h3&gt;

&lt;p&gt;Testing Custom Hooks can be a daunting task. Normally we’d use a React component to trigger the hook's various functionalities. But it happens that we don’t have a component. So how will we tackle this problem? We’ll use &lt;a href="https://github.com/testing-library/react-hooks-testing-library"&gt;react-hooks-testing-library&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;“Allows you to create a simple test harness for React hooks that handles running them within the body of a function component, as well as providing various useful utility functions for updating the inputs and retrieving the outputs of your amazing custom hook.”&lt;/p&gt;

&lt;p&gt;By using this library we avoid rendering the React component to test our hook.&lt;/p&gt;

&lt;h4&gt;
  
  
  Install it as a dev dependency:
&lt;/h4&gt;

&lt;p&gt;(We’ll need also react-test-renderer since it is a peer-dependency and the types for the libraries).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn add -D @testing-library/react-hooks react-test-renderer @types/jest @testing-library/react-hooks @testing-library/jest-dom
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now that we have react-hooks-testing-library installed, we’ll rename the file in the &lt;code&gt;test&lt;/code&gt; folder to &lt;code&gt;useNorris.test.ts&lt;/code&gt; and replace the code with the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { renderHook } from '@testing-library/react-hooks';

import useNorris from '../';

const mockedValue = {
 value: 'this is a very good joke',
};

const initialState = {
 response: { value: '' },
 isLoading: false,
 errorMessage: '',
 isError: false,
};

(global.fetch as jest.Mock) = jest.fn(() =&amp;gt;
 Promise.resolve({
   json: () =&amp;gt; Promise.resolve(mockedValue),
 })
);

describe('useNorris', () =&amp;gt; {
 beforeEach(() =&amp;gt; {
   (fetch as jest.Mock).mockClear();
 });

 it('should resolve', async () =&amp;gt; {
   const { result, waitForNextUpdate } = renderHook(() =&amp;gt;
     useNorris(initialState)
   );
   await waitForNextUpdate();
   expect(fetch).toHaveBeenCalled();
   expect(result.current).toEqual({
     response: mockedValue,
     errorMessage: '',
     isLoading: false,
     isError: false,
   });
 });

 it('should return an error', async () =&amp;gt; {
   (fetch as jest.Mock).mockImplementationOnce(() =&amp;gt;
     Promise.reject('There is an error')
   );
   const { result, waitForNextUpdate } = renderHook(() =&amp;gt;
     useNorris({
       response: { value: '' },
       isLoading: false,
       errorMessage: '',
       isError: false,
     })
   );
   await waitForNextUpdate();
   expect(fetch).toHaveBeenCalled();
   expect(result.current).toEqual({
     errorMessage: 'There is an error',
     isLoading: false,
     response: { value: '' },
     isError: true,
   });
 });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The example app
&lt;/h2&gt;

&lt;p&gt;We wrote a basic test and we should build a usage example so users are able to understand it better.&lt;/p&gt;

&lt;p&gt;In the example folder our &lt;code&gt;./index.ts&lt;/code&gt; will look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import * as React from 'react';

import useNorris from '../../src';

const App = () =&amp;gt; {
 const initialState = {
   response: '',
   isLoading: false,
   isError: false,
   errorMessage: null,
 };
 const { response, isLoading, isError, errorMessage } = useNorris(
   initialState
 );

 if (errorMessage) {
   return &amp;lt;p&amp;gt;{errorMessage}&amp;lt;/p&amp;gt;;
 }

 if (isError) {
   return &amp;lt;p&amp;gt;Something went wrong&amp;lt;/p&amp;gt;;
 }

 if (isLoading) {
   return &amp;lt;p&amp;gt;Loading...&amp;lt;/p&amp;gt;;
 }

 if (response) {
   return &amp;lt;p&amp;gt;{response.value}&amp;lt;/p&amp;gt;;
 }
 return &amp;lt;p&amp;gt;Something went wrong&amp;lt;/p&amp;gt;;
};

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Go to the &lt;code&gt;example&lt;/code&gt; folder and type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This would start the server and if we go to &lt;code&gt;localhost:1234&lt;/code&gt; we’ve got our app running!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ICATgQwM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://reactgraphql.academy/static/b610f7512309cce4159878adc6eddd31/902542bb760fefa14f5f7b8db613a165e908f1aa-1999x164.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ICATgQwM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://reactgraphql.academy/static/b610f7512309cce4159878adc6eddd31/902542bb760fefa14f5f7b8db613a165e908f1aa-1999x164.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Add a README file
&lt;/h2&gt;

&lt;p&gt;Writing a good, concise and meaningful README file is super important. We want our users to enjoy the whole set of features we are providing and examining the code, line by line, it’s not the best use of their time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Publishing our package
&lt;/h2&gt;

&lt;p&gt;With TSDX, publishing is a simple and quick process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Register on &lt;a href="https://www.npmjs.com/"&gt;NPM&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Running &lt;code&gt;yarn publish --access public&lt;/code&gt; will bundle our package to the dist folder and will try to access the NPM registry to publish our Hook. Private packages are a paid feature on NPM and we want our Hook to be available to everyone, hence the &lt;code&gt;--access public&lt;/code&gt; flag.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Following the cli instructions, we’ll need to log in on NPM and type the version we want to use.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And that’s it, we receive a confirmation email and our amazing useNorris is now available to everyone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Versioning
&lt;/h3&gt;

&lt;p&gt;It’s worth noticing that versioning plays an important role in how we update packages. Following the correct semantic versioning will ensure other developers are able to know the extent of changes between versions and adjust if necessary. &lt;a href="https://docs.npmjs.com/about-semantic-versioning"&gt;NPM semantic versioning&lt;/a&gt; will give you a good idea about this topic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;

&lt;p&gt;In this tutorial we’ve built a Custom Hook with TypeScript that fetches random Chuck Norris jokes. We’ve published it on NPM and now other developers will have the chance to use it as well.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Final repo - &lt;a href="https://github.com/FranciscoMCG/use-norris"&gt;https://github.com/FranciscoMCG/use-norris&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;NPM package - &lt;a href="https://www.npmjs.com/package/@franciscomcg/use-norris"&gt;https://www.npmjs.com/package/@franciscomcg/use-norris&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TSDX - &lt;a href="https://github.com/formium/tsdx"&gt;https://github.com/formium/tsdx&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Chuck Norris API - &lt;a href="https://api.chucknorris.io/"&gt;https://api.chucknorris.io&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React Hooks Testing Library - &lt;a href="https://github.com/testing-library/react-hooks-testing-library"&gt;https://github.com/testing-library/react-hooks-testing-library&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Decision Making And Team Training In A Startup</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Mon, 17 Aug 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/decision-making-and-team-training-in-a-startup-5651</link>
      <guid>https://forem.com/reactgraphqlacademy/decision-making-and-team-training-in-a-startup-5651</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Meet Matteus, &lt;a href="https://reactgraphql.academy/blog/decision-making-and-team-training-in-a-startup#meet_matteus"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Team and project management, &lt;a href="https://reactgraphql.academy/blog/decision-making-and-team-training-in-a-startup#team_and_project_management"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Resources and delivery, &lt;a href="https://reactgraphql.academy/blog/decision-making-and-team-training-in-a-startup#resources_and_delivery"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Communication in startup teams, &lt;a href="https://reactgraphql.academy/blog/decision-making-and-team-training-in-a-startup#communication_in_startup_teams"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Mentoring and upskilling, &lt;a href="https://reactgraphql.academy/blog/decision-making-and-team-training-in-a-startup#mentoring_and_upskilling"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Training outcomes, &lt;a href="https://reactgraphql.academy/blog/decision-making-and-team-training-in-a-startup#training_outcomes"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Matteus Tanha is the CTO of &lt;a href="https://humanlambdas.com/"&gt;Human Lambdas&lt;/a&gt;, a startup offering AI tooling that helps companies overcome issues with data labeling or want to use some human in the loop solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet Matteus
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://twitter.com/matteus_tanha"&gt;Matteus&lt;/a&gt; studied chemistry and chemical engineering back in Sweden, then pivoted into more theoretical chemistry and after that, he decided to dive into the startup world.&lt;/p&gt;

&lt;p&gt;He likes lots of aspects of the startup ecosystem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“In a startup, you can move faster with decisions and planning, and that’s also something I like about it.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;He spent some time in the Bay area and knows that the startup environment can also be very overwhelming.&lt;/p&gt;

&lt;p&gt;Matteus works with three devs now, so they are four including himself, but in the past, he’s worked in bigger teams as well, with up to 20 devs. This allowed him to gain lots of expertise in team working and he’s now ready to share some lessons learned during these years.&lt;/p&gt;

&lt;h2&gt;
  
  
  Team and project management
&lt;/h2&gt;

&lt;p&gt;There are quite a few challenges a CTO has to face daily. According to Matteus, one of them is making sure you use the support of the right tools, essential for any sort of progress, especially for the work of the developers. They tried different methods to keep up with work and manage projects, from the scrum master style to something more popular like kanban.&lt;/p&gt;

&lt;p&gt;Another challenge to face as a CTO is related to teamwork: being able to build an environment where people help each other and creating a place where they feel free to ask questions or discuss.&lt;/p&gt;

&lt;p&gt;And finally, Matteus thinks it is also very important to choose the tech stack that works best, keeping in mind that there are always some gaps in the people’s knowledge that you might not know about.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“So there’s a lot of decision making and in the end, you’ll need to go for the ways that are the least harmful for both the teamwork and the project you’re working on.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Resources and delivery
&lt;/h2&gt;

&lt;p&gt;How do CTOs decide who to assign a project to and how to structure it in a way that everything falls in place at the end? Matteus believes there should be a standard process when it comes to teamwork, but the truth is that creating it is quite challenging, especially in a startup.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“With every project, you need to understand what direction to go. It’s very easy to build stuff, but you need some process for doing that, and finding the right balance between building stuff and putting in the right resources into something that makes sense, that’s another challenge.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Matteus was pointing out how helpful communities are, also for decision-makers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You need to be part of some community that helps with your choices sometimes, and recommends, for example, the best platform for deploying.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Communication in startup teams
&lt;/h2&gt;

&lt;p&gt;According to Matteus, in a team, it’s better to over-communicate than to lose things and discussions on the way. And especially when the team works remotely, it’s easy to lose some discussion points and collaboration.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“We have a few processes in place: we use Slack for daily communication, we have a bi-weekly team standup, and then we have Trello where you can manage projects and tasks. We also use Github for questions. I guess the one thing I would like to improve in this process is over-communicating.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Mentoring and upskilling
&lt;/h2&gt;

&lt;p&gt;When it comes to training your team, the decisions are never so easy and straightforward. You need to analyze the situation you are in, the deadlines, availability, budget, and many more aspects before making the right decision.&lt;/p&gt;

&lt;p&gt;In startups things usually move faster, and the teams are smaller. That’s why as a decision-maker you might need to go for the best and most efficient option: learning and doing the work at the same time.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Once we’ll have more people in our team, we surely want to add some learning days in our yearly schedule and make sure the devs are up-to-date. I’ve experienced this before and I find it’s great to have a 6 months learning plan for all teams, well structured and with defined goals.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now at this early stage, when someone comes with an idea but doesn’t know exactly how to implement it, Matteus sees 2 options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If someone in the team has the expertise, they opt for tandem coding sessions: in this way, they share the knowledge and learn from each other. This obviously also depends on how much time they have to develop a certain project. In case of no time, he’d get some external help.&lt;/li&gt;
&lt;li&gt;If nobody in the team knows that particular topic, he’d choose an external expert to do the work. The benefit of having an external contractor training the devs is that it is faster: they do the work but they also learn during the work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Training outcomes
&lt;/h2&gt;

&lt;p&gt;We also asked Matteus what would be for him a good training outcome, and what expectations he’d have from a developer who just completed a training session.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“When the choice is training, I’d expect the developer to get the fundamentals of the tech we need, being able to discuss and collaborate with the other people involved in the project to find a way to integrate everything.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you have a company that faces issues with data labeling or wants to set up a human-in-the-loop solution, reach out to &lt;a href="https://humanlambdas.com/"&gt;Human Lambdas&lt;/a&gt; and they’ll help you figure something out together.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why Learn React in a React Academy</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Tue, 21 Jul 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/why-learn-react-in-a-react-academy-1j3i</link>
      <guid>https://forem.com/reactgraphqlacademy/why-learn-react-in-a-react-academy-1j3i</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Difference Between a School, Institute, and React Academy, &lt;a href="https://reactgraphql.academy/react/why-learn-react-in-a-react-academy#difference_between_a_school_institute_and_react_academy"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Training Locations with Our React Academy, &lt;a href="https://reactgraphql.academy/react/why-learn-react-in-a-react-academy#training_locations_with_our_react_academy"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Training Structure at Our React Academy, &lt;a href="https://reactgraphql.academy/react/why-learn-react-in-a-react-academy#training_structure_at_our_react_academy"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Learn React with Our Specialist React Academy, &lt;a href="https://reactgraphql.academy/react/why-learn-react-in-a-react-academy#learn_react_with_our_specialist_react_academy"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Earlier this year, we discussed &lt;a href="https://reactgraphql.academy/blog/how-to-choose-an-online-course/"&gt;how to choose an online React course&lt;/a&gt; and helped hundreds of prospective students make the right choice for their careers.&lt;/p&gt;

&lt;p&gt;But recently, we’ve been hearing of another problem people have been having -- and it relates to training providers. The question is this: where is best to learn React, in a school, institute or React academy?&lt;/p&gt;

&lt;p&gt;In this article, we’re shining a light on the difference between a React academy, school and institute, and showing you how our React training differs from other providers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Difference Between a School, Institute, and React Academy
&lt;/h2&gt;

&lt;p&gt;There are a variety of training providers out there, but where you go for React training depends entirely on your needs. So here’s the difference between a React academy, school and institute:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A React academy&lt;/strong&gt; is a place where devs can gather to learn a new skill in a specialised setting. In a word, academies are hubs of specialised knowledge that offer expert training on a subject.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An institute&lt;/strong&gt; is a place of research. Although it may offer training or educational courses, in general this is secondary to research and knowledge building.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A school&lt;/strong&gt; is a more general term used to describe a place where students learn from a group of teachers. Unlike an academy, it doesn’t necessarily specialise in a subject.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you’re looking for a React training, make sure you understand what you need. If you’re already an expert in the area, you may like to join an institute. But if you’re hoping to excel in your career in a new field, choose a React academy to acquire the level of specialist knowledge you need to succeed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Training Locations with Our React Academy
&lt;/h2&gt;

&lt;p&gt;At React GraphQL Academy, your learning is our priority. That’s why our React academy offers training in a variety of locations -- both virtually and in person.&lt;/p&gt;

&lt;p&gt;In the past, we’ve run React training in cities all over Europe, including Lisbon, London, and Barcelona. Whether it’s our signature week-long Bootcamps or our corporate training sessions, our in-person training helps devs to upskill quickly.&lt;/p&gt;

&lt;p&gt;But our offering doesn’t stop there. Since the lockdown, the world has turned to virtual like never before. Now, remote working is the new norm and has required a gear change from not only companies, but educators too. We’re thrilled to be able to offer our React academy services to a wider audience with our remote training options. To find out more about how our React remote training works, you can also attend a &lt;a href="https://reactgraphql.academy/react/training/react-trial/remote/"&gt;3-hours trial session&lt;/a&gt;, where you get a feeling of how our remote live training works.&lt;/p&gt;

&lt;p&gt;But why does this mean you should learn React in a React Academy? In short, it’s because our React academy prioritises your learning above all else -- and we try to make our expert knowledge as accessible as possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Training Structure at Our React Academy
&lt;/h2&gt;

&lt;p&gt;Locations are one thing, but if your React training doesn’t provide a comprehensive and hands-on overview of React then you’re going nowhere. So here’s a little more about our teaching method from our founder and head coach, Alex Lobera:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=op01sONcg6c&amp;amp;start=1"&gt;Related video .&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our teaching method is only one half of the story -- the other is the structures of our training programs. To show you what we mean, we’ll look at our &lt;a href="https://reactgraphql.academy/react/training/bootcamp/remote/"&gt;React Redux Remote Training&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Day 1: On the first day of our remote training bootcamp, we start by looking at Thinking in React, Modern JS, Routing &amp;amp; Data Fetching. These are the fundamentals of React which will get you ready for a full week of learning.&lt;/li&gt;
&lt;li&gt;Day 2: Next, we turn to Forms, Authentication and Hooks. Our training is structured in a way that gradually builds up your working knowledge of the React ecosystem -- with plenty of opportunity to ask questions and learn.&lt;/li&gt;
&lt;li&gt;Day 3: Redux Fundamentals, from deployment to production, gets our attention on day three. We look at Functional Programming (FP), Redux Principles, and our students build their own version of Redux using test-driven development.&lt;/li&gt;
&lt;li&gt;Day 4: Students have enough knowledge by day four to start learning advanced React patterns and performance. We apply FP to JavaScript, look at Advanced Hooks and Hooks Composition Model.&lt;/li&gt;
&lt;li&gt;Day 5: Testing is a vital part of building anything in React, so we dedicate a whole day to growing your testing skills.&lt;/li&gt;
&lt;li&gt;Day 6: Finally, we end the week by building a UI component library. Students learn Styling in React and the importance of Design Systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As you can see, we try to split up core React topics into bite-size chunks that build your overall knowledge. But we also give you the opportunity to get hands-on with the technology because there’s no better way to learn than practice.&lt;/p&gt;

&lt;p&gt;The next React Bootcamp is taking place from 12 August to 19 August 2020. You can &lt;a href="https://reactgraphql.academy/react/training/bootcamp/remote/"&gt;find out more and book your place here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn React with Our Specialist React Academy
&lt;/h2&gt;

&lt;p&gt;At React GraphQL Academy, your education is our top priority. If you’re looking to upskill and progress in your career, we have a range of specialist React training opportunities to suit a variety of needs. From in-person bootcamps to comprehensive React remote training, we have it covered.&lt;/p&gt;

&lt;p&gt;To learn more about how our React academy can help you to succeed, &lt;a href="//mailto:hello@reactgraphql.academy"&gt;get in touch!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>devops</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How Do CTOs Approach Private Dev Training &amp; Upskilling?</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Wed, 08 Jul 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/how-do-ctos-approach-private-dev-training-upskilling-50hf</link>
      <guid>https://forem.com/reactgraphqlacademy/how-do-ctos-approach-private-dev-training-upskilling-50hf</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keeping the Tech Stack Up-to-Date, &lt;a href="https://reactgraphql.academy/blog/how-do-ctos-approach-private-dev-training-and-upskilling#keeping_the_tech_stack_up_to_date"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Managing Seniors &amp;amp; Juniors Alike, &lt;a href="https://reactgraphql.academy/blog/how-do-ctos-approach-private-dev-training-and-upskilling#managing_seniors_juniors_alike"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;How training teams helps management, &lt;a href="https://reactgraphql.academy/blog/how-do-ctos-approach-private-dev-training-and-upskilling#how_training_teams_helps_management"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A CTO’s View on Mentoring, &lt;a href="https://reactgraphql.academy/blog/how-do-ctos-approach-private-dev-training-and-upskilling#a_ctos_view_on_mentoring"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;What CTOs Need to Know to Approve Training Requests, &lt;a href="https://reactgraphql.academy/blog/how-do-ctos-approach-private-dev-training-and-upskilling#what_ctos_need_to_know_to_approve_training_requests"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Private Dev Training with React GraphQL Academy, &lt;a href="https://reactgraphql.academy/blog/how-do-ctos-approach-private-dev-training-and-upskilling#private_dev_training_with_react_graphql_academy"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We’ve interviewed quite a few of our past students, each with their own unique story to tell. But there’s one job role we haven’t heard from in a while: the CTO.&lt;/p&gt;

&lt;p&gt;To gain a fuller understanding of what goes through a CTOs mind when they look for, plan and approve private dev training, we interviewed &lt;a href="https://www.linkedin.com/in/denniszelada/"&gt;Dennis Zelada, CTO at ClosedWon&lt;/a&gt;. If you’re a CTO or head of department, or if you’re looking to request further training from your senior manager, his insights will shine a light on what C-level execs think about dev training!&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping the Tech Stack Up-to-Date
&lt;/h2&gt;

&lt;p&gt;We started our interview by asking Dennis about his role, his responsibilities, and how he makes sure his company stays at the forefront of innovation. For Dennis, the answer is simple: needs and behaviours.&lt;/p&gt;

&lt;p&gt;Throughout the interview, Dennis returned time and again to the idea that needs and behaviours must drive all strategic planning within your organisation. That’s just as relevant for keeping the tech stack up-to-date as it is for approving new training budgets.&lt;/p&gt;

&lt;p&gt;Although Dennis used to manage a team of 98 people, he now manages a much smaller team of under ten. Of course, that means how he works has changed. Working in a smaller team has meant that Dennis has had to code more than he once did, but this has brought him closer to the needs of the business and the services he and his team are creating. Now, he is able to bring his wider knowledge of current best practices to what his team needs to know to succeed.&lt;/p&gt;

&lt;p&gt;So if there’s one thing that’s clear from Dennis’ insights, it’s this: knowing how and why something is needed, including extra training in a new area, is absolutely crucial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Managing Seniors &amp;amp; Juniors Alike
&lt;/h2&gt;

&lt;p&gt;The CTO position is an interesting one. Not only do you have to manage a team of varying seniorities below you, from juniors to team leaders and managers, you also have to manage the stakeholders in the boardroom. As a CTO, you must communicate with CEOs and other C-level executives to make sure you align on strategy.&lt;/p&gt;

&lt;p&gt;“One of the biggest challenges is having the information created and ready on time because you need to provide information in both directions. You also need to be aware of who and what you are talking about. It’s not the same, talking to business people and marketing people is quite different [...] They measure things quite differently.” &lt;/p&gt;

&lt;p&gt;Dennis told us that having information for both directions at the right time, and being able to translate this information for different disciplines, was integral to the success of the business. Miscommunication can be extremely detrimental, which is why as a CTO Dennis tries to teach people how to work with one another in the company. For seniors, that means learning to be kind and patient with juniors. For juniors, that means being eager to learn.&lt;/p&gt;

&lt;p&gt;But ultimately, the divide between seniors and juniors can become a big problem if there is too much variation in experience. It can result in stagnation, as your devs are unable to hit the ground running.&lt;/p&gt;

&lt;h2&gt;
  
  
  How training teams helps management
&lt;/h2&gt;

&lt;p&gt;For Dennis, it makes strategic sense to get your team extra training when you need to get everyone working together.&lt;/p&gt;

&lt;p&gt;Towards the end of the interview, Dennis also argued that when team members go on a private dev training session, they should return to the team ready to share their knowledge. He hosts a weekly tech meeting where everyone can share what they’ve learned.&lt;/p&gt;

&lt;p&gt;So ask yourself, can you share your new knowledge from developer team training easily? You must be able to answer why your developers should receive extra training before requesting it.&lt;/p&gt;

&lt;p&gt;In addition, Dennis told us that having the right information and at the right time was crucial to getting any training budget approved. He recommended doing your homework and learning who you’re talking to and how they measure ROI to ensure your requests get approval.&lt;/p&gt;

&lt;h2&gt;
  
  
  A CTO’s View on Mentoring
&lt;/h2&gt;

&lt;p&gt;Having previously worked as a professor, Dennis understood the importance of engaging people on their level and asking them, “How do you want to learn?”&lt;/p&gt;

&lt;p&gt;Dennis said this was a crucial first step toward discovering what your employees want from their career and allows you to start mapping out their career path -- together.&lt;/p&gt;

&lt;p&gt;This is one of the best ways of helping both the business and the individual employee to succeed. Where skills are lacking, Dennis works with each of his team members to understand their pain points and how they want to overcome them. If they like to read a book to learn a new skill, he encourages that. Likewise, if an individual requires one-to-one training sessions, or to attend a course, he is committed to making that happen for his employees.&lt;/p&gt;

&lt;h2&gt;
  
  
  What CTOs Need to Know to Approve Training Requests
&lt;/h2&gt;

&lt;p&gt;If you’re an employee looking to convince your manager to approve your training request, Dennis had some advice to share!&lt;/p&gt;

&lt;p&gt;When his team comes to him with requests, Dennis first asks why they need this training and how it would help the business. He wants to know why it’s better to outsource dev training instead of doing it internally -- which, of course, can be better but it depends on the needs of the students. Then, he follows up with more areas, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The reputation of the training provider&lt;/li&gt;
&lt;li&gt;The training provider’s success rate and testimonials&lt;/li&gt;
&lt;li&gt;Any blogs the training provider has created&lt;/li&gt;
&lt;li&gt;How this training provider compares to others -- what makes these coaches better than anyone else?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s all about due diligence. Dennis researches training before committing to it, so be sure to do your own research before you make a request for a training budget. &lt;a href="https://reactgraphql.academy/react/how-to-ask-for-training-approval-from-your-boss/"&gt;We’ve written about this topic previously here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Private Dev Training with React GraphQL Academy
&lt;/h2&gt;

&lt;p&gt;We work with many CTOs at global organisations to help them upskill their dev team’s abilities in React and GraphQL. Via both remote training and in-person opportunities, we bring your team face-to-face with the best practices they need to succeed with React and GraphQL technologies. To find out more about our corporate training courses, you can head to our dedicated page or contact our friendly team!&lt;/p&gt;

</description>
      <category>react</category>
      <category>graphql</category>
      <category>devops</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The challenge of learning while working: Rafael’s story</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Thu, 18 Jun 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/the-challenge-of-learning-while-working-rafael-s-story-af3</link>
      <guid>https://forem.com/reactgraphqlacademy/the-challenge-of-learning-while-working-rafael-s-story-af3</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Meet Rafael, &lt;a href="https://www.reactgraphql.academy/react/the-challenge-of-learning-while-working-rafael-s-story#meet_rafael"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The journey of finding the perfect training, &lt;a href="https://www.reactgraphql.academy/react/the-challenge-of-learning-while-working-rafael-s-story#the_journey_of_finding_the_perfect_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;From in-person to remote live training, &lt;a href="https://www.reactgraphql.academy/react/the-challenge-of-learning-while-working-rafael-s-story#from_in_person_to_remote_live_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Learning by doing: our training structure, &lt;a href="https://www.reactgraphql.academy/react/the-challenge-of-learning-while-working-rafael-s-story#learning_by_doing_our_training_structure"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;What did you like the most about this training?, &lt;a href="https://www.reactgraphql.academy/react/the-challenge-of-learning-while-working-rafael-s-story#what_did_you_like_the_most_about_this_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;What’s next Rafael?, &lt;a href="https://www.reactgraphql.academy/react/the-challenge-of-learning-while-working-rafael-s-story#whats_next_rafael"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Our next training sessions, &lt;a href="https://www.reactgraphql.academy/react/the-challenge-of-learning-while-working-rafael-s-story#our_next_training_sessions"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Back in April 2020 after our Remote Bootcamp we had a chat with Rafael, who attended the Advanced React training - the last three days of the Bootcamp. This training was meant to be in-person but because of the coronavirus situation, we had to switch to remote.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet Rafael
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/rdujarric/"&gt;Rafael&lt;/a&gt; is 50 years old and lives in Berlin. He’s a back-end developer with 10 years of experience working in back-end and full-stack development.&lt;/p&gt;

&lt;p&gt;In the beginning of his career he was working with PHP, and later he found that he needed a change and wanted to move to another language: JavaScript. He went into the full-stack work with Vanilla JavaScript, jQuery and also Framework.&lt;/p&gt;

&lt;p&gt;He has always been learning while working, and thanks to this approach he managed to get better and better jobs in time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The journey of finding the perfect training
&lt;/h2&gt;

&lt;p&gt;One of the biggest challenges with this progressive learning? Finding the right training for him, and understanding also what could be the best option when there are so many languages and learning options out there.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When you are on your own and there are so many things out there, you never know what to tackle. In order to get more competitive, I needed something more up-to-date like React. But still it was really hard to know where to start from.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Rafael needed to start with the latest JavaScript, TypeScript, and only thinking about Webpack and all those things, made him feel helpless.&lt;/p&gt;

&lt;p&gt;He was constantly looking for React Bootcamps:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;All of them were so huge, including so many languages and lasting a long time, like 6 months, some of them even full-time. There was no way I could be paying that long training and taking so much time off. I needed to keep working.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Rafael has been joining React meetups, conferences and learning by himself with tutorials as well. But he always felt like that was not enough, he needed some training that gave him full competence and understanding of React, filling his knowledge gaps and putting theory into practice.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I went to a meetup in Berlin and I don’t remember if that was my first contact with you. I was looking for bootcamps and I saw that your React Bootcamp was short, specific and complete.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;He was very interested and started following React GraphQL Academy until he got to purchase the advanced part of our Bootcamp training.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What drove my final decision was a combination of the duration of the programme, the advanced training curriculum and the price.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  From in-person to remote live training
&lt;/h2&gt;

&lt;p&gt;We asked Rafael about his experience in our remote live training and about his reaction to this change from in-person to remote.&lt;/p&gt;

&lt;p&gt;He said that before all this current situation he was always afraid of everything online, because when he’s at home he’s not as disciplined and doesn’t study like in an in-person training. Since this lockdown he somehow had to adapt, and he can now see remote as a really good alternative. Working or studying remotely is a good option because he can organize his time better, and he doesn't have to spend time commuting to another place.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The idea of attending in-person was something that attracted me in the beginning. When things changed and the training switched to remote I was already so excited about the program that I didn’t think about the change. And in fact in the end the remote training went great, Alex was really good at handling the remote audience. I’ve seen him live in the meetup and this time remotely and I can say that it felt the same. The quality didn’t change from in-person to remote, that’s what I’m sure of.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Learning by doing: our training structure
&lt;/h2&gt;

&lt;p&gt;We usually structure our training program to be ⅓ theory and ⅔ practice and we always like hearing feedback from the students in order to improve where necessary. So we asked Rafael if for him this hands-on approach was good, or if he found it to be too challenging.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It was really good, we also had this pair programming in separate rooms on Zoom, and &lt;a href="https://www.reactgraphql.academy/team/alex-lobera/"&gt;Alex&lt;/a&gt; was getting from room to room checking how things were going, helping and challenging us like “do you think this is the right way to do that?” I found this was a great way to learn.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What did you like the most about this training?
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;This program is continuously updated and also Alex shows different tools, libraries, paths and in the end he recommends one of the different alternatives. You see how to struggle in each path and when you get the recommendation you see why that was recommended, you understand why that is the happy path.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What’s next Rafael?
&lt;/h2&gt;

&lt;p&gt;Rafael told us that after the training he found a job where he had to work with React.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I was supposed to start a new project today, with React, but because of this crisis they called me to say they need to stop this for now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This coronavirus crisis has been affecting many people and businesses, cancelled lots of projects and paused future plans. But Rafael has an alternative idea in mind, to cover up for this uncertain times:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Maybe this is the time to start some projects on my own, especially now that this knowledge is still fresh. I can also show these side projects and experience in the future job applications.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We find this is a very positive mindset and a motivating approach in a time where external factors and circumstances try to stop us from achieving our goals. And we believe it’s the best way to keep going and building our future.&lt;/p&gt;

&lt;p&gt;Well done Rafael, best of luck with your future projects!&lt;/p&gt;

&lt;h2&gt;
  
  
  Our next training sessions
&lt;/h2&gt;

&lt;p&gt;If you also struggle with finding the best React training option for you, &lt;a href="//mailto:hello@reactgraphql.academy"&gt;get in touch with us&lt;/a&gt; and let’s try to understand together if any of our training is suitable for your experience. Alternatively, you can &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best/"&gt;read this article about how to choose the React training that suits you best&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can also head directly to our &lt;a href="https://www.reactgraphql.academy/react/training/"&gt;React training page&lt;/a&gt; and check out the next training dates, remote or in-person.&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>graphql</category>
      <category>learning</category>
    </item>
    <item>
      <title>Remote GraphQL Training: Raghu’s Story</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Thu, 04 Jun 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/remote-graphql-training-raghu-s-story-3k8m</link>
      <guid>https://forem.com/reactgraphqlacademy/remote-graphql-training-raghu-s-story-3k8m</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Meet Raghu, Full-Stack JS Developer, &lt;a href="https://www.reactgraphql.academy/graphql/remote-graphql-training-raghu-s-story#meet_raghu_full_stack_js_developer"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Raghu's experience with React GraphQL Academy, &lt;a href="https://www.reactgraphql.academy/graphql/remote-graphql-training-raghu-s-story#raghus_experience_with_react_graphql_academy"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Thoughts on Remote Training, &lt;a href="https://www.reactgraphql.academy/graphql/remote-graphql-training-raghu-s-story#thoughts_on_remote_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Sponsored by Hasura, &lt;a href="https://www.reactgraphql.academy/graphql/remote-graphql-training-raghu-s-story#sponsored_by_hasura"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Join Our Next Remote GraphQL Training Opportunity, &lt;a href="https://www.reactgraphql.academy/graphql/remote-graphql-training-raghu-s-story#join_our_next_remote_graphql_training_opportunity"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After receiving a sponsorship from &lt;a href="https://hasura.io"&gt;Hasura&lt;/a&gt;, Raghu took part in our remote GraphQL training programme. Here’s more about his story and journey!&lt;/p&gt;

&lt;p&gt;We recently hosted our first GraphQL remote training. The training was a success, with students from far and wide taking part and discovering the power of GraphQL. But you shouldn’t just take our word for it.&lt;/p&gt;

&lt;p&gt;We sat down with Raghu, a full-stack JS developer from India who attended the GraphQL remote training. Here’s a little more about his experience on the programme and how he was sponsored by Hasura to take part!&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet Raghu, Full-Stack JS Developer
&lt;/h2&gt;

&lt;p&gt;After the GraphQL training finished, we got in touch with one student to find out a little more about him. &lt;a href="https://twitter.com/raghubandaru45"&gt;Raghu&lt;/a&gt; is a full-stack JS developer who works for a start-up in India. He was looking to expand his knowledge and skills, and felt that remote workshops and training sessions would be the best way to do that - especially during lockdown!&lt;/p&gt;

&lt;p&gt;For Raghu, remote workshops are a great way to upskill and meet new people.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;These are the things that make our experience as a dev much more useful for future job prospects - Raghu said.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Coming into the training, Raghu had a little experience in React but hadn’t exploref GraphQL fully before. He said that he had been looking for a good online programme to kickstart his GraphQL journey, but too often the courses fall short. They focus too heavily on the basics and truly hands-on experience with real projects doesn’t come until a lot later in the course - too late for Raghu’s liking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Raghu's experience with React GraphQL Academy
&lt;/h2&gt;

&lt;p&gt;The reason Raghu applied for React GraphQL Academy is because you get into projects quicker and, more importantly, because there are four different coaches. Raghu liked that our four coaches specialised in teaching different aspects of GraphQL, and that they introduced advanced topics like error handling.&lt;/p&gt;

&lt;p&gt;In addition, Raghu said that this training structure meant you really went from “zero to hero” with devs of all levels of experience able to gain from the GraphQL remote training. That’s because&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Other courses don’t really give you the full powers of GraphQL.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Raghu said that our training highlighted the most useful aspects of GraphQL and gave him the tools he needs to go forward with any project - it gave him “superpowers!”&lt;/p&gt;

&lt;h2&gt;
  
  
  Thoughts on Remote Training
&lt;/h2&gt;

&lt;p&gt;We also asked Raghu about how he felt about remote training. He said that as a concept, it isn’t too scary for him. Of course, “90/100” would probably opt for in-person training, but the world is changing, especially during the current situation with the Covid-19. If you can still gain new skills and knowledge by simply embracing remote working, Raghu says you should just do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sponsored by Hasura
&lt;/h2&gt;

&lt;p&gt;At React GraphQL Academy, we aim to make our training available to as many devs who need it as possible. Sometimes, we hear of students that can’t raise the funds to join the training, but we don’t think that should be a barrier. That’s why we worked with Hasura, who offered a sponsored opportunity for a lucky student to take part in our remote training programme.&lt;/p&gt;

&lt;p&gt;That lucky student was Raghu. We asked him about his experience with the sponsorship and how he got it. He said that he had been following React GraphQL Academy for a while, having gone through the curriculum and loved how it looked. In fact,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It blew my mind away! - he said.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;He thinks that GraphQL is at a stage where React was two years ago -- the future is going to be big for GraphQL, so he wanted to get ahead of the trend.&lt;/p&gt;

&lt;p&gt;We chose Raghu as winner of this sponsorship because of his drive and motivation. Fortunately for us, the sponsorship also came at the perfect time for Raghu - he was just about to start a new side project to demonstrate his skills for his portfolio, and now GraphQL will take centrestage for that project!&lt;/p&gt;

&lt;h2&gt;
  
  
  Join Our Next Remote GraphQL Training Opportunity
&lt;/h2&gt;

&lt;p&gt;If you connected with Raghu’s story, you might be interested in taking part in our next remote training opportunity. We’re helping devs all around the world to learn GraphQL from the comfort of their own home or office, and more sessions are coming soon!&lt;/p&gt;

&lt;p&gt;To learn GraphQL from anywhere with experienced coaches, head to our GraphQL training page and &lt;a href="https://www.reactgraphql.academy/graphql/training/graphql-trial/remote/"&gt;book your trial session today&lt;/a&gt;. Questions? Get in touch with &lt;a href="//mailto:hello@reactgraphql.academy"&gt;our friendly team&lt;/a&gt;. We’ll be more than happy to answer any questions about our remote training and how they can help devs like you to upskill and go further in your career.&lt;/p&gt;

</description>
      <category>react</category>
      <category>graphql</category>
      <category>javascript</category>
      <category>devs</category>
    </item>
    <item>
      <title>Learning React in COVID-19 times: Daniela's story</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Sun, 24 May 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/learning-react-in-covid-19-times-daniela-s-story-19ii</link>
      <guid>https://forem.com/reactgraphqlacademy/learning-react-in-covid-19-times-daniela-s-story-19ii</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Let’s start with getting to know more about you. Tell us a bit about yourself., &lt;a href="https://www.reactgraphql.academy/react/learning-react-in-covid19-times-daniela-s-story#lets_start_with_getting_to_know_more_about_you_tell_us_a_bit_about_yourself"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;How did you become a developer? What influenced your decision to pursue coding as a career?, &lt;a href="https://www.reactgraphql.academy/react/learning-react-in-covid19-times-daniela-s-story#how_did_you_become_a_developer_what_influenced_your_decision_to_pursue_coding_as_a_career"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Why did you choose React GraphQL Academy as a training provider?, &lt;a href="https://www.reactgraphql.academy/react/learning-react-in-covid19-times-daniela-s-story#why_did_you_choose_react_graphql_academy_as_a_training_provider"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Which goals did you pursue when you purchased a training?, &lt;a href="https://www.reactgraphql.academy/react/learning-react-in-covid19-times-daniela-s-story#which_goals_did_you_pursue_when_you_purchased_a_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;When you saw that this training would be held remotely because of COVID-19, how did you feel about it?, &lt;a href="https://www.reactgraphql.academy/react/learning-react-in-covid19-times-daniela-s-story#when_you_saw_that_this_training_would_be_held_remotely_because_of_covid_19_how_did_you_feel_about_it"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;What was your after-training impression? Did the Bootcamp meet your expectations?, &lt;a href="https://www.reactgraphql.academy/react/learning-react-in-covid19-times-daniela-s-story#what_was_your_after_training_impression_did_the_bootcamp_meet_your_expectations"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;What advice do you have for our future attendees who are planning to attend the Bootcamp?, &lt;a href="https://www.reactgraphql.academy/react/learning-react-in-covid19-times-daniela-s-story#what_advice_do_you_have_for_our_future_attendees_who_are_planning_to_attend_the_bootcamp"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Join Our Next Remote React Bootcamp Experience, &lt;a href="https://www.reactgraphql.academy/react/learning-react-in-covid19-times-daniela-s-story#join_our_next_remote_react_bootcamp_experience"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Changing careers is never easy. It’s a daunting prospect and sometimes it can feel simpler to just not try to change careers. How many times have you heard of somebody who wanted to move into a new field but haven’t? Well, today you’re not going to hear that same old story because a recent React GraphQL Academy student chose to see her plans through.&lt;/p&gt;

&lt;p&gt;Meet &lt;a href="https://www.linkedin.com/in/daniela-sofrone-2ab7289b/"&gt;Daniela&lt;/a&gt;, a junior front-end developer who recently attended our remote React Bootcamp. She was happy enough to take part in an interview and pass on any advice she has of learning React from home.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let’s start with getting to know more about you. Tell us a bit about yourself.
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Hi, I’m Daniela and I am a Junior Frontend Developer. I come from a quite different background, having studied language and literature and worked as a German teacher for many years.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How did you become a developer? What influenced your decision to pursue coding as a career?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;I’ve always been fascinated by computer science and development but I was reluctant to try it out, because of the prejudice many of us live with, that our study field should dictate the direction of our career. So a few years ago I started with simple HTML and CSS and moved from there to JavaScript and React. I made a goal out of getting my first job as a developer, a goal that kept me from giving up when faced with the challenges and difficulties every new beginning has. So I created my own opportunities and decided that a QA position would be the entry point.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I thought, if my current company doesn’t offer any internship positions as a QA in their software development department, then I’ll make them create it for me. If I can’t get any developer tasks as a QA, then I’ll keep on learning by myself and ask them to offer me a job as a developer. And that's what I did. I think setting a goal and being highly motivated by your passion for something can only make you succeed. For me it was a combination of luck, ambition, never giving up and some great people along the way.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why did you choose React GraphQL Academy as a training provider?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;After one and a half years working as a developer, I felt that there were a lot of things I wanted to learn and my tasks just did not give me the opportunity to do so. I was looking for a React course -- not too long, not too short -- and came across React GraphQL Academy. It was perfect, just what I needed. It took a bit of convincing with my supervisor because our individual education budget was much lower. But I managed, especially after stalking the React GraphQL Academy page for weeks and finding a great price offer.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Which goals did you pursue when you purchased a training?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;My goals for this Bootcamp were: firstly, and funnily enough, checking my own knowledge compared to the others, especially because I was the only junior developer there; and secondly, learning advanced React patterns but also consolidating or better understanding some more basic concepts.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  When you saw that this training would be held remotely because of COVID-19, how did you feel about it?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;When it was announced that the bootcamp would take place remotely, I was sceptical. I had done many online courses before and I was looking for the human factor, the face to face interaction and the “being-somewhere-8-hours-a-day” kind of thing. But I was surprised to discover that the remote factor was no obstacle to a great and successful bootcamp at all. Of course sitting inside your home for so many hours and having to concentrate on increasingly complicated topics has its own challenges. But the trainer balanced the communication, the tasks and pair programming very well. I think I speak for everyone there when I say that no matter the level of our knowledge, we all got our questions answered. The atmosphere of the bootcamp was comfortable and we were encouraged to speak freely and ask lots of questions.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What was your after-training impression? Did the Bootcamp meet your expectations?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;My overall feeling was much more positive than I anticipated. Afterwards I was more ready to jump into more complex tasks at work and felt more confident with what I knew.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What advice do you have for our future attendees who are planning to attend the Bootcamp?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;First of all I would like for my own example to give those who wish to work in development, but are not quite sure of themselves, the courage to go for it. Secondly, I think the React GraphQL Academy is great for both junior and more experienced developers, because it discusses basic JavaScript and React topics like ES6 and data fetching and advanced patterns like higher order components and advanced hooks. It has a little bit of everything.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Join Our Next Remote React Bootcamp Experience
&lt;/h2&gt;

&lt;p&gt;Enjoy Daniela’s story? Then it’s your turn to advance your React skills from the comfort of your own home!&lt;/p&gt;

&lt;p&gt;At React GraphQL Academy, we’re helping devs all around the world to learn React from home, office or wherever they are at the moment. Daniela attended our recent remote React Bootcamp, but &lt;a href="https://www.reactgraphql.academy/"&gt;more sessions are on the way&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To learn React from home with experienced coaches, check out our React training page and book your session today. If you have any questions, feel free to &lt;a href="//mailto:hello@reactgraphql.academy"&gt;reach out to our friendly team&lt;/a&gt;. We’ll be more than happy to answer any questions about our remote training and how they can help devs like you to upskill and go further in your career.&lt;/p&gt;

</description>
      <category>react</category>
      <category>graphql</category>
      <category>javascript</category>
      <category>devops</category>
    </item>
    <item>
      <title>Try React or GraphQL Training Before You Enrol</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Wed, 06 May 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/try-react-or-graphql-training-before-you-enrol-1aa4</link>
      <guid>https://forem.com/reactgraphqlacademy/try-react-or-graphql-training-before-you-enrol-1aa4</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why We Provide Remote Training Trials, &lt;a href="https://www.reactgraphql.academy/blog/try-react-or-graphql-training-before-you-enrol#why_we_provide_remote_training_trials"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;What Our Remote Training Trial Involves, &lt;a href="https://www.reactgraphql.academy/blog/try-react-or-graphql-training-before-you-enrol#what_our_remote_training_trial_involves"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;How Do The GraphQL and React Remote Trial Work?, &lt;a href="https://www.reactgraphql.academy/blog/try-react-or-graphql-training-before-you-enrol#how_do_the_graphql_and_react_remote_trial_work"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;How to Book a React GraphQL Academy Trial, &lt;a href="https://www.reactgraphql.academy/blog/try-react-or-graphql-training-before-you-enrol#how_to_book_a_react_graphql_academy_trial"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Our Remote Training Trial Prices, &lt;a href="https://www.reactgraphql.academy/blog/try-react-or-graphql-training-before-you-enrol#our_remote_training_trial_prices"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Sample Our Training Today, &lt;a href="https://www.reactgraphql.academy/blog/try-react-or-graphql-training-before-you-enrol#sample_our_training_today"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No matter what it is, when you make an investment in life you always want to try before you buy. It’s the same story when it comes to education, which is why at React GraphQL Academy we offer a trial training session to potential students -- so they can try before they buy and have the peace of mind that our training is for them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why We Provide Remote Training Trials
&lt;/h2&gt;

&lt;p&gt;As educators, we’ve been offering expert development training for several years now. Students usually learn best when the training is right for them. That’s why we offer remote training trials.&lt;/p&gt;

&lt;p&gt;Our trial training sessions are a straightforward way to sample the React GraphQL Academy training opportunities without making the full commitment to the training.&lt;/p&gt;

&lt;p&gt;The remote training trial consists of the first session in either our React or GraphQL training, which you can join from the comfort of your own home or office, even when the training you’re interested in is in-person. The value of our in-person and remote training lies in the same curriculum. Therefore, you can attend the remote trial even if you are considering in-person training. As a potential student, you’ll have the chance to try a 3-hour training session before purchasing a full training. If you try the training and don’t think it’s quite right for you and your educational needs, you don’t have to worry. But if you find it useful and inspiring, and the &lt;a href="https://www.reactgraphql.academy/blog/react-graphql-academy-teaching-method/"&gt;teaching method&lt;/a&gt; is aligned to your needs, the trial session acts as a springboard into the full training.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Our Remote Training Trial Involves
&lt;/h2&gt;

&lt;p&gt;The React and GraphQL training trials are conducted remotely through Zoom. We have plenty of experience educating developers remotely, so you’ll be in safe hands.&lt;/p&gt;

&lt;p&gt;Typically, our trial session involves teaching the first session from the React or GraphQL training... For instance, in the React training, remote or in-person, our first session is Thinking in React. Here, we introduce the principles behind React JS, including the Imperative to Declarative shift, the React component tree, and the React composition model. Find out more info about the trial curriculum and learning objectives &lt;a href="https://www.reactgraphql.academy/react/training/react-trial/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Students on the trial get to work with our coaches and get a feel for the training as a whole. If you request a place in the trial, you’ll get to see the high quality of our training for yourself -- and of course, you’ll have the opportunity to ask as many questions as you like!&lt;/p&gt;

&lt;h2&gt;
  
  
  How Do The GraphQL and React Remote Trial Work?
&lt;/h2&gt;

&lt;p&gt;The React and GraphQL trials - and the remote training too - take place on Zoom. It’s a great video-communication tool that allows coaches to share their screen, so you can see their presentation and the coding.&lt;/p&gt;

&lt;p&gt;Zoom.us also allows pair programming, which is very important for developer training and it’s also one of our teaching method pillars. In this case, the coaches will be creating some breakout rooms, where they will add smaller groups of people who can interact and work on a given exercise. The button “Ask for help” will allow you to invite the coach in your breakout room and get the help you need -- live!&lt;/p&gt;

&lt;p&gt;You’ll have the chance to test these and other great features of Zoom during the React or GraphQL trial.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Book a React GraphQL Academy Trial
&lt;/h2&gt;

&lt;p&gt;Booking a training trial with React GraphQL Academy couldn’t be simpler. On our website, look out for the Try First button which will take you to the trial training page.&lt;/p&gt;

&lt;p&gt;Alternatively, you can just click on any training date you’re interested in, and when reaching the pricing area you also find a link to “try first” or “try now”. That will bring you directly to the next scheduled trial for your React training.&lt;/p&gt;

&lt;p&gt;Book your place now for the &lt;a href="https://www.reactgraphql.academy/react/training/react-trial/"&gt;React training trial&lt;/a&gt; or the &lt;a href="https://www.reactgraphql.academy/graphql/training/graphql-trial"&gt;GraphQL training trial&lt;/a&gt;, and experience the first session of our complete React or GraphQL training with our coach Alex Lobera. He’ll be thrilled to have you along for the trial, and will be happy to answer any questions you might have about any of our remote training sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our Remote Training Trial Prices
&lt;/h2&gt;

&lt;p&gt;The React GraphQL Academy training trial is designed to give you a taste of our full training without making the full investment.&lt;/p&gt;

&lt;p&gt;We charge a fee of 10.8€ to attendees. But, if you like the training and feel that it’s right for you, the trial training session is free of charge. We’ll deduct the price of the trial from the full training fee.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sample Our Training Today
&lt;/h2&gt;

&lt;p&gt;We’re proud to offer a remote training trial for our React and GraphQL training. In a moment of crisis like this where everyone is at home, having the chance to experience remote learning is crucial, and we’re happy to provide this upskilling opportunity.&lt;/p&gt;

&lt;p&gt;In addition, trying out a course before you make the full investment is a great way to ensure you get the education you need to thrive in your dev career.&lt;/p&gt;

&lt;p&gt;If you’d like to experience our training sessions for yourself, simply &lt;a href="https://www.reactgraphql.academy/react/training/react-trial/remote/"&gt;head to our remote training trial page&lt;/a&gt; now to learn more and book your place for the next trial.&lt;/p&gt;

&lt;p&gt;Any questions? Feel free to &lt;a href="//mailto:hello@reactgraphql.academy"&gt;reach out to our friendly team&lt;/a&gt;. We’ll be more than happy to answer any questions about our remote training and how they can help devs like you to upskill and go further in your career.&lt;/p&gt;

</description>
      <category>react</category>
      <category>graphql</category>
      <category>javascript</category>
      <category>devops</category>
    </item>
    <item>
      <title>How To Write A Training Request Letter (template)</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Wed, 29 Apr 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/how-to-write-a-training-request-letter-template-4pf8</link>
      <guid>https://forem.com/reactgraphqlacademy/how-to-write-a-training-request-letter-template-4pf8</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sample Request Letter for Tech Training, &lt;a href="https://www.reactgraphql.academy/blog/how-to-write-a-training-request-letter-template#sample_request_letter_for_tech_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Questions About Talking to Your Boss?, &lt;a href="https://www.reactgraphql.academy/blog/how-to-write-a-training-request-letter-template#questions_about_talking_to_your_boss"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ready to ask your manager to approve your developer training? Copy our sample request letter for training approval and convince your manager today.&lt;/p&gt;

&lt;p&gt;So you’ve found the perfect development training opportunity for you, but now you have one final hurdle to overcome: getting a sign off from your boss. In a &lt;a href="https://www.reactgraphql.academy/react/how-to-ask-for-training-approval-from-your-boss/"&gt;previous article&lt;/a&gt;, we looked at the strategies devs like you could use to ask for tech training approval. Today, we’re taking it one step further and providing a sample letter for training approval you can rework and submit to your manager.&lt;/p&gt;

&lt;p&gt;By reviewing existing samples of request letters to attend training, you’ll be in a better position to formulate your own. Take notes from the letter below and our previous blog article to write your own letter and continue on your journey to becoming a React and/or GraphQL master!&lt;/p&gt;

&lt;h2&gt;
  
  
  Sample Request Letter for Tech Training
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Dear Mr Stark,&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I hope this letter finds you well. Since joining this company, I’ve sought opportunities to enhance both our team’s abilities and my own professional development. Continuing in that, today I’d like to request additional training to help me further improve my skills and bring greater benefits to the company.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Recently, I’ve noticed that we have a skills shortage in React and I believe that additional training in this area could benefit the company greatly, allowing us to maintain our high standards and deliver quality apps in the future. I’d like to request that the company covers the cost of the following React training so I can develop skills in this area and bring them to the company.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;After conducting research online, I’ve found a company that got my attention: it’s React GraphQL Academy and they offer several training sessions that I believe would benefit the company, our department, and my professional development.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In particular, I think the Remote React Part-Time Bundle - Fundamentals + Advanced - would be a good choice for us because it takes place in the evenings or on Fridays and it’s a 100% remote training. This means I could keep working on my projects while attending the course. The training lasts for five weeks and includes an introduction to thinking in React and guides devs through to advanced features like building a UI component library. It costs 1,728€ if we book at least three weeks before the training starts.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An alternative to this learning pace is their Bootcamp: it covers exactly the same curriculum but it’s covered in 6 full-time days.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Although the React Bootcamp would make me unavailable for my day-to-day role, it would only be for a week and I would be in a better position to apply my new skills and knowledge sooner. Alternatively, the Part-time Bundle would allow me to undergo training without impacting on my abilities to deliver work for the company. Once I’ve completed the training I believe the company will see an increase in quality and ROI that wouldn’t be possible otherwise.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you have any other recommendations or ideas for potential training opportunities, I’d be more than happy to discuss them with you. Thanks for considering my request for training, and let me know if you'd like to schedule a follow-up meeting about this for next week. We can review my request and I can answer any questions you have.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I look forward to hearing your thoughts.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Kind regards,&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Peter Parker&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Questions About Talking to Your Boss?
&lt;/h2&gt;

&lt;p&gt;If you have any questions about how to request training from your manager, we’re here to help. We’ve worked with developers just like you who have been looking to upskill in React and GraphQL for several years now. We know it can be difficult to get training approval from your manager, but we’re here to help.&lt;/p&gt;

&lt;p&gt;&lt;a href="//mailto:hello@reactgraphql.academy"&gt;Get in touch with us today&lt;/a&gt; and we can provide additional information and answer any questions you might have about tech training. Armed with this information, you’ll be in a better position to request training.&lt;/p&gt;

&lt;p&gt;You can also find out more about our courses in React and GraphQL from our website.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>devs</category>
    </item>
    <item>
      <title>How to choose our React training combination that suits you best</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Wed, 29 Apr 2020 22:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/how-to-choose-our-react-training-combination-that-suits-you-best-1mk</link>
      <guid>https://forem.com/reactgraphqlacademy/how-to-choose-our-react-training-combination-that-suits-you-best-1mk</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What’s the experience required?, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#whats_the_experience_required"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Upskill fast and in a short time: immersive training, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#upskill_fast_and_in_a_short_time_immersive_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;React training Bootcamp - immersive, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#react_training_bootcamp_immersive"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;React Fundamentals - immersive, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#react_fundamentals_immersive"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;React Advanced - immersive, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#react_advanced_immersive"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Stress-Free Upskill: Part-time Training, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#stress_free_upskill_part_time_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Complete Part-time Bundle, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#complete_part_time_bundle"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Fundamentals Part-time, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#fundamentals_part_time"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Advanced Part-time, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#advanced_part_time"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Remote Training, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#remote_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Remote React Trial, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#remote_react_trial"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Corporate Team Training, &lt;a href="https://www.reactgraphql.academy/react/how-to-choose-our-react-training-combination-that-suits-you-best#corporate_team_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We’ve been training developers to use React since early 2016, and in that time we’ve become huge champions of in-person and remote code training. We provide a great range of React training combinations.&lt;/p&gt;

&lt;p&gt;Read more about our dev training sessions and how you can combine them based on your needs and experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s the experience required?
&lt;/h2&gt;

&lt;p&gt;The personal experience of each of you using JavaScript or React is different. To understand better which training you can attend, we’ve created 8 profiles of developers with different experience, which you can use as examples.&lt;/p&gt;

&lt;p&gt;Identify yourself with one or more of these profiles, and look for your names in every training listed below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anna&lt;/strong&gt; : 2 weeks of React experience, and just graduated from a 3-month learn-to-code bootcamp, but has no professional programming experience yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;John&lt;/strong&gt; : 2 weeks of React and 6 months of professional experience using JavaScript. He has 6 months of professional experience as a developer in total.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Peter&lt;/strong&gt; : 2 weeks of React and 2 years of professional experience using JavaScript as a primary language. He has 2 years of total professional experience as a developer, same as JavaScript experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Olivia&lt;/strong&gt; : 2 weeks of React and 6 years of professional experience as a developer using JavaScript sporadically. She uses another language on a day-to-day level - for instance, .Net, - but she also uses JavaScript from time to time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Daniela&lt;/strong&gt; : 1 year of React and 1 year of professional experience in her career as a developer. In this time JavaScript has been her primary language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Julian&lt;/strong&gt; : 3 months with React and 3 years of total professional experience (using JS as primary language).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Richard&lt;/strong&gt; : 6 months of React and 4 years of professional experience using JavaScript as a primary language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt; : 1.5 years of React and 4 years of experience using JavaScript as a primary language.&lt;/p&gt;

&lt;p&gt;Which one are you? Now you can read the details of each training below, and find your name under the training you can attend.&lt;/p&gt;

&lt;h2&gt;
  
  
  Upskill fast and in a short time: immersive training
&lt;/h2&gt;

&lt;p&gt;The first category of training we’ll be talking about is the immersive, full-day training. It consists of two types of curriculum, Fundamentals and Advanced, that combined will result in the Bootcamp, which is a complete React Redux training. But let’s see more specifically the differences and the schedule of these training offerings.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/react/training/bootcamp/"&gt;React training Bootcamp - immersive&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Who can attend? &lt;strong&gt;Peter&lt;/strong&gt; (can do but it won’t be easy), &lt;strong&gt;Olivia&lt;/strong&gt; (can do but it won’t be easy), &lt;strong&gt;Daniela&lt;/strong&gt; (can do but it won’t be easy), &lt;strong&gt;Julian&lt;/strong&gt; , &lt;strong&gt;Richard&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It’s a complete React JS Redux training and consists of the combination of the Fundamentals React JS training and the Advanced React JS training.&lt;/p&gt;

&lt;p&gt;It’s a fast-paced learning program that allows you to learn React JS fast, in only one week of full-time training.&lt;/p&gt;

&lt;p&gt;The whole curriculum is divided into 6 full-time days in which you’ll learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ES6 &amp;amp; ESNEXT&lt;/li&gt;
&lt;li&gt;Routing and Forms&lt;/li&gt;
&lt;li&gt;Redux&lt;/li&gt;
&lt;li&gt;Basic Hooks&lt;/li&gt;
&lt;li&gt;Advanced Hooks&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;li&gt;React Patterns and Performance&lt;/li&gt;
&lt;li&gt;Design Systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In order to help you understand if this is the best React Js course for you, we’ve set a &lt;a href="https://www.reactgraphql.academy/react/training/react-trial/remote/"&gt;Remote Training Trial&lt;/a&gt; session that takes place on Zoom once a month. After trying, you have all the time you need to purchase the complete React Redux training.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/react/training/fundamentals/"&gt;React Fundamentals - immersive&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Who can attend? &lt;strong&gt;John&lt;/strong&gt; (can do but it won’t be easy), &lt;strong&gt;Peter&lt;/strong&gt; , &lt;strong&gt;Olivia&lt;/strong&gt; , &lt;strong&gt;Daniela&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you don’t want to attend the full React training bootcamp at once, you can attend only the React Fundamentals training, and decide to attend the Advanced React training later on.&lt;/p&gt;

&lt;p&gt;This training is part of the Bootcamp and will take place exactly in the same dates - last three days - and locations of the Bootcamp, together with the developers that decided to purchase the complete React training.&lt;/p&gt;

&lt;p&gt;The training consists of 3 full-time days, from 9 am to 6 pm local time - see locations available on the training page - where you’ll learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ES6 &amp;amp; ESNEXT&lt;/li&gt;
&lt;li&gt;Routing and Forms&lt;/li&gt;
&lt;li&gt;Redux&lt;/li&gt;
&lt;li&gt;Basic Hooks&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/react/training/advanced/"&gt;React Advanced - immersive&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Who can attend? &lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you already have more experience with React JS, you can attend the Advanced React training and learn the advanced React concepts.&lt;/p&gt;

&lt;p&gt;Like the Fundamentals, this training is also part of the Bootcamp and will take place exactly in the same dates - last 3 days - and locations of the Bootcamp, together with the developers that decided to purchase the complete React training.&lt;/p&gt;

&lt;p&gt;The training consists of 3 full-time days, from 9 am to 6 pm local time, where you’ll learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Advanced Hooks&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;li&gt;React Patterns and Performance&lt;/li&gt;
&lt;li&gt;Design Systems&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Stress-Free Upskill: Part-time Training
&lt;/h2&gt;

&lt;p&gt;First of all, it’s important to mention that there is no difference between the curriculum of the Part-time training and the Bootcamp. What changes is the intensity and pace of learning.&lt;/p&gt;

&lt;p&gt;The React part-time training was designed to help you upskill while keeping working on your projects. They generally consist in evening sessions, although there might be some variations now and then. This means you’d have time to review the material in-between sessions and also keep up with work and projects.&lt;/p&gt;

&lt;p&gt;Let’s have a look at the program in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/react/training/part-time-bundle/"&gt;Complete Part-time Bundle&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Who can attend? &lt;strong&gt;Peter&lt;/strong&gt; , &lt;strong&gt;Olivia&lt;/strong&gt; , &lt;strong&gt;Daniela&lt;/strong&gt; , &lt;strong&gt;Julian&lt;/strong&gt; , &lt;strong&gt;Richard&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As for the bootcamp, also this training is formed by the Fundamentals and the Advanced curriculum, that can also be purchased separately.&lt;/p&gt;

&lt;p&gt;The complete training is generally structured as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fundamentals: 3 sessions per week of 3 hours each session for a total of 8 days&lt;/li&gt;
&lt;li&gt;Advanced: 3 sessions per week of 3 hours per session if it's in-person training, and 3 full-day Fridays if it's Remote training. We’ll get into the remote details below.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/react/training/fundamentals-part-time"&gt;Fundamentals Part-time&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Who can attend? &lt;strong&gt;Anna&lt;/strong&gt; (can do but it won’t be easy), &lt;strong&gt;John&lt;/strong&gt; , &lt;strong&gt;Peter&lt;/strong&gt; , &lt;strong&gt;Olivia&lt;/strong&gt; , &lt;strong&gt;Daniela&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As part of the Part-time Bundle described above, this training consists typically of 2 or 3 sessions per week of 3 hours per session for a total of 8 days over a few weeks.&lt;/p&gt;

&lt;p&gt;If it’s in-person, it takes place in the evenings from 6 pm to 9 pm local time, or on Saturdays, to allow developers to finish the workday.&lt;/p&gt;

&lt;p&gt;Remotely, the schedule will have some variations from training to training, but you’ll find all the details on the dedicated training page.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/react/training/advanced-part-time/"&gt;Advanced Part-time&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Who can attend? &lt;strong&gt;Richard&lt;/strong&gt; (can do but it won’t be easy), &lt;strong&gt;Laura&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This is the second part of the Part-time Bundle. As for the immersive Advanced training, you’ll be learning the same React advanced concepts, only with a different schedule:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When in-person, the training tends to follow the Fundamentals schedule.&lt;/li&gt;
&lt;li&gt;When Remote, the training typically takes place during 3 intensive Fridays, which still means you have the time to check the materials in-between sessions and work the rest of the days.
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Remote Training
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=op01sONcg6c&amp;amp;start=1"&gt;Related video .&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All the above-mentioned training combinations are also available in a remote solution: the sessions and curriculum won’t change, but the modality will be a live training on Zoom. This tool will allow you to interact with the coach during the live sessions and work on pair programming with other developers.&lt;/p&gt;

&lt;p&gt;Just head on the training page you’re interested in and find the upcoming sessions labelled with Remote.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jvU6RvB_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.reactgraphql.academy/static/0cb964ef27e590baee7b81a344e6e6b6fb15eb88-1806x944-133086aa4533055de5d408a9b27010d9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jvU6RvB_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.reactgraphql.academy/static/0cb964ef27e590baee7b81a344e6e6b6fb15eb88-1806x944-133086aa4533055de5d408a9b27010d9.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can read more about the difference between our &lt;a href="https://www.reactgraphql.academy/blog/how-to-choose-an-online-course/"&gt;remote training and other online courses here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/react/training/react-trial/remote/"&gt;Remote React Trial&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Besides helping you understand which level of training might be best for you to start with, we believe it’s also important to try the training experience directly.&lt;/p&gt;

&lt;p&gt;This is why we decided to set a Remote React Training Trial every month, to allow you to try and see if you’re in the right place.&lt;/p&gt;

&lt;p&gt;The remote trial consists in the first session of any Part-time or Bootcamp React training, which is also the first session of the Fundamentals curriculum.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/corporate-team-training/"&gt;Corporate Team Training&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We offer tailored React private training for teams. If you and your colleagues need to learn React, just ask your manager to &lt;a href="//mailto:hello@reactgraphql.academy%20"&gt;get in touch&lt;/a&gt; and find out all the possibilities we can offer for in-person or remote corporate training.&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>devops</category>
      <category>education</category>
    </item>
    <item>
      <title>How to choose an online course</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Tue, 24 Mar 2020 23:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/how-to-choose-an-online-course-59df</link>
      <guid>https://forem.com/reactgraphqlacademy/how-to-choose-an-online-course-59df</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are Free Learning Tutorials?, &lt;a href="https://www.reactgraphql.academy/blog/how-to-choose-an-online-course#what_are_free_learning_tutorials"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;What are MOOCs?, &lt;a href="https://www.reactgraphql.academy/blog/how-to-choose-an-online-course#what_are_moocs"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;What Is Remote Training?, &lt;a href="https://www.reactgraphql.academy/blog/how-to-choose-an-online-course#what_is_remote_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Make an informed decision, &lt;a href="https://www.reactgraphql.academy/blog/how-to-choose-an-online-course#make_an_informed_decision"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Sign Up for Remote Training Today, &lt;a href="https://www.reactgraphql.academy/blog/how-to-choose-an-online-course#sign_up_for_remote_training_today"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Following the success of our Remote Training programme early this year, we wanted to clarify the difference between our training, free online tutorials and MOOCs.&lt;/p&gt;

&lt;p&gt;To make sure you get the most out of any online course, we think it’s important to understand what are the options and where the value lies in each. This will help you make an informed decision about which one works best for you. So today we’ll be looking at the difference between remote training, free learning tutorials and MOOCs. First up, let’s look at free learning tutorials.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Free Learning Tutorials?
&lt;/h2&gt;

&lt;p&gt;Free learning tutorials are a form of online training that anyone can access at any time. They usually consist of blog posts describing how to do something, and can even be accompanied by videos that can take you on a generic tour of your subject, or explain a specific feature of a topic.&lt;/p&gt;

&lt;p&gt;These tutorials can act as a nice introduction to a subject like GraphQL and can get you up to speed on a topic by providing the basic knowledge you’ll need in a new area.&lt;/p&gt;

&lt;p&gt;Furthermore, because these tutorials are readily available you can use them as a refresher for topics you haven’t touched on for a while.&lt;/p&gt;

&lt;p&gt;Free Learning Tutorials often lack of structured content. You might find some introductions to different subjects or an explanation of a specific topic, but you'll rarely find a series of tutorials following an order that allows learning a subject from the beginning to the end.&lt;/p&gt;

&lt;p&gt;If you want to learn an advanced subject, you need to know certain things before. For example, in order to learn design systems in React you need to know what is component-based CSS, and it’s easier to understand what that is if you know what components are. Therefore it makes sense to learn &lt;a href="https://www.reactgraphql.academy/react/curriculum?tab=React%20Fundamentals%20Part-time&amp;amp;section=session1"&gt;React basics&lt;/a&gt; first, then &lt;a href="https://www.reactgraphql.academy/react/curriculum/?tab=Advanced%20React%20Part-time&amp;amp;section=session6"&gt;CSS-in-JS&lt;/a&gt;, and finally &lt;a href="https://www.reactgraphql.academy/react/curriculum?tab=Advanced%20React%20Part-time&amp;amp;section=session7"&gt;design systems&lt;/a&gt;, following all the steps in-between.&lt;/p&gt;

&lt;p&gt;Another pain point of free online tutorials is that students can’t engage with the material or their tutors. There aren’t tasks to complete to find out how well you’ve learned something, and while some blogs do let you post comments and ask questions, this isn’t always the case.&lt;/p&gt;

&lt;p&gt;Free online tutorials also don’t offer feedback. Feedback is about answering the questions that learners don’t know they should ask because they aren’t aware of them.&lt;/p&gt;

&lt;p&gt;In conclusion, free learning resources are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Good as an introduction to a new topic&lt;/li&gt;
&lt;li&gt;Readily available&lt;/li&gt;
&lt;li&gt;Free to access&lt;/li&gt;
&lt;li&gt;Perfect for refreshing knowledge&lt;/li&gt;
&lt;li&gt;Good for exploring a specific topic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On the other hand, they provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Little structured content&lt;/li&gt;
&lt;li&gt;Little to no feedback or collaboration&lt;/li&gt;
&lt;li&gt;Few credentials to earn&lt;/li&gt;
&lt;li&gt;No networking opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are MOOCs?
&lt;/h2&gt;

&lt;p&gt;A MOOC (Massive Open Online Course) is an online-only course that prides itself on its very wide reach and accessibility. Thousands of people can enjoy these lessons, learning the basic skills they need to code in a new language.&lt;/p&gt;

&lt;p&gt;Unlike free online tutorials, MOOCs contain more engagement between students and tutors. For instance, some MOOCs offer group chats and even Q&amp;amp;A functionality.&lt;/p&gt;

&lt;p&gt;Not only do MOOCs offer interactive elements, but they also offer structured content. The course allows students to learn a new topic in a logical way, where each new module or lesson builds upon the knowledge learned in the previous modules.&lt;/p&gt;

&lt;p&gt;Some courses offer certificates for completion, with end-of-course assessments to ensure that you’ve learned the topic and new skill. This is a great opportunity to show management that you’ve completed a training course.&lt;/p&gt;

&lt;p&gt;MOOCs are also a great way to provide the foundations for further knowledge development, such as through remote training.&lt;/p&gt;

&lt;p&gt;But there are some limitations to MOOCs. Firstly, they offer limited feedback because MOOCs tutors are unable to identify knowledge areas in which students are lacking. Similarly, there is little collaboration, with students unable to explain to their peers what they think they have learned.&lt;/p&gt;

&lt;p&gt;Finally, you have no accountability when you learn in a MOOC or free online tutorial. If you don’t do the work, no one will hold you accountable and your learning will stagnate as a result.&lt;/p&gt;

&lt;p&gt;In conclusion, MOOCs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Offer a solid introduction to a topic&lt;/li&gt;
&lt;li&gt;Present structured content&lt;/li&gt;
&lt;li&gt;Offer some credentials to earn&lt;/li&gt;
&lt;li&gt;Offer interactive elements, like Q&amp;amp;As and Group Chat&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, they do have a few limitations, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Limited feedback&lt;/li&gt;
&lt;li&gt;Limited collaboration&lt;/li&gt;
&lt;li&gt;No accountability&lt;/li&gt;
&lt;li&gt;Few networking opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Is Remote Training?
&lt;/h2&gt;

&lt;p&gt;We can easily think of Remote Training like a normal in-person lecture, only done online using video-call tools.&lt;/p&gt;

&lt;p&gt;Remote training is different from online tutorials and MOOCs, which are aimed at thousands of students. Instead, this training is live and often involves a limited number of students. The limited number means tutors can interact with students in real-time, so they can focus on areas where the latest cohort of students struggle most. Likewise, students can get the feedback they need to thrive.&lt;/p&gt;

&lt;p&gt;It is also an environment in which you feel compelled to learn and progress. Working with others and having a closer relationship with your tutor means that you have the peer pressure students need to put the time in and do the work. The added benefit is that when your peers see your hard work pay off, they’ll remember - at a later point, those new connections you made could land you a dream job.&lt;/p&gt;

&lt;p&gt;While in an online course the students must have the willpower to do the exercise, in remote training the group exercises make learning fun and naturally pull the student into active participation.&lt;/p&gt;

&lt;p&gt;Remote training also offers practice tests that ensure you’ve learned the new skill adequately. On completion of these tests, students earn a credential to certify their new skill.&lt;/p&gt;

&lt;p&gt;Free online tutorials and MOOCs provide a fantastic starting point for developers learning a new topic, but with remote training, they can cement and advance their new skills.&lt;/p&gt;

&lt;p&gt;In conclusion, what can you get from Remote Training?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gain the feedback you need to grow and learn&lt;/li&gt;
&lt;li&gt;Work in a collaborative environment to develop skills&lt;/li&gt;
&lt;li&gt;Earn credentials with practical tests&lt;/li&gt;
&lt;li&gt;Benefit from a structured course designed to strengthen learning&lt;/li&gt;
&lt;li&gt;Learn all the latest features with up-to-date content&lt;/li&gt;
&lt;li&gt;Engaging and fun training with group exercises&lt;/li&gt;
&lt;li&gt;Network with peers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On the other side, Remote Training is also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More expensive&lt;/li&gt;
&lt;li&gt;Requires commitment, as you need to adapt to a certain schedule and show up at a given time&lt;/li&gt;
&lt;li&gt;Not as flexible in terms of timing, you must wait for the next cohort to start.
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Make an informed decision
&lt;/h2&gt;

&lt;p&gt;What’s your goal? Are you looking for a specific tutorial because you forgot part of a procedure, or you need to integrate your knowledge? Or are you looking for online lectures that are easily accessible and available anytime?&lt;/p&gt;

&lt;p&gt;If you’re looking for an active learning-by-doing training instead, Remote Training is what we suggest. They’re live and interactive courses accessible from your home or office. You won’t need to move or travel and you’ll still get all the advantages of in-person training.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sign Up for Remote Training Today
&lt;/h2&gt;

&lt;p&gt;At React GraphQL Academy, we provide professional and experienced React and GraphQL remote training for advanced developers looking to expand their skill set in a new area. If you’re looking to further your knowledge beyond that of free online tutorials and MOOCs, our remote training is for you.&lt;/p&gt;

&lt;p&gt;To find out more about the training, head to our dedicated &lt;a href="https://reactgraphql.academy/graphql/training/part-time-course/online/"&gt;GraphQL Remote Training page&lt;/a&gt; or &lt;a href="https://reactgraphql.academy/react/training/part-time/remote/"&gt;React Remote Training page&lt;/a&gt; and find out more about the curriculum. Alternatively, you can get in touch with our expert team to discuss the training in further detail, find out about pricing, and what you’ll get out of the part-time dev training.&lt;/p&gt;

&lt;p&gt;But to get a real idea of what our training looks like, join us for our a trial session before the training kicks off. We are running a 3-hour trial of the React training frequently, check this page to see when is the next one: &lt;a href="https://reactgraphql.academy/react/training/react-trial/"&gt;https://reactgraphql.academy/react/training/react-trial/&lt;/a&gt;. Join us, and if you like what you learn you can secure your spot for the full training later.&lt;/p&gt;

</description>
      <category>remotelearning</category>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How aligned is GraphQL to your business needs?</title>
      <dc:creator>React GraphQL Academy</dc:creator>
      <pubDate>Sun, 16 Feb 2020 23:00:00 +0000</pubDate>
      <link>https://forem.com/reactgraphqlacademy/how-aligned-is-graphql-to-your-business-needs-1a1p</link>
      <guid>https://forem.com/reactgraphqlacademy/how-aligned-is-graphql-to-your-business-needs-1a1p</guid>
      <description>&lt;p&gt;Table of contents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why this GraphQL online training is a great investment, &lt;a href="https://www.reactgraphql.academy/graphql/how-aligned-is-graphql-to-your-business-needs#why_this_graphql_online_training_is_a_great_investment"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;About the training, &lt;a href="https://www.reactgraphql.academy/graphql/how-aligned-is-graphql-to-your-business-needs#about_the_training"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Why training developers on GraphQL?, &lt;a href="https://www.reactgraphql.academy/graphql/how-aligned-is-graphql-to-your-business-needs#why_training_developers_on_graphql"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Same Driving Principles, In-Person &amp;amp; Online, &lt;a href="https://www.reactgraphql.academy/graphql/how-aligned-is-graphql-to-your-business-needs#same_driving_principles_in_person_online"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Meet Your GraphQL Online Training Coaches, &lt;a href="https://www.reactgraphql.academy/graphql/how-aligned-is-graphql-to-your-business-needs#meet_your_graphql_online_training_coaches"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Master GraphQL with Our Online Training Today, &lt;a href="https://www.reactgraphql.academy/graphql/how-aligned-is-graphql-to-your-business-needs#master_graphql_with_our_online_training_today"&gt;go to canonical section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GraphQL can help product engineering teams build products much faster. Companies like Facebook or Airbnb use it not only to optimize data fetching in their applications but also to optimize how product engineering teams work. In other words, giant tech companies use GraphQL to deliver better software, faster. This is nothing new, new technology gives a competitive advantage to those who successfully implement it first.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Airbnb is Moving 10x Faster at Scale with GraphQL” - Adam Neary Software Engineer at Airbnb&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=JsvElHDuqoA"&gt;Related video .&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If Airbnb is moving 10x faster with GraphQL, why can't your company do it too? Telling the stakeholders of a company to invest in new technology meets three main challenges:&lt;/p&gt;

&lt;p&gt;1) It takes courage&lt;/p&gt;

&lt;p&gt;2) Implementing it takes time and good planning&lt;/p&gt;

&lt;p&gt;3) It’s risky since the ROI can be unpredictable&lt;/p&gt;

&lt;p&gt;Why would you take the risk? That’s where our accelerated expert training can help.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this GraphQL online training is a great investment
&lt;/h2&gt;

&lt;p&gt;There’s something we can do to minimize these challenges.&lt;/p&gt;

&lt;p&gt;The first step we can take is to learn from the best. Effectively skilling up some developers on GraphQL will help your company make an informed decision about when and how much to invest in GraphQL.&lt;/p&gt;

&lt;p&gt;The second step would be planning in advance how and when to upgrade our tech stack. Planning and exploring new tech helps you stay ahead without transferring stress on your company and teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/graphql/curriculum/?tab=GraphQL%20Part-time"&gt;About the training&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;With our GraphQL online training, you can take your dev career to the next level. Across 6 sessions, our coaches will show you how to master GraphQL.&lt;/p&gt;

&lt;p&gt;Our industry-expert coaches are available to &lt;strong&gt;answer real-world complex questions&lt;/strong&gt;. On top of the 3-hour sessions with a &lt;strong&gt;live tutor expert on GraphQL&lt;/strong&gt; , every trainee will have a 15-minute &lt;strong&gt;1-on-1 call with each expert&lt;/strong&gt; to get the help and ask the questions they need. Those can be either related to the sessions material or to problems trainees are facing in their own real-world projects.&lt;/p&gt;

&lt;p&gt;An industry expert giving tailored advice on practical problems can save a lot of money later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why training developers on GraphQL?
&lt;/h2&gt;

&lt;p&gt;Hiring experts is expensive and takes time, in terms of interviews, availability, experience and costs. That’s especially problematic if you are not sure about how much to invest in GraphQL.&lt;/p&gt;

&lt;p&gt;On the other side, keeping your employees and providing training for them will result in lower risk, lower investment, and lower commitment from the company’s side.&lt;/p&gt;

&lt;p&gt;Thanks to the small group size in the e-classroom and the continuous assessment from the live tutors, the trainees will be able to hold mastery at the end of the training.&lt;/p&gt;

&lt;p&gt;The curriculum introduces the most relevant and up to date GraphQL topics. This means that your employees won’t only upskill, but they’ll also learn some new exciting technology which can be helpful if you’re looking to &lt;a href="https://www.reactgraphql.academy/blog/are-employee-retention-and-employee-training-related/"&gt;improve your employees retention&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Same Driving Principles, In-Person &amp;amp; Online
&lt;/h2&gt;

&lt;p&gt;With our GraphQL online training course, we aim to bring the same principles that fuel our in-person training courses. Our mission is to inspire and support professional developers to grow in their career, while leading the way for a mentorship conscious tech industry. We’re thrilled to bring this same driving principle to our online courses.&lt;/p&gt;

&lt;p&gt;As expressed in our &lt;a href="https://www.reactgraphql.academy/blog/react-graphql-academy-teaching-method/"&gt;teaching method&lt;/a&gt;, you won’t be learning passively: we believe in an active learning process that will also trigger and enhance your soft skills. During the exercises you’ll be able to train your skills and problem solving, as well as improving communications and teamwork during the pair programming sessions.&lt;/p&gt;

&lt;p&gt;You can also expect to benefit from the same React GraphQL Academy values, including our passion, empathy, and cutting-edge determination to understand the latest in GraphQL and share that knowledge with our students.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet Your GraphQL Online Training Coaches
&lt;/h2&gt;

&lt;p&gt;Over the course of three weeks, you’ll be taught by a selection of our expert GraphQL coaches. Here’s a little more about each of them and what they have to say about coaching, their top tips or their most inspirational quotes.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/team/alex-lobera/"&gt;Alex Lobera&lt;/a&gt; - Tech Lead &amp;amp; Founder at LeanJS
&lt;/h4&gt;

&lt;p&gt;Alex has 3 years of commercial experience with GraphQL, and he regularly runs GraphQL workshops at conferences such as JSNation or CityJS London.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Teaching is very rewarding. I love sharing what I've learned in my career to help others grow. I think this is what really makes our industry move forward.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/team/nik-graf/"&gt;Nik Graf&lt;/a&gt; - Software Engineer &amp;amp; Independent Consultant
&lt;/h4&gt;

&lt;p&gt;Nik holds different talks and online workshops about the topic he masters: &lt;a href="https://egghead.io/courses/designing-graphql-schemas-99db"&gt;Designing GraphQL Schemas&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=fBkmlFfwRu0"&gt;Related video .&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To me, teaching is one of the best ways to deeply immerse yourself in a topic.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/team/eve-porcello/"&gt;Eve Porcello&lt;/a&gt; - Owner at Moon Highway
&lt;/h4&gt;

&lt;p&gt;Eve ran the GraphQL Bootcamp at GraphQL Summit 2019 and she was recommended to by Apollo - the company organizing the GraphQL Summit. She is teaching on this course the &lt;a href="https://summit.graphql.com/2019/#bootcamp"&gt;same topics she taught at the conference&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Eve is also a published author, &lt;a href="https://www.amazon.co.uk/Learning-GraphQL-Declarative-Fetching-Modern/dp/1492030716"&gt;she wrote a book about GraphQL&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you don’t do it this year, you’ll be another year older when you do! - Warren Miller&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reactgraphql.academy/team/vladimir-novick/"&gt;Vladimir Novick&lt;/a&gt; - Software Architect &amp;amp; Consultant
&lt;/h3&gt;

&lt;p&gt;Vladimir was a developer advocate at Hasura, he held many talks and wrote many articles about the subject he is teaching in this training.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Don’t overcomplicate things!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Master GraphQL with Our Online Training Today
&lt;/h2&gt;

&lt;p&gt;If you’re ready to take your dev career further, then our GraphQL online training is ready for you.&lt;/p&gt;

&lt;p&gt;To find out more about the course, head to our dedicated &lt;a href="https://www.reactgraphql.academy/graphql/training/part-time-course/online/"&gt;GraphQL Online Training page&lt;/a&gt; now. Alternatively, you can get in touch with our expert team to discuss the course in further detail, find out about pricing, and what you’ll get out of the part-time dev training course.&lt;/p&gt;

&lt;p&gt;But to get a real idea of what our course looks like, join us for our online trial day before the course kicks off. We’ll be running &lt;a href="https://www.reactgraphql.academy/graphql/training/workshops/graphql-part-time-trial/online/"&gt;a free trial of the GraphQL Online Training&lt;/a&gt;, airing the first online session 3 weeks before the course is due to begin. Join us, and if you like what you learn you can secure your spot for the full course later.&lt;/p&gt;

&lt;p&gt;This is a new chapter for React GraphQL Academy -- be a part of the first online training in March 2020 by &lt;a href="https://www.reactgraphql.academy/graphql/training/part-time-course/online/"&gt;signing up today&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>graphql</category>
      <category>react</category>
      <category>javascript</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
