{"componentChunkName":"component---src-templates-post-query-tsx","path":"/people/jay-kannaiyan/","result":{"pageContext":{"post":{"slug":"/people/jay-kannaiyan/","title":"Jay Kannaiyan","date":"Nov 10, 2014","timeToRead":1,"description":"","body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Jay Kannaiyan\",\n  \"date\": \"2014-11-10\",\n  \"template\": \"post\",\n  \"slug\": \"jay-kannaiyan\",\n  \"postedLink\": \"https://riceinstitute.org/people/jay-kannaiyan/\",\n  \"description\": \"\",\n  \"tags\": \"People\",\n  \"banner\": \"\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"b\", null, \" Technology consultant \"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"960px\"\n    }\n  }, \"\\n      \", mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"66.5%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAwX/xAAUAQEAAAAAAAAAAAAAAAAAAAAC/9oADAMBAAIQAxAAAAFZ6uQjuKI//8QAGhAAAgIDAAAAAAAAAAAAAAAAAAECAxESE//aAAgBAQABBQLkaZHWdnq5yyr5o//EABgRAAIDAAAAAAAAAAAAAAAAAAASAREx/9oACAEDAQE/AUrRZP/EABkRAAEFAAAAAAAAAAAAAAAAAAABERITMf/aAAgBAgEBPwG18JIf/8QAGxAAAQQDAAAAAAAAAAAAAAAAAAEQERIhMVH/2gAIAQEABj8CfSFpydP/xAAZEAEAAgMAAAAAAAAAAAAAAAABABEhMXH/2gAIAQEAAT8h4iNIt6labKJgKFmGU10T/9oADAMBAAIAAwAAABBLD//EABgRAAIDAAAAAAAAAAAAAAAAAAABEWGB/9oACAEDAQE/EFE1gtP/xAAYEQACAwAAAAAAAAAAAAAAAAAAASFhgf/aAAgBAgEBPxCVPRWf/8QAGhABAQEBAQEBAAAAAAAAAAAAAREAIWExsf/aAAgBAQABPxB4xedsWfuE8vaEemsJpofl6h5qE9rO/9k=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"jay profile\",\n    \"title\": \"jay profile\",\n    \"src\": \"/static/d01bdca33eac637f8d83215d3f17a808/1fe05/jay-profile.jpg\",\n    \"srcSet\": [\"/static/d01bdca33eac637f8d83215d3f17a808/37402/jay-profile.jpg 200w\", \"/static/d01bdca33eac637f8d83215d3f17a808/91d27/jay-profile.jpg 520w\", \"/static/d01bdca33eac637f8d83215d3f17a808/1fe05/jay-profile.jpg 960w\", \"/static/d01bdca33eac637f8d83215d3f17a808/6c738/jay-profile.jpg 1200w\"],\n    \"sizes\": \"(max-width: 960px) 100vw, 960px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  }), \"\\n    \")), mdx(\"p\", null, \"Jay is an adventurer turned software engineer with a passion for product management and devops. He writes elegant and maintainable code aimed at delivering efficient and high performant systems by connecting React and Redux on the frontend to PostgreSQL, MongoDB, and MySQL databases through Node.js and Express backends with RESTful, GraphQL, and WebSocket architecture, deployed via Docker containers using Jenkins, Terraform, and Kubernetes on AWS, GCP, IBM Cloud, and Azure.\"), mdx(\"p\", null, \"He loves exploring the world and building products and services to improve people\\u2019s lives. His desire to create things started early in life, and has translated into creating products and services for the web since 2010. Along the way he's been a product design engineer, motorcycle adventurer across 37 countries, entrepreneur in the air quality space, technical product manager and now a senior software engineer at IBM. He has also recently published his first book, Riding Towards Me (get it at \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"http://bit.ly/rtmazjg\",\n    \"target\": \"_blank\",\n    \"rel\": \"noopener noreferrer\"\n  }, \"http://bit.ly/rtmazjg\"), \"). Learn more at \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://JayKannaiyan.com\",\n    \"target\": \"_blank\",\n    \"rel\": \"noopener noreferrer\"\n  }, \"https://JayKannaiyan.com\"), \" and \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/jayknyn\",\n    \"target\": \"_blank\",\n    \"rel\": \"noopener noreferrer\"\n  }, \"https://github.com/jayknyn\")));\n}\n;\nMDXContent.isMDXComponent = true;","tags":[{"name":"People","slug":"people"}],"banner":null}}},"staticQueryHashes":["318001574","3787687951","3787687951"]}