From Concept to Reality: Building a Job Board for Developers

Portfolio Breakdowns June 07, 2024

From Concept to Reality: Building a Job Board for Developers

Part One: Why

 

 

Earlier this year, I posted about a Job Board I was building. The goal was to create a platform where developers could easily find high-value job listings and apply. During my job hunt, I found it challenging to find jobs that matched my goals, were posted recently, and were not already overly saturated. It’s difficult for one person to find high-quality job postings for an entire user base, and most people come to a job board with the sole goal of applying.

 

To ensure the job board consistently has high-value job listings for every user, there needs to be other mechanisms in place. This is why my job board is user-generated. Users need to post four jobs that are approved by an admin. Once the jobs are submitted, the user is awarded a certain amount of points based on the quality of the job posting, ranging from 0.25 to 1 point. Once a user gets 4 points, they receive a 24-hour access token, which can be activated whenever they are ready. This allows job seekers to find four high-quality job postings a day. Users can submit the jobs, and an admin will review them. After the review, users receive an email with the rating, details, and reasons for the rating.

As a portfolio project, this is a basic CRUD application built with the MERN stack. Authentication is set up through JSON Web Tokens.

 

Recently, I heard someone say that finding a job is a full-time job in itself. With more companies utilizing AI and prioritizing senior developers over developing lower-level developers, the odds of hearing back from an application are less than 5%. This doesn’t include how quickly job listings become oversaturated. Easy Apply job listings on LinkedIn get over 100 applicants in the first hour. Plus, resume filtering often means people without a CS degree don’t even get their resumes viewed. There needs to be a job board where developers have access to job listings that fit their skill sets, and where their resumes won’t get filtered out. The job board needs to be filled with quality listings that job seekers can’t just easily apply to, and they need to be real job postings from actual companies looking for developers.

 

Employers have filters to keep you from wasting their time. Job seekers need a filter to keep scammers, recruiters, and low-quality job postings from wasting ours. The goal isn’t to get a quick dopamine rush from quickly applying to a handful of jobs. We want to craft resumes and cover letters suited for jobs that match our background. To take the time to do that, we need to be assured that the job listings we’re applying to will give us a fair chance. Why write a resume for a job that might filter us out? When a job posting doesn’t parse a resume correctly, and we have to constantly update it, how do we know this time we will get results?

DevJobFinder is the place junior devs can go to find those high-quality job listings; you just need to bring four to get in.

 

The point system creates a filter for job seekers. It sets them in a community where they are going to get higher value for the time they put into finding the right opportunity for themselves. The point system allows job seekers to craft high-quality applications for the jobs that are posted. They can update their resume based on the job listing and prepare a cover letter. The idea is that now that the user is on a platform where they have access to over 50 high-quality jobs, they can take the time needed to put out something high quality. The goal is not to force job seekers to constantly go above and beyond for employers who would have never truly considered them in the first place. It is unfair that employers filter job seekers out. This job board removes the bad matches for you.

Part Two: The Job Board

The inspiration for the design of DevJobFinder was Dice, Indeed, and ZipRecruiter. A minimalistic design teases the jobs but ultimately doesn’t give you access until you make an account. DevJobFinder has four main pages:

  1. Homepage – This is where users can search for jobs. If they are not logged in, they will be directed to the login or create account page. Since this is a portfolio piece, the homepage links to mock articles about stories of inspiration, career tips, and tech guides. In a real-world setting, these would be landing pages with the intent to share information but also to collect emails.
  2. Account Page – After logging in, users can edit their profile information, submit job postings, apply to be an admin, and see their job history. They also have the ability to connect with other users on the platform to collaborate on projects. Like LinkedIn, the profile has an “Open to collaborate” feature, indicating that the user is interested in building a project with others on the platform.
  3. Job Search Page – Users can search for jobs. The search results show the value of the job listing and details about it. It also has a brief section for admin notes where the admin will give their thoughts on the job post. This provides more information to the user so they can get a better idea of the job without having to click and research it themselves.

 

The point system is as follows:

  • Any job that is remote, requires less than four years of experience, doesn’t need a government clearance, was posted in the past 24 hours, and focuses on JavaScript frameworks or Python is given one point.
  • Points are then deducted based on specific criteria: 
    • Hybrid: -0.25 points
    • On-site: -0.5 points
    • More than four years of experience: -0.5 points
    • Requires government clearance: -0.75 points
    • Posted 2-3 days ago: -0.25 points
    • Posted 4-7 days ago: -0.5 points
    • Requires a CS degree: -0.5 points
    • Easy Apply job: denied
    • Requires coding skills outside of JavaScript and Python: denied
    • Already posted: denied
    • Posted more than a week ago: denied
    • Not hosted on the company’s site: denied

 

 

One of the main issues I had with this application was figuring out the best way to set up secure routes for the owner and admins. As owners and admins have more permissions and the ability to add new users, using MongoDB, I set a schema that has multiple nested objects. The owner has the admins, and the admins hold their reviews. You can see who approved what. It was interesting trying to create a system where by logging in, you have more access to the data. When an admin user logs in, they login via their basic user account info, then if they have the admin credentials, another login will appear within their dashboard where they can sign in to view their admin privileges and abilities. I wasn’t sure if this was the best way to go about it. Should the admin login work seamlessly with the regular login, or is a series of nested logins more secure? Then there is the review time and the need for trusted admins. Later in the article, I speak to the business aspect of motivating someone to become an admin. What perks do they get?

 

The second issue I ran into was my lack of design skills. Check out my article where I speak about templates and how they drastically increase your productivity. This portfolio piece was before I started using templates, and my lack of design skills undermines the value of the build.

Part Three: The Business

 

Originally, when building this job board, I wanted to make it into a real live service. While this is still possible, I had trouble finding ethical ways to make the job board profitable. There are a handful of avenues to make a profit off a job board like this. One is premium memberships. This allows users to pay a monthly fee to get access to the job board for the entire month. Users will not have to find jobs themselves but will gain instant access to the job board for the duration of their subscription. Another option is the ability to purchase 24-hour access tokens. Rather than paying for a full month, users just pay for one day.

The issue with these models is that they ruin the ratio of job seekers to job postings. When you have a portion of your user base not submitting jobs, the ratio between jobs and users gets lower. This could hurt the community. Companies focusing solely on their bottom line can ruin the customer experience and trust. One example is World of Warcraft (WoW). WoW was a massively popular RPG where people could be fantastic characters and go on quests. Like EverQuest before it, WoW was built on the principle that you had to do the work to level up, complete quests, and get rare items. This built mystique around the game.

How Video Games Make Hundreds of Millions of Dollars Per Month in ...

However, the company decided to change their system to be more like cheap games today, such as Fortnite, NBA2K, and Clash of Clans, where instead of valuing mystique and legacy, they value microtransactions. So now, instead of users having to work to level up, they can just pay for it. Instead of having to grind through a quest, read game guides, and watch videos to get an exclusive item, you can just purchase some V-Bucks to get the Sword of Winterfell. This decision killed WoW, and it is nowhere near the juggernaut it was 15 years ago.

You could argue that WoW's downfall is more based around changing their system rather than the system itself. If WoW used microtransactions from the beginning, would there have been a huge downfall? Probably not. But personally, it feels cheap to market this job board as a user-generated job board for tech people by tech people, then have a payment option for people to purchase memberships or access tokens. There should be a realness to the community. Memberships and the ability to purchase tokens remove the realness and turn the board into something superficial and almost fake.

Affiliate Marketing, Advertising & Sponsored Content

Another option would be affiliate marketing. This is where you build up a user base of people (in this case, tech job seekers) and either sell their information to someone who wants to sell something to them, or you have cross-promotions on your website where you sell a product to your customer base and if they sign up, you get a percentage. Affiliate marketing, like advertising, comes down to two things. One is being open and honest about it. For this job board, any article or posting that is affiliate marketing is clearly defined and outlined at the top of the page and during paragraph breaks. Any affiliate marketing ad is given a border. The website even has a setting where users can choose to hide all affiliate links and postings. This gives users ample information to know that this article and posting lead to revenue for the company without ruining the trust or integrity of the job board.

The next option for affiliate marketing is vetting the companies that would like access to your customer base. There are a lot of shady businesses and boot camps that make false promises and try to get developers to sign contracts. To become an affiliate marketing partner with us, the company would have to be thoroughly vetted and willing to answer our questions if concerns come up. If companies do not wish to communicate, then they are not a match. If a potential partner isn't interested in hopping on a Zoom call, then why should we trust them with our clients? As a freelancer, it would be nearly impossible for me to land a client where I denied having a conversation with them, and that is the same view we have of all affiliate marketing partners. To have a job board with integrity, we need to vet potential partners thoroughly.

Donations

Another idea is to allow users to donate to the platform if they find it valuable. This can create a sense of community and support without forcing users to pay for access.

Other Ideas

The best way to make this job board profitable is to offer more for people who pay. You could have a base-level service that is free, then add premium features for paying users. This could include AI tools, coding lessons, resume courses, interview prep, and LeetCode training. The job board should not penalize those who do not pay, nor should it give those who do pay an unfair advantage when it comes to posting and applying for jobs. It’s like buying a cheeseburger: the price of the burger is the same for everyone, but if you want bacon, then it’s an extra $1.25.

Part Four: Improvements and Other Considerations

If I were to redo this build, I would find a template to hold everything, then modify the template to fit my needs. This is what I did for my current site, and I was able to build a better-looking site at a faster pace. The update I would make is in the functionality of the job board. I think it is important to build trust, and accurate numbers are the best way to do so. In the user dashboard, the user should be able to see how many jobs are currently available. There are a lot of shady businesses that do the blurred-out “sign in to find out,” but when you sign in, you see there was actually nothing of value behind the blur. I would update the site by allowing users who are not logged in to see the first job listing for free. This would be the same job post for a 24-hour span. Under that job post, there would be a blur, but over the blur would be accurate numbers on the current job listings. How many jobs and a breakdown of the types of jobs based on the point system outlined in Part Two.

Imagining a Future for the Job Board

The goal would be to foster connections with companies, recruiters, job experts, and motivational speakers to build a platform where value is being added from all directions. Job seekers would easily be able to connect and learn from hiring managers and recruiters to see how they can update their resume to land a job. There would be interviews with individuals who have just recently landed jobs, where they can share their tips and what they did to land a position. The goal would be to grow a community and foster the development of lower-level developers. We’re not trying to sell our user base to the highest bidder but instead empower them. Then from a tactical standpoint, the more developers we develop, and as time goes on, the more leverage the job board would have in the industry.

The main purpose of this job board is to empower job seekers. It is to create a community where they can learn more, interact with developers and employers who match their career goals, and filter out the bad matches to focus their time and energy on companies who have a genuine interest in them.

img not found

Chris Snowden

Author

Hi, I'm Christopher Snowden, a Shopify developer. I enjoy building and learning about e-commerce solutions that help businesses grow. With the rise of AI, I believe it is important for developers to understand more aspects of business and have a deeper understanding of how their skills translate to profit. Let's connect and collaborate! Follow me on social media to stay updated with my latest projects and insights.