Building an Online Presence as a CS Student¶
Recruiters Google you. This is not speculation — it happens before interviews, after coffee chats, and sometimes before they even reach out. What they find (or don't find) shapes their first impression before you've said a word.
A strong online presence creates passive inbound opportunities: recruiters reaching out, people finding your blog post and hiring you, your GitHub appearing in a search. A nonexistent or stale presence is a missed opportunity every time someone looks you up and finds nothing. This guide covers what to build, how to build it, and what to skip.
GitHub Profile¶
GitHub is your portfolio. For developers, it matters more than a resume in many cases because it's evidence, not claims.
Your profile setup:
- Use a professional username —
firstname-lastnameorfirstnamelastnameis ideal. Avoid handles likecodewizard99or anything you wouldn't put on a business card. - Upload a real photo. A clear headshot is fine; it doesn't need to be professional. Faces build trust.
- Fill in your bio, location, and website fields. These take two minutes and make your profile look complete.
Pinned repositories:
Pin 4-6 of your best repositories. These are what people see first. A pinned repo with no README is worse than not pinning it — it signals you don't care about presentation.
Every pinned repository needs a README that covers: - What the project is (one paragraph, plain English) - The tech stack (languages, frameworks, key libraries) - How to run it locally (step-by-step instructions that actually work) - Screenshots or a demo GIF — visual proof it works
If you have a live demo, link it. If you have a video walkthrough, link it. The easier you make it for someone to understand what you built, the better the impression.
Commit history:
The green squares on your contribution graph matter — they show you code regularly. You don't need to commit every single day, but consistent activity over months is better than a burst before applying then nothing. Build things continuously, not just when job season hits.
Open source contributions:
Even small contributions count. A typo fix in documentation, a failing test fixed, an issue triaged — these show you can navigate real codebases and work with others. Many first-timers start with documentation because the barrier is low and it's genuinely useful. Look for repos with good first issue labels on GitHub. Projects you actually use are the best starting point because you understand them.
Profile README:
GitHub has a feature where a repository named after your username (e.g., github.com/jane-smith/jane-smith) displays as a README on your profile page. Use it. Keep it short:
- Brief intro (1-2 sentences, who you are, what you're studying)
- What you're currently working on or learning
- Links to your LinkedIn, portfolio, blog
It doesn't need to be fancy. Clean and readable beats elaborate and cluttered.
LinkedIn¶
LinkedIn is how recruiters find you. Even if you hate the platform, maintaining a complete profile is worth the effort.
Headline:
Your headline shows up everywhere — search results, connection requests, emails. Don't waste it with just "CS Student at UofA." Use a formula like:
CS Student @ UofA | Software Engineering Intern @ [Company] | Python, React, Distributed Systems
Pack in your most impressive current title, your school, and 2-3 skills. This is searchable and it's what people skim.
About section:
3-5 sentences. Cover: what you're studying, what problems or areas you're passionate about, and what you're looking for (internship, new grad role, etc.). Be specific — "I'm interested in backend infrastructure and have been building a distributed key-value store in Go" is far more interesting than "I'm a passionate and driven student."
Experience:
Fill in everything — internships, part-time jobs, research positions, even significant volunteer roles. For each one, write 2-3 bullet points that describe what you did and the impact. Use numbers where possible ("reduced API response time by 40%", "onboarded 3 new engineers").
Skills and recommendations:
Add your technical skills and get endorsements. More importantly, get written recommendations — from professors you did research with, TAs you worked closely with, or internship supervisors. These are underused and stand out.
Engagement:
You don't need to post every day. But occasionally sharing something — a project milestone, something you learned, a blog post you wrote — keeps your profile active and shows up in your connections' feeds. Comment thoughtfully on posts in your field. This is how people who don't already know you find you.
Open to Work:
During job search season, turn on the green "Open to Work" banner or the private recruiter-only setting. Recruiters actively filter for this. There's no reason to hide it.
Personal Website / Portfolio¶
A personal site is not strictly required, but it's a differentiator — especially for roles where visual presentation matters (frontend, design, product). For pure backend or systems roles, it's less critical but still useful.
Keep it simple:
A one-page site that loads fast and looks clean beats an elaborate site with broken links every time. You're not being hired for your website design skills (unless you are) — you're using it to direct people to your work.
Hosting (all free):
- GitHub Pages — simplest option, deploys directly from a repo, supports custom domains
- Vercel — slightly more flexible, good for Next.js or React sites
- Netlify — similar to Vercel, excellent free tier
Templates:
Dozens of free portfolio templates exist on GitHub. Search "portfolio template" or "developer portfolio." Pick one that's clean, fork it, and customize the content. Don't spend two weeks building a portfolio from scratch when you should be building actual projects.
What to include:
- Your name and a one-liner about what you do
- Links to GitHub, LinkedIn, email
- 3-5 projects with descriptions and links
- Brief skills section
- Optionally: blog posts, resume PDF
Domain:
Buy a domain with your name. yourname.dev or yourname.ca costs $10-15/year on Namecheap. Through the GitHub Student Developer Pack (free for students), you can get a .me domain free for a year. A custom domain looks significantly more professional than yourname.github.io.
Technical Blogging¶
Writing about what you build or learn is one of the highest-leverage things you can do for your career, and almost no students do it consistently.
Why it works:
- Forces you to deeply understand what you're writing about — if you can't explain it clearly, you don't fully understand it
- A good post can rank on Google and bring consistent traffic for years
- Employers find it. "Oh, I read your post on X" is a real thing that happens
- Builds an audience over time with minimal ongoing effort
What to write about:
You don't need original research. Write about: - What you learned building a project and what surprised you - A bug you spent days solving (and how you found it) - Explaining a CS concept in plain language - Your experience at a hackathon or internship (keep it professional) - A comparison of two tools/approaches you evaluated
Platforms:
- dev.to — free, community-driven, good discoverability, no paywall
- Hashnode — free, supports custom domain, clean interface
- Medium — paywalls limit discoverability, not recommended unless you already have an audience
- Your own site — best long-term option if you have a portfolio site already
Consistency matters more than frequency. One solid post per month is 12 posts per year — more than 95% of students.
Twitter/X for Tech¶
Tech Twitter is genuinely still useful despite everything. Developers, researchers, open source maintainers, and startup founders are active and often accessible.
Follow people working on things you're interested in: language designers, ML researchers, prolific open source contributors. Read what they're discussing. Engage when you have something to add — not to network artificially, but to participate in conversations you find interesting.
Share your projects, things you built, and things you learned. Keep it technical and genuine.
That said: if you don't want to use Twitter, don't stress it. GitHub + LinkedIn + occasional blog posts is a complete and sufficient online presence. Twitter is a multiplier, not a requirement.
What NOT to Do¶
Don't ghost your profiles. An inactive GitHub with no commits in 18 months, or a LinkedIn last updated in 2022, signals that you're not engaged. Keep them current or keep them simple — but don't abandon them.
Don't lie about skills or experience. It comes out in interviews and it damages your credibility permanently. If you've only done a tutorial, say you've explored it. Don't claim proficiency you don't have.
Don't post controversial personal opinions under your professional name if you want to keep those spheres separate. This is your call, but be intentional about it. Future employers and colleagues will find it.
Don't over-engineer your portfolio site. Spending two months building an elaborate animated portfolio instead of building projects is backwards. The portfolio exists to showcase projects — if there are no projects, the site doesn't help.
Year 1 Getting Started Checklist¶
You don't need to do everything at once. If you're in first year, start here:
- Create a GitHub account with a professional username
- Complete your LinkedIn profile (photo, headline, about section, education)
- Build one project you're proud of, give it a proper README, pin it on GitHub
- Connect with classmates, TAs, and professors on LinkedIn
That's it. That's enough for Year 1. Add to it over time as you have more to show. By Year 3, you should have a GitHub with consistent activity, a LinkedIn with internship experience, and ideally a personal site or a blog post or two.
Start now. The students who build this early have a compounding advantage — by the time they're applying for internships, their presence already exists and reinforces their applications.