Manhattan, New York, United States
The main technologies included Elixir/Phoenix, React, Rust, Python, Flutter, Docker, and Kubernetes. Wrote unit tests for React UI using TypeScript, Jest, and Enzyme to catch errors early, during build-time and not at run-time. Tested an Elixir backend using ExUnit in order to deliver quality code. TDD, test-driven development, reduces bugs seen in production by 40-80%, a great way to deliver high-quality code. Used express servers to create mock data for multiple micro-services that can be used to create high-quality UI MVPs. Utilized Mox, an Elixir library, that allows you to test external API calls at test definition time by creating mocks based on behaviors. Comprehend MCA paradigm and how it compares to the classical MVC paradigm when it comes to scalable web development. Understand how Elixirβs structs compare to hash maps or other similar data structures. Structs enable catching of errors at compile time compared to hash maps where errors are seen at run time. Optimized scalable react apps using `React.memo()` for functional components and `React.PureComponent` for class components where needed. Usage of Elixirβs sockets and Kafka message broker enabled concurrent communication between various services. Elixir and functional programming provide a means to meet high modern demands compared to OOP. React context API is great for managing state and actions in React applications. React hooks allow us to create react components without using `this` or any lifecycle methods. Instead, `useState` and `useEffect` functions of hooks can be used to manage state and include behaviors that were seen using the lifecycle methods of class components when needed. Understand the benefits of a βmobile-firstβ approach when doing mobile responsiveness. Understand what React Native and Flutter bring to the table when building cross-platform native applications. Flutter is a great tool when it comes to building out cross-platform native applications.