Hi everyone, I wanted to share two of my concerns about ICON from a technical standpoint going into 2021. These two concerns are based on my personal experience working in various technology companies, as well as feedback from developers who I introduced to ICON – but have since moved on to other more developer-friendly projects.
#1 – Technical Representation on the ICON Team
This one is mostly my personal opinion, though others in the community have discussed this with me as well. ICON desperately needs a public-facing technical contact that can discuss technical concepts at both a high level and low level. In many other projects (e.g. Tezos, Cardano, Chainlink, Cosmos, Compound, etc.), the founders have a technical background, which means they are able to discuss technical concepts in depth without relying on analogies or simplification.
Going in 2021, with the transition to ICON 2.0, I think having technical representation on the official ICON team is very important. Right now, we have Min, Ricky, and Scott as the public facing members of the ICON team who communicate with the public on a consistent basis. If there are others, I am unaware. Min and Ricky are especially adept at the business side of things, and this is very apparent and one of the reasons for ICON’s success in SK. Scott, on the other hand, is very good with the token economics, game theory, etc. side of things. What is missing, however, is someone in a “developer relations” role who can talk at length about the technology.
My question is whether ICON has any plans to hire someone in a “developer relations” role. I genuinely don’t think this responsibility can be relegated to a community member for so many reasons. To name a few, the community does not have full access to source code, no access to internal ICON vision, no access to ICON developers, etc. My recommendation is for ICON to spend the $120,000-$150,000/year on a technical lead or developer relations role with the responsibilities below.
- Build sample projects on ICON to reduce friction for new devs. Something like Cloudflare’s Workers sample projects would be incredible.
- Get super familiar with how ICON works, and act as the main point of contact for developers. The ICON Dev Telegram Channel is a nice casual environment for talking about development, but often it’s filled with various community devs trying to piece things together. This SHOULD NOT be what’s happening for a project pitching itself as an enterprise solution. “Enterprise” should mean something real. In this case, having someone who is knowledgeable and can work with everyone from businesses to community members building on ICON would be a huge improvement.
- Write tutorials and record videos on how to develop on ICON. This content can sort of abstract away “building on ICON”. Instead, maybe he/she can do a series on “blockchain development on Python” or “blockchain development with JavaScript”, and use ICON as the underlying blockchain in the video. This kind of strategy can attract developers who are not familiar with blockchain, but are skilled in one of ICON’s SDK languages.
#2 – Access to a Stable Testnet
In development, it’s normal to have a few different environments.
- Local
- Development
- Staging
- Production
Right now, we have “Local”, “Development”, and “Production”. I recently learned that ICON uses the Yeouido testnet to test new node software that is different from main net. The problem is Yeouido is also what community developers use to test their smart contracts and projects.
My recommendation is the following.
Create a testnet that reflects mainnet as much as possible. Whether this is Yeouido or something else, it doesn’t matter. The most important part is that it needs to reflect mainnet software at all times, and it has to be stable. In blockchain, there are two kinds of testnets. One for testing core software, one for testing smart contracts and the things.
These two should not be the same!
Right now, these two are the same on ICON and the result is we see downtime almost every week. This was a huge frustration to the developers I introduced to ICON, and they ended up moving to build on other projects. Again, we can’t keep on referring to ICON as an enterprise-level solution if there isn’t even a stable infrastructure stack in place with purpose-built testnets (one for testing core software, one for testing smart contract deployments).
Can ICON commit to building out a testnet for each purpose, and provide an SLA for the smart contract testnet? I can’t imagine developers outside the ICON vacuum taking ICON seriously for building critical services otherwise.