What Skills Do I Need to Know Before Applying to Tech Jobs?
How to tell the difference between the skills you can learn on the job and what you need to know before you get hired.
Beginners in tech often think they need to know every single skill before applying for programmer jobs — especially if they’re new to the tech industry and don’t have a bachelor’s degree in computer science or programming.
Research has shown that women feel they need to meet 100% of the criteria listed in job descriptions while men usually apply after meeting about 60% — LinkedIn behavioral data shows that because of this, women end up applying to 20% fewer jobs than men.
In Skillcrush’s Break Into Tech program, our career coaches tell students that they should apply for software engineering or design jobs when they know the majority of the core skill sets in our bootcamp’s curriculum (but not all of them!).
In fact, our Head of Career Coaching, Stephanie Ciccone-Nascimento, says, “Job descriptions are a wish list and employers don’t expect candidates to match 100% of the qualifications. So apply for the job, you have nothing to lose!”
In a tech career, there are so many technical skills that you learn on the job because every job does them differently.
As long as you have a solid foundation of tech skills, problem-solving skills, and communication skills, you can learn job-specific skills at your new company as you onboard.
Read on to see what are the core skills you really need to know before applying to software development and design jobs, and which new skills are okay to learn “on the job” at your new workplace.
Table of Contents
Skills I need to know now
Remember when we said that you need to know core skills before you apply for a job?
Even though you don’t need to be an absolute expert at every programming language, you should have a solid foundation in the important skills for your role, even if you have no real world work experience working in the field.
Below, we’re going to talk about the tech skills and frameworks you need to be confident using before you get a job (full-time or freelancing) in front end web development and design careers, all of which you learn in our online courses.
Front End Developers
HTML and CSS
HTML and CSS are the bread and butter of front end development. Without HTML and CSS, front end developers wouldn’t be able to create objects on web or app pages or style them. Compared to other languages, HTML and CSS are relatively easy to learn and master. With practice and handy dandy guides, you can bring beautiful designs to life in no time.
Git and GitHub
Git is software that helps front end developers with version control. As a front end developer, when you make changes to code, you want to track what changes you’ve made, so that you can save or undo them as necessary if the changes you make cause bugs to appear. GitHub allows companies to host their code repositories online and is a very popular tool — you’ll want to know how to use Git and GitHub to help you with the day-to-day as a front end developer.
Mobile first development
Mobile first development is a concept that you should understand as a front end developer. It’s easier to adjust the objects you code from a smaller space to a larger one than it is to compress it later on. Therefore, when you’re executing designs to improve user experience, understanding mobile first development can save you time and miscommunication in the long run.
As a designer, there are some technical skill overlaps you share with front end software developers. You may still want to know HTML and CSS but the core skills you’ll need to know as a designer are design fundamentals like color theory and wireframing. The specific tools you use will vary by company.
Color theory is a set of rules that helps determine how colors are used in design based on hue, saturation, and value. Color theory is a design fundamental because your understanding of how colors work can make or break a design — for example, too many colors can be distracting and the wrong colors can communicate an unintended message. As a designer, while the tools you might use (like Adobe XD or Figma) might change from job to job, color theory is forever.
Wireframing is diagramming a webpage’s basic structure so that it shows important features, content, and functionality. Think of website wireframing as sketching a blueprint to the site that you want to design. You can create wireframes using pen and paper as well as tools like InVision. There’s lots of demand for user experience designers, so if that’s the design career path you want to pursue, then getting good at wireframing is something you want to do.
Grid systems help you space out elements evenly on websites and apps that you design, which enhances the user’s experience and helps them read your website or app more efficiently. Grids give your designs order and symmetry by aligning and organizing your content along invisible columns. As a designer, understanding grid systems will result in neat and balanced layouts.
Userflows are paths that users will take to move through your website. As a designer, you’ll want to know how to plan userflows to best help users navigate through your site without getting lost or distracted. With a great userflow, you can help users get where they need to go on your site and find what they want in as few steps as possible. By understanding userflows, you’ll come up with better designs that will get you a great new career in no time.
HTML and CSS
Even though you may not be the person writing the code that brings your design to life, understanding HTML and CSS is important for a designer too. Knowing what can be done using HTML and CSS makes you more attractive to work with — when working full-time or even freelancing — because you understand how your design translates to the web and how difficult it will be to build.
Skills to learn on the job
While it’s definitely important that you know what documentation is and how it works using version control tools like Git and GitHub, “shop-specific” implementation of documentation is something you’ll learn on the job.
Every tech company or startup has a different idea of what gets documented, and what doesn’t, as well as how it’s documented.
For example, at smaller companies, small, incremental changes might not be as religiously documented as larger bug fixes.
As for how something is documented, some companies may choose to use GitHub while others choose different software. Some companies may push for documentation as soon as a change is implemented while others batch them.
The important thing is that you know why documentation is important and how to do it — no matter which job you get, you’ll have to do some sort of documentation — but the specifics of documentation will depend on your (new) company’s habits, definitions, and perceived best practices.
Testing is another “shop-specific” skill. Different companies have different standards when it comes to testing.
One point of difference is how often testing is conducted. Whether it’s user experience testing, cybersecurity testing, or just code testing, each company has its own testing schedule and preferences.
A startup, for example, may test quite often as it tries to arrive its minimum viable product (MVP), while an older team might test less often and prioritize creating new features and debugging instead.
Companies also use different testing tools. While you definitely should know how to use at least one testing tool, don’t panic if the company you’re interviewing for says they use a different one.
As long as you know the principles and core skills behind testing, you can definitely learn how to use a new testing tool on the job.
Writing and structuring style for your code
Another “shop-specific” skill is your code-writing style and how you structure your code. For example, depending on the company set up, your new company might prefer writing reusable code snippets over optimizing large, encapsulated features, or vice versa.
How the code you’ll be writing is styled and structured is very much a matter of preference, although there certainly are industry best practices.
While it may seem difficult at first to adapt to a different way of writing and structuring your own code, learning how to write code the way your new team likes reading it can be fulfilling — you’re challenging yourself to grow as a web developer.
In addition to writing and structuring your code a particular way, the best practices for formatting your code is also something that differs across companies.
While structuring code is about how your code is organized (using snippets that can be reused in multiple places vs. bigger blocks that only execute one main function), formatting code is more about how code is expressed visually and read by other developers on screen.
Each company and team has its own preferences for formatting code. Some companies may prefer smaller code blocks for easy readability while others prefer getting it all in there for easy accessibility.
While you may have learned to use snake case for a particular language, maybe your new company prefers camel case — there’s nothing wrong with the way you were taught; your new team might just prefer it that way.
Learning on the Job
It’s important to remember that it’s okay to not know absolutely everything there is to know about tech when you’re just starting out.
Stephanie, Skillcrush’s Head of Career Coaching, says, “If it’s your first time in your new job, you’ll likely still be looking things up and figuring things out and that is okay. It’s normal and expected to problem-solve and learn on the job.”
Whether it’s your first foray into the tech industry or you’re further along in your career, there’s always going to be something new at each company you join. It’s absolutely okay to look things up and ask questions — that’s the reason you love software development, right?