Categories
Community Tips

From Novice to Notable: Essential Steps to Shine in Web Development

So, you want to be a web developer. But not just any web developer – you want to make a name for yourself. Work as a freelancer for the biggest and best companies, developing the coolest products, or landing a job at the most renowned companies in the world.

If that sounds like what’s on your vision board, you’re most likely not looking for yet another article with generic advice on becoming a web developer – you want to learn how to become a great one. 

We can’t promise you it will be an easy road, nor will it be a short one, but in this article, we provide you with a map that leads you along the essential milestones you need to pass. We’re not here to just scratch the surface, we’re going to dive deep. 

Foundations first: it’s not just about the code

Yes, when becoming a web developer, mastering HTML, CSS, and JavaScript is as crucial as learning the alphabet when you first go to school. But web development is much more than that and stretches far beyond programming languages.

You will need to be or become a great problem solver, understand algorithms, be comfortable chiming in on User Experience necessities or UI design and have a knack for system design principles. 

So when you embark on this journey, don’t just limit yourself to programming courses – keep it fun for yourself by branching out into relevant fields. The more you understand the bigger picture, the better you’ll get at working on the details.

Specialize, but diversify

We know that sounds as vague as a direction as ‘take a sharp left to the right’, but it’s where you make a difference. But there are 24.3 million active developers in the world and that number is expected to grow to more than double in the next decade to about 45 million, in 2030.

You can choose to dive deep into React, become the best at Node.js or turn into the go-to guru for GraphQL, based on your interests and talents. Yet as you root down in your specialization, it’s important to branch out into more diverse fields. 

We don’t mean knowing a little bit of everything but learning about adjacent technologies or emerging trends that are tightly knit with your specialization, like cybersecurity from a web development perspective. This makes your knowledge much more practical and easily applicable in projects and new roles, and you’ll easily blend into bigger teams.

Passion, meeting demand

When determining what your root specialization will be, keep an eye on what the demand for that is like. That doesn’t mean that you should necessarily follow the route to whatever is most in demand. You can still choose something that is less sought after, as long as you have a clear idea of where you want to end up and what you bring to the table. Be ambitious and be realistic in equal measures. 

Don’t just check what the current or projected demand for a specific type of web developer is, but also look at past data to understand what is happening. If possible, talk to industry experts to find out the reason behind it all – this will help you gauge what is risky and what is worth pursuing. 

Hands-on projects: create your own ticket to real-world experience

It’s a paradox as old as time: you need experience to get started, but you need to get started to gain experience. Don’t sit back and mope about this: start with beginner projects to get hands-on experience that you can show off.

Create a simple ecommerce website or a website for a business. Experiment with these. Try to recreate more difficult web projects to hone your skills and learn to see how the experts come to certain conclusions and setups. You don’t need to contact them to turn them into your mentors. 

Start up side projects for yourself, even if it’s just a website, on which you try to record your progress as a web developer. Over time, these side projects, even if they’re just fictional, will fill up your portfolio. Showing off an unpaid passion project or unofficial work is always better than having to say you don’t have anything yet. 

You can even seek out collaborations with other soon-to-be professionals in related fields to really polish up your projects. Think designers, copywriters, photographers or anyone else who works in fields that web developers will eventually have to work with. 

Networking: it’s about how you work together

Like many industries, web development is one of those where it does matter who you know. You don’t have to sign up for every in-person event (although, if that’s your jam, go for it!), but you can start online. Start leveraging the communities that have formed on social media platforms. 

Get familiar with GitHub and dive into the world of Dev.to. Find Reddit threads and communities where you can connect with like-minded people or people you can learn from. X and LinkedIn are also great places to connect with people and stay on top of trends.

In those groups, you’ll likely see events that are organized, like coding boot camps, hackathons, or even local coding groups. It might feel awkward at first, or strange (or it doesn’t, if you’re an extrovert), but try to ease yourself into these events. Not just for the connections you’ll build: you will also learn how to collaborate and put your skills to work in new ways. 

Digital presence: your portfolio is part of your portfolio

As a web developer, you can hardly expect that you can get away with just a resume. You are building products, and those just don’t come to life as a simple link in a PDF. 

It’s time to start building your personal portfolio website – which, in a sense, is part of your portfolio. On this website, you can share projects you’ve worked on. You can build more authority in your field by writing (technical) blogs. If you’ve contributed to any open-source projects, this is also the place to show that off. 

Leveraging AI in web development journey: job searching made easier

You can’t ignore AI in web development nor in the journey to becoming a web developer or landing a job in the field. AI-powered tools like the best AI resume builders will be your personal assistant, laying the groundwork for you. 

A common misconception is that these AI resume builders will only help you create all-size-fits-one, generic resumes. That’s only when they’re used wrong. If you let AI create the foundation you need for your resume, you can then perfect it even further with personal touches and creativity. If you start from scratch, by the time you get to this stage, you’re probably too tired or frustrated to really make your resume pop. 

Continuous learning: plan on how you’ll stay relevant

Web developers all face the same challenge: their profession and industry are quickly evolving. New frameworks, tools and trends change the landscape daily, and you’re going to have to create a structure for yourself that helps you keep up with it all.

Set learning goals for yourself: attend one webinar a week, write one blog a month on a new trend, or go to industry conferences with like-minded friends. The key here is to have a plan in place for how you plan to educate yourself – don’t just let it be something you do when you’ve got some time to spare. 

You can also squeeze in some learning on the go with online courses or podcasts, or by following big names in web development on social media. We’ve got a great knowledge base ready for you to dive into.

So, what’s your next step?

It’s important to understand that there is no surefire framework to follow that guarantees success. It’s a continuous process that might feel like you’re going back and forth, doing various things at once.

But to avoid it becoming so chaotic that you’d rather just give up, start by writing out a plan for the next twelve months. This doesn’t have to be a strict timetable but a flexible guideline that will help you stay on track.

Your first month could be dedicated to intensive learning and bruising up on your foundational skills. Plan on your first project for a few weeks from now. Make sure you create a system that helps you document your progress, learnings, and challenges – as tangible proof of your progress.

Start networking early. You can already dive into groups on LinkedIn and find threads for newbies or like-minded people on Reddit. 

Plan the things that excite you most as well, like building your own website, to keep you excited.

Your roadmap isn’t set in stone, but a living document. Keep it somewhere you can access it easily and check in often. Good luck!

Categories
Community

Hire Web3 Developers: Salary, Skills and More

The blockchain ecosystem has seen unprecedented growth with many companies now looking to hire Web3 developers with experience in cryptocurrency.

The web is undergoing dramatic changes. Of the latest changes is Web3, a new version of the internet, which is quickly expanding in size and popularity.

As it’s still a new idea, finding Web3 engineers is a tedious task. It’s mostly cryptocurrency and blockchain enthusiast developers who are mastering this new form of the web, which is destined to change the internet in ways we have yet to understand.

Before we talk about how to hire Web3 developers, let’s talk about Web3 itself.

What is Web3?

Web3, unlike its predecessors, Web 1.0 and Web 2.0, is based on peer-to-peer (P2P) decentralized networks, such as blockchain.

Blockchain is a hallmark building block of cryptocurrency, and Web3 is a product of both. Web3 developers create apps that aren’t limited to a single cloud server but are instead distributed on a blockchain or decentralized P2P network that isn’t controlled by a central authority.

In simpler words, Web3 is similar to how most cryptocurrencies work based on the blueprint of Bitcoin.

How does this differ from the existing Web 2.0? While Web 2.0 is user-centric (most of the content is user-generated), Web3 has taken this approach to the next level by introducing more autonomy and keeping things more transparent and relatable. In Web3, computers are heavily involved in interpreting information on a human level.

Web3 has many additional attributes that distinguish it from Web 2.0 — it’s verifiable, self-governing, permissionless, distributed, stateless, and has built-in payment systems (cryptocurrency).

This lack of transparency and verification led to Web 2.0 containing too much content and information, most of which isn’t helpful for general users. Its security is also sub-par, which is why there are too many hackers today and a marked increase in identity theft and other cybercrimes.

Any application built on Web3 would be developed and owned by the users as they help create and maintain the app, earning their stake along the way. This is just how Bitcoin operates, as miners of the currency earn Bitcoins when they facilitate transactions through computing operations.

The apps on Web3 are called “dApps,” which is short for “decentralized applications.” You can expect to hear this term more often in the near future.

An effective Web3 developer is one who is familiar with the concept of Web3, is proficient in the relevant programming languages, and has the right tech stack to back their development work.

What Tech Stack Do Web3 Developers Use: Skills and Tools

The tech stack, or developer stack, refers to the technology or tools the developer uses and excels at. A good example is the MEAN stack, which is comprised of MongoDB, Express.js, AngularJS/Angular, and Node.js.

For Web3, there’s a specific tech stack that the developer you’re hiring must use.

Web3 SDKs/dApps

The Web3 SDKs, or libraries, are essential for building any dApp. These libraries support the interaction with a blockchain, such as Ethereum, and conduct transactions.

The most important of these SDKs are web3.jsweb3.py, and ethers.js. These are also linked with smart contracts, which are explained further below.

Cryptocurrency Wallets

If you’ve ever dabbled with cryptocurrency, you probably already know what a crypto wallet is. It holds your cryptocurrency and can be either a digital or hardware wallet. For Web3 applications, a wallet is required to facilitate transactions.

There’s a fee for the writing operations on the blockchain, which must be drawn from the wallet. For Web3, the developer can create an ETH (ethers) wallet using any of the common languages, such as Python, JavaScript, or Ruby. Alternatively, developers can use an existing wallet platform like MetaMask.

Nodes

Nodes make up the blockchain and retain a copy of it. These are also called Web3 providers for this reason, as the application’s connectivity with the blockchain hinges on these nodes. Without these nodes, dApp cannot communicate with the smart contracts.

The most commonly used provider is QuickNode, which provides a global network of nodes powered by speedy operations.

Smart Contracts

In the crypto world, smart contracts are pieces of code that live on the blockchain. Written in Solidity, these cannot be altered or mutated. This code runs when the conditions for it to run are met.

This automates the workflow when the participants of the blockchain confirm an outcome. These smart contracts (pioneered by Ethereum) also helped give Ethereum the edge over Bitcoin in terms of transaction speed.

Web3 Developer Salaries

The average yearly salaries for Web3 developers can vary greatly depending on what you’re hiring them for. Here’s an overview of the most popular Web3 expert roles and their salaries.

Blockchain Developer

According to ZipRecruiter, the average yearly salary for a blockchain developer is $154,550 or $74 per hour. Note that this average is mostly drawn from larger companies. If you add smaller companies and startups into the mix, the average yearly salary drops to $80,000 per year.

Since the term “blockchain developer” is a broad descriptor, the associated salaries tend to vary. In general, there are two types of blockchain developers: blockchain software developers and core blockchain developers.

  1. Blockchain software developers: Blockchain software developers are responsible for creating applications based on blockchain protocol and architecture. One of their main duties is to create smart contracts, which are programs stored on a blockchain that automatically run when conditions are met. Small contracts are usually used to automate workflows and agreement execution so every participant will immediately know the outcome.

    They also create decentralized applications (dApps) that run on the blockchain, making them comparable with web developers, who use web architects’ design and protocol to create web applications. Additionally, these software developers are responsible for the front-end and back-end development of dApps and supervising the stack that runs them.
  2. Core blockchain developers: These blockchain developers are responsible for creating the architecture, design, and security of the blockchain system. They also:
  • Design the blockchain protocols
  • Design security patterns and consensus protocols for the network
  • Supervise the entire blockchain network

Despite their differences, both types of blockchain developers require a similar skill set. Here are the main blockchain developer hard skills you should look for when hiring a blockchain developer for your team:

  1. Cryptography: Cryptography is the study of blockchain protocols that prevent unauthorised and unwanted parties from accessing your data. A popular concept in cryptography is public-key cryptography, which forms the backbone of cryptocurrency transactions. Another hot topic is cryptographic hashing, which transforms cleartext passwords into enciphered text for storage. This slows down threat actors since they’ll have to decipher these hash values if they want to exploit the passwords.
  2. Data structures: Every blockchain developer needs to have extensive knowledge of data structures. This is because blockchain networks consist of data structures.
  3. Blockchain architecture: Blockchain developers need to know what ledgers are, how smart contracts work, and what consensus is. They should also be familiar with all four types of blockchain architecture: consortium, private, public, and hybrid.
  4. Web development: Blockchain developers should also know how to develop and create web apps, particularly if they’re blockchain software developers.
  5. A variety of programming languages: Finally, your blockchain developer should have experience with at three or more of the following programming languages:
  • Java
  • Python
  • C++
  • C#
  • PHP
  • JavaScript
  • Go
  • Simplicity
  • SQL

Like the rest of the roles on this list, blockchain developers need the following soft skills:

  • Commitment to and passion for the Web3 landscape
  • Interest in learning more about blockchain technologies
  • Client and project management skills
  • The ability to meet deadlines ahead of time
  • The ability to work in multi-disciplinary teams

Solidity Developer

The average base salary for a Solidity developer is $127,500 per year. Remote Solidity developers can earn up to an average of $145,000 per year, depending on which company they’re working for.

Solidity developers use the Solidity language to create and deploy smart contracts on Ethereum-based apps. The syntax of Solidity is similar to C and Javascript, so developers who already know those languages can quickly learn Solidity. Compared to other languages, Solidity offers multiple benefits, such as:

  • Statically typed programming
  • Accessibility to JavaScript debuggers, infrastructures, and other tools
  • Preciseness

With Solidity, developers can craft applications with self-enforcing business logic in smart contracts, creating a non-repeatable record of transactions. Solidity also supports libraries, a complex user-defined type, and inheritance. Thus, it’s a good choice for creating contracts for crowdfunding, voting, multi-signature wallets, and blind auctions.

Solidity developers are usually responsible for:

  • Integrating Solidity code across various platforms
  • Managing the full lifecycle of blockchain development
  • Ensuring blockchain integration with existing applications
  • Building smart contracts and ensuring that all timelines and expectations are met for finished smart contracts
  • Reviewing smart contracts for security and functionality
  • Supervising web services that use blockchain technology
  • Collaborating with multidisciplinary teams and product managers to discover new ideas for smart contract development
  • Assessing technical reviews of proposed solutions
  • Analyzing usage and transaction statistics to pinpoint and prioritize areas for improvement

Besides having a deep knowledge of Solidity and blockchains, Solidity developers should also have the following hard skills:

  • Blockchain technology, especially Ethereum blockchain
  • Strong background in Javascript, C, C++
  • Knowledge of AngularJS, React JS, and Ember JS
  • Portfolio experience with Ethereum testnet and mainnet
  • CSS/HTML/JS/React for application binary interface (ABI) integration
  • Experience with RESTful APIs
  • Experience with staking protocol implementation for liquidity pair and single-token staking
  • Familiar with different ways to deploy smart contracts, such as Remix, Truffle suite, and Hardhat
  • Experienced in staking implementing and test-driven development (TDD)
  • Knowledge of libraries, data structures, blockchain architecture, web development, and smart contracts

Smart Contract Developer

According to Glassdoor, the average annual salary of a smart contract developer in San Francisco, CA, is $94,674 with an average additional cash compensation of $20,950.

As their name suggests, smart contract developers are responsible for developing smart contracts for blockchain platforms. They use various programming languages, such as Solidity and Vyper, to create smart contracts, which, as we covered above, are blockchain programs that automatically run when conditions are met.

Image Source – Revelo

Unlike blockchain software developers who create dApps as well as smart contracts, smart contract developers are only responsible for designing and building smart contracts architecture and related tasks. As such, they have fewer responsibilities and lower salaries.

Here’s what they’re typically responsible for:

  • Designing, building, and deploying smart contracts architecture, yield pools, incentive structures, and strategies
  • Working with smart contract auditors and the rest of your IT team to implement fixes
  • Create, implement, and test smart contract additions and upgrades
  • Explore and research smart contract design implications

Most companies require smart contract developers to have the following hard skills:

  • Over four years of full-stack web development (client-facing apps and APIs)
  • Programming languages such as Solidity, NodeJS, and JavaScript
  • Cryptography
  • Experience in creating, developing, deploying, and testing smart contracts for all four blockchain architectural types
  • Experience with patterns that will make their Solidity code more readable and improve performance, such as:
  1. Oracles
  2. Pull over Push
  3. Eternal Storage
  4. Tight Variable Packing
  5. Guard Check
  6. Emergency Stop
  • The ability to write secure code that prevents threat actors from taking over contracts
  • Optimization of smart contracts
  • User experience (UX)

Rust Developer

There’s a lot of variation in the salaries of Rust developers.

According to ZipRecruiter, the average Rust developer earns $91,709 per year or $44 per hour. However, in certain major cities, the average salary of Rust developers is higher. For instance, the annual average salary of a rust developer in San Francisco, CA, is $106,131 with an average additional cash compensation of $11,867.

Rust developers are responsible for coding and developing web browsers, blockchain platforms and projects, servers and systems software, and operating systems in the Rust programming language. They may also be responsible for testing, debugging, and ensuring the security and safety of the systems, software, and platforms they develop.

Additional duties may include:

  • Collaborating with customers, management, and relevant departments to pinpoint end-user specifications and requirements
  • Analyzing user feedback to boost software performance
  • Creating technical documentation

Like Solidity, Rust is a popular language that has a wide range of Web3 applications. It’s particularly popular due to its use in the Solana blockchain, a potential competitor to Ethereum as the leading platform for dApps. As of March 2022, Solana is currently ranked ninth in market value on CoinMarketCap, making it the highest-ranked blockchain platform that uses Rust.

Most companies require Rust developers to have the following skills:

  • C++, since the Rust language is similar to it
  • Other programming languages such as Golang, Python, Java, Node.js, and React.js
  • Knowledge and experience with secure coding practices
  • Experience with network programming skills and multi-threaded programming
  • Familiarity with solana-web3.js, Solana’s official SDK (Rust developers use this SDK to develop Solana dApps)
  • The ability to create and launch Programs, which are the Solana equivalent of smart contracts
  • Experience with specific operating systems such as Android or Linux
  • Experience with certain databases, such as MongoDB and Apache CouchDB

Many organisations also prefer to hire Rust programmers who have at least three to five years of Rust coding experience since it’s a difficult language to master.

According to the Rust Survey of 2019, most Rust programmers rated their expertise as 7 out of 10 or below, even though over 68% of them wrote Rust code weekly. Additionally, 22% of Rust users indicated that they didn’t feel productive while coding Rust and the steep learning curve was the second most common reason for not using Rust on some projects.

As such, it’s important to get a good idea of how familiar and comfortable your potential hire is at Rust. Give them a few test assignments and make sure that they know how to create, test, and debug the programs and apps you want them to create.

Where to Find Web3 Developers

Whether you’re looking to hire Web3 developers for a long-term project or a small gig, knowing where you can find the best talent for this specific set of skills can substantially cut down your search time.

Web3, like cryptocurrency in its early days, is driving impressive innovation. It’s an excellent opportunity to be a part of the blockchain ecosystem and help formulate the future of the web.

Unless you live in a tech hub where you can find talent locally, it’s probably easiest to hire remote developers. Here are the best places to find these developers and Web3 engineers:

Crypto Job Boards

Even while talking about something as cutting edge as Web3, you may find the age-old approach of searching job boards to be quite convenient. However, you’ll want to choose a job board that’s known for harboring blockchain and crypto developers.

There are several recruitment websites that focus solely on crypto-related jobs. You can increase your chances of finding the right person by posting the position on more than one of these platforms.

Some of the most popular online crypto job boards include Crypto Jobs ListCryptoJobs, and Angel. Other more general job sites include Indeed and Remote.co.

LinkedIn

LinkedIn is another online job board, but it’s also a social media platform. Many startups begin their talent scouting here.

Not only do you have the opportunity to post Web3 development jobs on LinkedIn, but you can also search for professionals with experience by viewing the profiles of prospective employees. Profiles present workers’ skills, experience, and education, and if you like someone, you can communicate with them directly on the website or app.

While LinkedIn is an excellent place to find a developer, it also provides a great platform for promoting your business, especially if you’re looking for financing. It offers opportunities to show off the talent you hire as well, to make your venture appear even more valuable.

Talent Marketplaces

Online talent marketplaces are another viable option when searching for Web3 developers. These usually have both remote workers and freelancers, so you’ll first need to figure out exactly the kind of worker you need.

Do you want a permanent member of the team? Do you want a contractual freelancer? These are serious considerations. For example, for long-haul collaboration, you’d likely want the developer to be an employee of the company.

There’s nothing wrong with going with a freelance developer, provided this kind of relationship meets your needs and you can find someone suitable. But if you’re looking to embed developers in your team and hire them permanently, Revelo is an excellent place to start. You’ll be connected with top-notch remote talent specializing in Web3 engineering or development, or whatever technology you need to grow your business.

One of the most significant benefits of using Revelo is that the developers are pre-screened, so the skills and experience they list on their profile are what you’ll get. Therefore, there’s no need to confirm their experience — you can just move along with the interviewing process.

How to Hire Web3 Developers

You probably don’t want to spend endless hours reviewing resume after resume and conducting dozens of interviews. At the same time, you also don’t want to miss out on good talent by overlooking their applications.

To help you pick out the best from the rest, here are some examples of job postings and some guidelines for the interviews themselves.

If you find hiring daunting, don’t worry — hiring developers doesn’t require the formal interviews, group discussions, or IQ tests that many big corporations use. If you’re all for decentralization anyway, you might as well do things a little differently than more centralized corporations.  

Web3 Developer Job Post Example

The first thing you need to nail is the job post itself. Whether you choose to go with a job board, LinkedIn, or a talent marketplace, you’ll need to define the position you’re offering.

This is important because, believe it or not, many recruiters and contractors end up using the wrong terms in their posts or adding too much detail. This can cause candidates to overlook the most important requirements of the position. In these cases, you’ll end up with irrelevant resumes and often too many of them to sift through.

When you’re looking to hire Web3 developers, the post should be direct. It should address that you’re looking for a blockchain developer who specialises in Web3 development and has the right tech stack to support it.

Ideally, you would want people with experience working with blockchain to apply. So, make a list of the relevant keywords to put in your post. Those keywords will also help the post rank better on search engines, so anyone who types those keywords will see your job posting.

To help you write an immaculate job post to hire Web3 programmer, here is an example:

“We are looking for a passionate and experienced Web3 developer to help us build our project XYZ.

Our ideal candidate is someone with experience developing blockchain-based applications, especially those for Web3 (dApps). They should be aware of and use the latest technologies in crypto, blockchain, and Web3 development. With collaborative energy and willingness to learn, the right candidate will readily communicate with and assist other team members on the project.

Necessary Qualifications:

  • Experience with blockchain development
  • Experience with Solidity and dApp development
  • Basic knowledge of front-end development of dApps to bridge the gap between the complex blockchain and usable Web 2.0–based interface
  • Ability to work remotely and collaborate with the team when necessary

Responsibilities

  • Help create scalable applications with Ethereum blockchain
  • Analyse and solve problems in the development phase
  • Communicate and collaborate with back-end and front-end teams
  • Develop and optimise smart contracts
  • Help document the development process of the blockchain and dApps
  • Optimise development and implementation
  • Adopt best practices for Web3 and blockchain development”

You can follow this layout or create your own based on this sample structure:

Begin by briefly introducing your company or the idea of the project without giving too much away, especially if you’ve come up with a new idea.

Then, talk about what the ideal candidate should have, including the desired skills and qualifications. Don’t be too general with these but try to be straightforward. Keep in mind that Web3 is relatively new, so asking for 5 or 10 years of specific experience may be unreasonable and limit who applies. This could cause you to miss out on exceptionally qualified candidates.

Consider adding a pay rate or range in the job posting. This transparency will ensure that neither you nor the candidates waste time with interviews or application materials if your expectations are drastically different.

Lastly, list the responsibilities that the developer will have. Include both technical and non-technical responsibilities that you’ll expect of a new hire.

Remember that a clearer job description will attract more relevant applicants.

Web3 Developer Interviews

Once you have shortlisted the candidates, you can begin setting up interviews. You already established during your initial review that they meet the requirements you defined in the job post. Now, it’s time to get to know them a bit better.

You’ll most likely be conducting the interview remotely via a web meeting tool, like Zoom.

It’s always a good idea to formulate your interview questions beforehand. You should write down your most significant concerns with hiring Web3 engineers and keep each candidate’s resume handy either in paper format or on your computer screen.

Ask them how they plan on working remotely, especially if they are located in a different region with a significant time zone difference. Discuss the communication tools and methods of your team and whether they have any experience with those.

Make sure to formulate these discussions and concerns into a set of questions and create a smooth flow. For example, consider dividing the interview into technical and non-technical sections. However, it’s not necessary to stick to your script. If you think of something during the interview, you can go ahead and ask and come back to your pre-written questions after.

Lastly, discuss their salary or pay expectations. Do they prefer to be paid hourly, annually, or by the project?

Here are some sample questions you can use in your interviews:

  • How do you think Web3 is different from the previous versions of the web?
  • What blockchain projects have you been part of? What was your role?
  • What Web3 development tools and technology have you used before?
  • What coding languages are you experienced in?
  • How do you respond to feedback from other team members?
  • What testing methods do you use for your code?
  • What is your preferred mode of communication?

Don’t forget to keep the mood light and friendly!

Web3 Coding Challenges

No matter how well the interview went and how experienced the candidate claims to be, it all comes down to their skill.

To measure and confirm their level of knowledge and experience in Web3 development, you should conduct several small coding challenges. These can be presented to the candidates in written form or as video presentations to explain the purpose of the assignment. The task shouldn’t be longer than an hour unless you plan to pay them for their time.

If you’re hiring a developer to carry out different coding tasks, you should create different coding challenges, each dealing with a specific need of your project — for example, creating nodes, writing smart contracts, or developing the front end of a Web3 application.

Another popular approach to coding challenges is pair programming. In these tests, two developers work together on a problem, either in person or remotely. This is a great way to test their technical skills and their team and communication skills. The code wouldn’t be written by both of the developers, however. One would formulate the code or define the approach, while the other would actually write it. You can reverse the roles for a second test.

Here are some tips for developing coding challenges:

  • Utilise problems related to your project. You want to see the developers working in the context of your application. You should take a problem related to your project and present it as a challenge to see how the candidate might benefit your team.
  • Focus on the process, not the result. When examining the coding challenge results, don’t just look at whether they solved the problem. Even if they didn’t quite find the solution, their results can help you get to know how they work and whether they have the potential to learn more.
  • Use the same challenge. For a single job posting, use the same coding challenge to see how different candidates compare. However, don’t reuse the test once you’ve hired someone successfully.
  • Create from scratch. It’s best to create the challenge yourself, using a real problem related to your project. Pre-designed coding tests may not provide the best outcome, and many times the solutions have been published online, which defeats the purpose of testing. If you’re not a developer yourself, consider asking your current developers, especially those responsible for testing, to create these tests for you.

Conclusion

Hiring Web3 developers is not difficult if you search in the right places, conduct the interviews effectively, and design a solid coding test. Even if you believe a candidate is not seasoned, you can always train them. However, they should have the drive to learn more.

Revelo can solve your talent hunting issues by presenting some of the best developers from Latin America to become an integral part of your team and take your Web3 project to the next level. Contact Revelo and get matched with vetted developers within 3 days.

Categories
Tips

Five backend books you should read in 2021.

Powering up your backend knowledge? Our friends at Packt have shared five backend books you should read in 2021.

Node Cookbook, Fourth Edition

Discover solutions, techniques, and best practices for server-side web development with Node.js 14

What reviews say:

“Want to learn Node.js, brush up on your skills, or discover the latest features of Node 14 and beyond? This book is for you! Written by a senior developer and Red Hatter, With a thorough presentation of everything Node, Bethany Griggs delivers from cover to cover in this latest Node Cookbook edition.

Node.js Web Development, Fifth Edition

Server-side web development made easy with Node 14 using practical examples

What reviews say:

“This book is great. I had some knowledge about full-stack JavaScript, but this book has already taught me a lot. I wouldn’t say that this book is for a complete beginner to software development (coding), but it’s definitely good if you need to deepen your understanding of JavaScript, or if you’re interested in getting started with JavaScript from another backend language like Python, C#, Ruby, etc.”

ASP.NET Core 5 and React

Full-stack web development using .NET 5, React 17, and TypeScript 4

What reviews say:

“The book had a very methodical approach to building single-page applications through React. I am familiar with React and .NET separately and partly why I could pick up the concepts in the book faster but I believe otherwise too, things are laid out very clearly. Recommend it for beginners.”

Full-Stack React, TypeScript, and Node

Build cloud-ready web applications using React 17 with Hooks and GraphQL

What reviews say:

“Nook has a philosophy of “learning by doing” “

Building Vue.js Applications with GraphQL

Develop a complete full-stack chat app from scratch using Vue.js, Quasar Framework, and AWS Amplify

What reviews say:

“This book is a fantastic deep dive into building an end-to-end application on AWS. I really like the fact that he dove deep into many topic areas, showing how to tie everything together to build something that is a real-world use case. The information in this book can also be used in many other areas so the knowledge is very transferable to other scenarios and use cases.”

What titles do you recommend? Share your thoughts in the comments.  Looking for more inspiration? Here are more book recommendations.

Categories
Platforms

Angular vs React: Battle for the future of front-end web development?

Google and Facebook are two of the world’s most powerful companies and each has created a framework for building web apps. Angular and React respectively appear to be in a battle for the future of the web, with the active online debate and adoption for large consumer-facing apps seeming to lean quite strongly in React’s favour at present. Are they collectively taking over the front-end? Is React really leading? Our data from a broad cross-section of nearly 6,000 web developers may surprise you.

angular vs react

Which is your favourite framework? Take the Developer Economics Survey and win amazing prizes.

Although traditional, largely static, web pages still have an important place, mobile is now the dominant computing paradigm and mobile users have come to expect the interactivity of native apps. To attempt to match a native app experience, a web app cannot be entirely rendered on the server side, the page has to be changed dynamically on the client. The more extensive the changes the greater the need for a better abstraction than the DOM (Document Object Model) to manage the complexity. This has driven ever growing usage of third-party JavaScript libraries and frameworks.

Historically jQuery was the first library to get really popular, enabling easier manipulation of the DOM on the client side. It’s still the most popular today, as the primary front-end library for 34% of web developers. However, manually manipulating the DOM turns out to be extremely complex and error-prone when it’s happening extensively, so frameworks that provide a better abstraction are increasingly important. Overall just 12% of web developers don’t use any kind of framework and another 6% have written their own. That leaves 48% of web developers currently using a third-party framework other than jQuery as their primary way of doing front-end web development. Of those, Angular and React account for 30% of all usage, leaving all the others far behind. Indeed front-end web development is such a fragmented space that no other single library or framework accounts for more than 2% of primary usage. So React and Angular certainly lead other frameworks, although only around half of all web developers have fully embraced any single page application framework so far.

Angular is still king despite the React hype.

AngularJS (Angular 1.x) was the first single page app framework to get the stamp of approval from an internet giant, when Google started to back the open-source side project of one of their employees publicly. Google’s backing gave many large enterprises the confidence to adopt, and with broader adoption came a flourishing ecosystem of components and tools. As this was happening, React was built internally at Facebook and deployed on the Facebook newsfeed in 2011 and then Instagram’s web app in 2012. Yet React wasn’t released as open source until 2013, by which time Angular had an enormous lead in both adoption and ecosystem. Then in late 2014 Google appeared to stumble previewing Angular 2.0, which was going to be incompatible with Angular 1.x and use a new language. Reaction from the developer community was not good. By mid-2015 Google had agreed to work with Microsoft so that TypeScript became the official language for Angular 2.0, while the 1.x series had a promise of continued support, and a migration path between versions was created. This discontinuity for the Angular community seemed like a gift to the already rapidly growing React.

Although Angular still had many vocal fans, anyone following the broader front-end web developer community online would have to assume that React was taking Angular’s crown. At the time of writing React has passed Angular 1.x in terms of stars on their respective GitHub projects, with around 61,500 to 55,000. Angular 2.x trails both of these by far with 21,500. In the independent State of JavaScript survey run in late 2016, React came out way ahead of both versions of Angular in usage, interest, and retention. However, our own survey, which reaches out across many different developer communities does not reflect this result overall at all. Not only is Angular 2.x the primary framework for about as many developers as React (10% vs 9% globally), but Angular 1.x is still the most popular overall by a slim margin (11% use it as their primary framework). In total those using one or the other version of Angular number more than double those using React.

angular vs react

React is favoured by front-end specialists.

In order to see how reality in the market could be so different from the online buzz and even a large community survey, it’s interesting to look at the breakdown of JavaScript library and framework usage by primary programming language. If we only look at the users of the latest versions of JavaScript – those who like to stay at the forefront and are more likely to be found debating framework choices on the internet – we see React is the primary framework for 27% of them. So amongst those who have made the switch to ESNext (i.e. the 2015 version of the JavaScript standard or later), who then use tools to convert their code to the JavaScript that’s widely supported in browsers (known as ES5, introduced back in 2009), more are using React than both versions of Angular combined. However, this is the only group of developers for which React beats either version of Angular alone. These forward-looking JavaScript users are less than half of those primarily using JavaScript, and just 16% of all web developers (who almost all use some JavaScript).

A further 18% of web developers are still primarily using ES5. More of these are currently still using Angular 1.x (21%) as their primary framework than Angular 2.x (9%) and React (8%) combined. These developers are getting on with what they know and are productive doing. They may be following the new standards and frameworks but most of them don’t see enough benefit in switching yet. Another 3% of all web developers are primarily using TypeScript, which could be seen as the most advanced version of JavaScript currently available. However, some web developers understandably don’t want to adopt anything not yet in the standards, others don’t want to use the optional static types, and a significant minority still avoid anything from Microsoft. Given that Angular 2.x has adopted TypeScript it’s not surprising to find 41% of those primarily using the language have adopted the framework. There are another 18% currently still using Angular 1.x that will most likely migrate to Angular 2.x.

Backend web developers prefer Angular on the front-end.

After some flavour of JavaScript, the most popular language for web developers is PHP, with 21% still considering it their primary language. Given the focus on rendering pages server-side in most of the popular PHP content management systems, it’s not too surprising to find less interest in single page app frameworks in general amongst these developers, with 52% still using jQuery as their primary library. Interestingly only 3% of PHP developers are primarily using Angular 1.x, with 8% on Angular 2.x, and just 4% for React. In fact almost as many PHP developers don’t use any library or framework for the front-end (14%) as use React plus either Angular version.

Developers primarily using server-side languages other than JavaScript/Node.js or PHP (totalling 42% of all web developers) are significantly less likely to be using jQuery than PHP developers but they are also significantly less interested in Angular and React than the JavaScript developers (26% vs 38%). When they do primarily use one of these front-end frameworks, far more choose Angular (20%) than React (6%), and more of the Angular users are on version 2.x (11%) than version 1.x (9%). Considering all of those who are server-side developers not using Node.js, which is 63% of the web developer population, Angular is significantly preferred to React at this point, probably because it is complete framework, rather than forcing the developer to make lots of other library and tooling choices as they currently have to with React.

What happens next?

There are a many alternative futures that could be inferred from this data. The simplest story would be that framework preferences won’t move much for the different groups. Server-side developers will continue to have relatively little interest in the front-end frameworks and ES5 developers will stick to Angular 1.x when they eventually transition to ESNext or TypeScript. This doesn’t fit the current trend of increased JavaScript usage across the web, front-end and server. It also ignores the fact that Google will be migrating to Angular 2.x internally and developers will not want to be left without support one day. We could also imagine that as developers start using ESNext or TypeScript their framework preferences shift accordingly. Both React and Angular gain greater share, with React growing faster than Angular.

There’s probably some truth in this, but it’s too focused on the front-end developers. Server-side developers who aren’t using Node.js are less likely to find React attractive without a much simpler learning curve for the ecosystem. Then again, the most popular PHP framework is still WordPress, and the company behind WordPress has chosen React as the new front-end framework for WordPress.com – many PHP developers may follow them. Facebook has significant momentum with React, but Angular is likely to remain the most popular for smaller projects and internal apps. What we can predict is that despite the inevitable churn on the front-end, both frameworks have successfully built a critical mass of developers creating valuable ecosystems, and both are set for significant growth in the years ahead. We’d be surprised if the 30% of web developers using either Angular or React didn’t become 40% in the next 2 years.

So, what do you prefer? Angular or React? Take the Developer Economics Survey and win amazing prizes.