đź““ Capstone Prep: Using Employable Skills
Capstones are one of the most exciting parts of the Epicodus experience. Students tend to enjoy the freedom to explore technologies, ideas, and applications without bounds. But, before you start fantasizing about the perfect application for your favorite hobby, it might be good to take a moment and think about how this project will help you in your future career seeking.
In the dynamic field of web development, staying attuned to the skills and technologies in demand is paramount for crafting a capstone project that not only aligns with personal interests but also resonates with industry needs. A strategic approach involves delving into job postings for web developers to glean insights into the skills and technologies that employers are actively seeking.
Finding Applicable Skills​
While we’ve gone over how to approach project ideas in a previous lesson using Idea Boards, it’s easy to go in a direction with your ideas that won’t help you practice the skills that will land you a position in the career that you’re wanting to pursue.
As an example, while many students might have a passion for video games, creating a video game might not be the best project idea if you’re hoping to become a web developer rather than something in the game industry.
One way to brainstorm your project ideas while keeping them relevant to your pursuits is to start by browsing job listings on reputable platforms such as LinkedIn, Indeed,specialized tech job boards, or company hiring pages.
Keep an eye out for recurring themes in the skills and qualifications sections of these postings. These listings reflect the technologies and proficiencies valued by employers. Take note of programming languages, frameworks, and tools that frequently appear, as these might be a good indicator of current trends.
Depending on the path that you’re hoping to take, you might want to consider different types of jobs. If you’re into design, maybe look at what Front-end positions are looking for. If you have a knack for the business logic that makes an application work, take a look at jobs pertaining to back-end development or databases. You’re also welcome to take a generalist approach to your application and flex your full-stack muscles.
Take a look at this example full-stack job posting:
Job Title: Junior Web Developer - Full Stack​
Location: Anytown, USA​
About Us:​
We're a dynamic tech startup on a mission to revolutionize the digital experience. Our team is passionate about creating innovative solutions that leave a lasting impact. If you're ready to dive into a collaborative environment and grow your skills, join us on this exciting journey!
Role Overview:​
As a Junior Web Developer, you'll play a key role in designing and implementing web applications. We're looking for someone with a solid foundation in web development, a knack for problem-solving, and a passion for creating seamless user experiences.
Key Responsibilities:​
- Develop and maintain web applications using React.js and/or Next.js.
- Implement test-driven development (TDD) practices to ensure robust and scalable code.
- Work with both NoSQL and SQL databases to manage and retrieve data efficiently.
- Collaborate with cross-functional teams to translate business requirements into technical solutions.
- Stay updated on industry trends and contribute ideas for continuous improvement.
Qualifications:​
- Bachelor's degree in Computer Science, Web Development, or a related field.
- Hands-on experience with React.js and/or Next.js in a professional or academic setting.
- Familiarity with test-driven development and a commitment to writing clean and maintainable code.
- Exposure to both NoSQL (e.g., MongoDB) and SQL databases (e.g., MySQL).
- Strong problem-solving skills and a passion for learning new technologies.
Nice to Have:​
- Previous internship or project experience in a web development role.
- Knowledge of version control systems (e.g., Git).
- Understanding of responsive design principles.
Perks:​
- Competitive salary and benefits.
- Professional development opportunities.
- Fun and collaborative work environment.
- Opportunities to attend tech conferences and workshops.
How to Apply:​
Interested candidates should submit their resume, a cover letter, and a link to their portfolio or GitHub repository showcasing relevant projects to careers@techstartup.com. Please include "Junior Web Developer Application" in the subject line. We're excited to meet passionate and talented individuals who are eager to contribute to our innovative projects. Apply now and be part of our growing team!
In this example, you can see that the job post includes information about technologies like SQL, NoSQL, React.js, Next.js, MongoDB, and so on. Let's see how we might pick apart this listing to further curate an application idea.
Decoding Skills and Technology​
Looking at the above example job posting, we can extrapolate certain things that we might want to consider for our application.
This might feel intimidating at first, but you might see there are plenty of similarities between what you’ve learned so far and what is listed in here. Even if there aren't any obvious similarities, a quick search of a tool you're unfamiliar with might show you that it's not too dissimilar from something you already know!
Let's make an example list of quantifiable tools and skills we can consider when creating an application idea:
Front-End Tech​
- React.js?
- Next.js?
Back-End Tech​
- MongoDB (NoSQL?) databases
- MySQL databases?
Skills​
- Test Driven Development
- Collaboration
- Git control
In this example, we've separated out the technologies and skills that might be applicable for our brainstorming process.
An example student might want to focus on creating an idea that would necessitate a front-end application that interacts with some sort of database.
With this in mind, an example student might be swayed away from making a visually focused interactive website idea - like a portfolio or an audio visualizer - towards an application that takes data and delivers it to users - like a social media website or an exercise tracker.
You have yet to go over databases, but this will be a concept you’ll familiarize yourself with by the time you’re building out your capstone project.
As a quick rule of thumb, if data or information about any subject that needs to persist between visits, or is relying on storing information for a user to later retrieve or change, it will likely benefit or require a database.
Putting Things Together​
Once armed with a comprehensive list of skills from various job postings that pique your interest, the next step is to cross-reference these skills with your own interests and strengths. Use these in conjunction with your Idea Board to finalize the best ideas for your success.
Identify areas where your passion intersects with the skills sought by employers. For instance, if there is a demand for proficiency in a specific platform - such as mobile devices - and you have a keen interest in creating mobile applications, consider researching the necessary tools and weaving them into the fabric of your capstone project. This not only ensures alignment with industry needs but also capitalizes on your intrinsic motivation and expertise.
In essence, leveraging job postings for web developers as a source of inspiration for your capstone project in a way that is dynamic and informed to ensure that your final project not only reflects your passions but also positions you as a candidate equipped with the relevant skills.
If you’re having trouble finding what sorts of jobs you’d like to be applying for, or you’re stuck on the creative process trying to create an idea, feel free to talk with your peers or your instructor to get some feedback or alternative ideas to get you started!