Solana Developer Journey
Your Journey to Becoming a Solana Developer: A Roadmap for Community Members.
Embarking on your Solana development journey can be both exciting and challenging. Whether you're coming from a Web2 background or already have blockchain experience, this roadmap will guide you through each stage of growth within our community. From your first spark of interest to becoming a senior developer contributing at the protocol level, each step is designed to build your skills and confidence. Let’s dive into what it means to be at each level and what you need to do to progress.
⚠️ Disclaimer: This is a guideline reflecting the thought of the author (KhacVy) & editor (Hieu). And, this post is not neccessary true for everyone. Please read with a grain of salt.
Academy Student: Interested in Trying Solana
At this stage, you're just beginning your exploration of Solana. You might be gathering foundational knowledge about blockchain technology and getting inspired by the possibilities of the ecosystem.
❓ Useful questions: What is Blockchain and Why do we need it? What is the difference of Blockchain aka Web3 and Web2?
What to Focus On:
Learn the Basics:
Study core Operating System and Network concept. This is a big old topic, but my favourite is Tanenbaum’s Modern Operating Systems.
Study core blockchain concepts (MIT 15.S12 Blockchain and Money, Fall 2018) and the unique features of Solana by reading introductory materials (Blockchain as I see, Superteam VN) and the Solana Documentation.
Engage with Introductory Resources:
Complete beginner-friendly tutorials available through platforms like Solana Academy.
Watch webinars, attend meetups, and participate in community channels such as Discord and Telegram. Join @solanainvietnam
Familiarize Yourself with Key Tools:
Get started with Rust, the primary language for Solana development, by taking online courses or tutorials. My recommendation is this book.
Spend sometimes with Rust at this level will save you a lot of time later with Solana. DO NOT think about Solana now, focus on RUST.
Another big part of Solana programming is client development, usually using Javascript SDK to make a network request to a Solana validor or RPC. You might want to take a look at this.
Open an X account (if you did not have it yet)
“Twitter Crypto” is real. Following the right people on Social media is super important, it can make your journey much more enjoyable. Once you logged-in, check out this list and follow those people.
Useful resources:
To Move to next level:
Focus on solidifying your understanding by exploring the available resources and experimenting with simple examples. Once you’re comfortable with the basics and have a curiosity to build, you're ready to begin hands-on development.
Genin: Fresher
At Genin, you’ve moved beyond theory and are starting to build small projects. This stage is about diving into practical development by deploying simple Solana programs on the devnet and experimenting with the Solana development tools. At this level, you are required to understand Solana Account Model, bacic understanding of Solana Virtual Machine (or SVM) and the network layer of Solana.
❓ Useful questions: What is a Solana transaction? What is ed25519 and what is its importance? Compare SVM and Linux, what is the similarity and difference? What is difference of Solana Account and a Computer File? What is a Block leader? What is a staked node ~ aka: how much $sol should be staked to be a “staked node”? What is main-net, dev-net, test-net?
What to Focus On:
Hands-On Development:
Your bestie now is Solana Playground (or solpg). You use solpg to explore and test your knowledge. Use it everyday and give acheron a follow. Try to finish at least these the helloworld and PDA tutorial on solpg.
Work through the Solana Developer Quickstart to set up your development environment.
Write, deploy, and interact with a basic Solana program on the devnet. Need some testnet $sol? Check this out.
Get started with Anchor:
Anchor simplify Solana development 10x. To be fair, without Anchor, I am not here today.
Community Engagement:
Useful resources:
To Move to next level:
Concentrate on building more complex projects and deepening your understanding of Solana’s ecosystem. Once you have successfully deployed simple applications and gained practical experience, you’re ready to take on more challenging projects.
Chunin: Junior
As a Junior developer, you now have a solid grasp of Solana development basics. At this stage, you're building more sophisticated projects that may involve multiple programs and integrating both on-chain and off-chain components. At this level, take Helius blog as your Bible.
❓ Useful questions: What is Solana CPI and what is a signed and unsigned CPI? How many type of fee are you paying for a Solana transaction? What is computing budge and why it matters? How many Solana Account (or files) that Metaplex program created for a NFT and what are their relations? How many Solana Account (or files) that Raydium program created for a liquidity pool and what are their relations? Draw an activity diagram of what happens when you publish a Solana Program (to dev-net)?
What to Focus On:
Develop Complex Applications:
Create projects that involve several interacting contracts or more robust architectural designs. Think about write-lock everytime you design a Solana program.
Work on real-world use cases that require thorough testing and performance optimization.
Enhance Your Technical Skills:
Learn best practices for security, debugging, and scaling. Read this.
Contribute to open-source projects or collaborate with peers on joint initiatives.
Deepen Community Involvement:
Share your projects in community forums.
Start mentoring peers. You re-learn in a deep level by teaching others.
Useful resources:
https://solana.com/developers/guides/getstarted/full-stack-solana-development
https://github.com/SolanaNatives/Solana-Programming-Resources?tab=readme-ov-file
To Move to next level:
Strive to develop production-ready decentralized applications with comprehensive testing, optimization, and security measures. Once you’re comfortable with building and refining these complex projects, you’re ready to step into a mid-level role where leadership and deep technical mastery become key.
Jonin: Mid-Level
At the mid-level, you are an experienced Solana developer with a strong portfolio of production-ready applications. You have a nuanced understanding of the ecosystem, refined troubleshooting skills, and may already be guiding others in the community.
❓ Useful questions: What are job opportunities in Solana ecosystem? What is working under the hood of all Solana Native Program? What is Jito bundle, Jito-restaking and how to master it? Explore Solana zkcompression
What to Focus On:
Build Production-Level dApps:
Develop robust, scalable, and secure applications that address real-world challenges.
Focus on performance tuning, advanced debugging, and ensuring overall system reliability.
Master Advanced Technical Skills:
Deepen your understanding of smart contract security, auditing, and advanced programming patterns.
Explore intricate topics such as cross-program invocations, parallel processing, and protocol optimizations.
Expand Community Leadership:
Lead by mentoring junior developers and conducting code reviews.
Share your expertise through blog posts, workshops, and community presentations.
Useful resources:
To Move to next level:
Aim for excellence by not only building high-impact applications but also contributing to the broader ecosystem. As you start taking on leadership roles and mentoring others, you’re preparing yourself for the next level—becoming a senior developer who shapes the future of Solana.
Anbu: Senior
At the senior level, you are recognized as an expert in Solana development. Your contributions extend beyond individual projects to influencing the protocol and overall ecosystem. This stage is characterized by high-impact work and thought leadership.
❓ Useful questions: How difficult it is to re-write Solana validator in … Java? What is the hottest SIMD now and why? Is the author of this doc larping?
What to Focus On:
Contribute at the Protocol Level:
Work on core protocol improvements and develop innovative features that push the boundaries of what Solana can achieve.
Engage in research and development to create advanced solutions for existing challenges.
Lead with Thought Leadership:
Mentor mid-level and junior developers, sharing your extensive knowledge and experience.
Represent our community at global conferences, in publications, and on strategic panels.
Drive Strategic Impact:
Participate in strategic discussions and decision-making processes that guide the future direction of the ecosystem.
Foster collaboration and community-driven innovation.
Useful resources:
https://forum.solana.com/
To Excel at This Level:
Continue evolving your skills and expand your influence within the ecosystem. Your role as a senior developer is not only to build exemplary applications but also to inspire, mentor, and lead initiatives that drive the future of Solana.
⚠️ Hey, I am not this level yet!
How to Use This Guideline
Self-Assessment:
Identify your current level by reviewing the objectives and activities listed above.
Set Goals:
Create short-term and long-term goals based on your current level. For example, if you’re at Genin, aim to complete a project using Anchor and deploy it on devnet.
Leverage Community Resources:
Make the most of our community channels, mentorship programs, workshops, and hackathons. Don’t hesitate to ask questions or request help.
Document Your Progress:
Keep a portfolio of your projects and contributions. This will be valuable for both personal growth and showcasing your skills to potential employers or collaborators.
Iterate & Advance:
As you achieve milestones, revisit the roadmap to identify the next level and adjust your learning path accordingly.
Read with a grain of salt
Conclusion
Your journey through the Solana development landscape is a progressive pathway from curiosity to mastery. Starting as an interested beginner (Academy Student) and evolving into a senior developer (Anbu), each stage of this roadmap comes with its own set of challenges, learning opportunities, and community engagements. By following this guide, you can assess your current level, set clear goals, and systematically enhance your skills.
Remember to leverage community resources, actively participate in collaborative projects, and continuously document your progress. With determination and ongoing learning, you'll not only advance your own capabilities but also contribute to the growth of our vibrant Solana community. Happy coding on Solana, and may your journey be both enriching and impactful!