Writing a Resume with Core Competencies

A good job seeker would spare no effort to keep his recruiter reading his resume a little more than six seconds. He, just like you, would treat the core competencies section as crucial as the professional summary and career objective in his/her resume. 

Additionally, adding effective resume core competencies would help your resume pass the ATS scans and other resume examining bots. Next are the best ways to incorporate core qualifications in your resume!

7 Biggest Mistakes Freelance Designers Make That Will Ruin Their Career

When you’re a freelancer and you start to work directly with your clients, there’s something crucial you need to know.

Your design is not the one and only, most important aspect of the transaction.

While presenting your client with an amazing design is the final goal, there are a lot of other things at stake that could make or break your business deal.

 

There are 7 things that could potentially ruin any partnership with a client, and they have nothing to do with your design style.

7 Biggest Mistakes Freelance Designers Make And How To Avoid Making Them

I don’t want you to have to make the same mistakes I’ve made when I was a beginner freelancer.

Today, I want to learn from my mistakes and avoid these 7 deadly sins of freelance graphic designers.

1. Poor Communication Skills

Poor communication is the biggest bummer of all the freelance design mistakes that you could make.

Everything you do and the way you’re going to make your client feel is all going to come back to how well you communicate with your client.

Now, communication is a two-way street.

If you and your client don’t communicate exactly what they’re looking for and what you’re capable of doing, then you’re going to find yourself working all-nighters to revise mistakes that could’ve easily been avoided had you communicated.

Some clients are angels, and some are the opposite.

Some clients will verbalize exactly what they’re looking for, and others will give you the vaguest idea of what they want and let you try to figure it out, which sometimes is a blessing, and others, a curse.

One way you can avoid poor communication is by creating a list of basic questions you want to ask each of your clients, regarding their expectations of what your design will be.

Decide what platform you’ll be communicating through and make sure you set hours you will be readily available to discuss changes and set your notification to loud so you never miss a beat.

If you ever feel like a client is being rude, take a deep breath, decide whether you’ll continue working with them or not, then write them a calm message. Remember: things on the internet last forever! Don’t let one snooty client ruin your reputation.

2. Limited Number of Revisions

Nothing is worse than thinking you finally finished a design that you’re happy with and proud of, you just presented it to your client, and they don’t love it.

They want you to revise it.

The number of times you agree to revise your project is something you will need to have discussed beforehand.

Not everyone will be on the same wavelength, so it’s important you decide how many times you will change the final version of your design, and what you will charge if they ask for supplementary changes.

And what do you know it, this all leads back to good communication.

Don’t let people walk all over you, but also don’t be so prideful you won’t make any changes. It’s a beautiful and delicate balance.

3. Not Fulfilling Client’s Needs

Speaking of being prideful, sometimes, you have to suck it up and make a design that you’re not completely proud of.

Lots of clients have complained that some designers they worked with only had themselves in mind when creating their design.

Needs and requests were not met, therefore leading to awful conflict and probably bad word of mouth followed shortly after that.

Try to sus out the vibe of what your client is looking for and see if the style aligns with yours. If it does, awesome!

If it doesn’t, decide whether or not you’re going to do the work anyway and get that coin, or whether to respectfully decline the offer to work with them.

4. Missing The Deadline

When you’re your own boss, it’s easy to get behind and have no “work anxiety” or drive to finish your work on time.

But a good reputation is crucial and constantly missing deadlines is a terrible way to do things.

Set up a deadline that you really think you can make.

Don’t think your Superman or Superwoman, and can handle 10 projects that are all due by next week.

Take on what you know you can handle, and discuss that with your client.

Everyone understands a pushback here and there, but don’t make that a habit.

People might eventually perceive you as lazy, and that’s not what we’re going for here.

5. Mispriced Work

Listen, you gotta know your worth.

In saying this, you should know how much to charge.

Don’t undersell yourself, because you’re the bomb!

But don’t overcharge either, because people don’t like it when someone takes advantage of them.

Give them a quote, and negotiate from there.

6. Not Making Clients Feel Like a Priority

No one likes to feel unimportant.

And maybe you’re not making your clients feel unimportant intentionally.

Sometimes, we all take on more than we can handle.

But if your clients don’t feel like a priority, they might cut your work contract short, or choose not to work with you again in the future.

This mistake goes hand-in-hand with missing deadlines. You can’t take on so much that you will make people feel unimportant.

Everyone wants to feel heard and important, and some companies or clients are cut-throat and won’t work with you again if you don’t make them feel like they’re important to you.

Do your best to make your clients know they’re important to you and you’re doing your best.

Communication, communication, communication.

7. Wasting Time

The final thing I want to talk about is wasting time.

When you work from home, it’s easy to get distracted.

Blame it on your pets or a messy kitchen, and then suddenly you’re 5 hours behind schedule and things are getting out of hand.

I have a whole list of things you can do to stay productive while working from home that will help you stay on top of your A-game.

Make sure you make a good schedule for yourself, one that works for you.

Don’t waste too much time on things that don’t matter. The dishes can wait. Or maybe, they can’t. You should definitely have a clean workspace. But right after that, get back to work!

Wrapping up

Everything is a learning curve, and while you start working from home, take advantage of all the freedom that comes with that, but make a good name for yourself and do your best.

What other giant mistakes do you think designers make that we should cover?

Let us know in the comments.

Until next time,

Stay creative, folks!

 

 

Read More at 7 Biggest Mistakes Freelance Designers Make That Will Ruin Their Career

6 Tips to Consider While Hiring Emotionally Intelligent People

Emotional Intelligence Codified

Emotional intelligence is intelligence at a higher level and includes qualities such as emotional awareness, empathy and perfect identification of other people’s moods as well as managing the mood of the self. A leader’s emotional intelligence has an impact on the workplace, as it emphasizes their personal relationship traits.

In fact, leaders who have high levels of emotional intelligence can easily communicate and work with all their stakeholders – be it customers, partners or co-workers. This will eventually develop a positive and productive workplace. In fact, if all the managers of the top management had a high level of emotional intelligence, there would be strong sync within your team, thereby empowering every associate to put his/her best efforts to make a mark.

New Year, New Job? Let’s Make a Grid-Powered Resume!

Many popular resume designs are making the most of the available page space by laying sections out in a grid shape. Let’s use CSS Grid to create a layout that looks great when printed and at different screen sizes. That way, we can use the resume online and offline, which might come in handy during the new year!

First, we will create a resume container, and our resume sections.

<article class="resume">
  <section class="name"></section>
  <section class="photo"></section>
  <section class="about"></section>
  <section class="work"></section>
  <section class="education"></section>
  <section class="community"></section>
  <section class="skills"></section>
</article>

To start using Grid, we add display: grid to our outer resume element. Next, we describe how things should be placed on the grid. In this case, we will specify two columns and four rows.

We are using the CSS Grid’s fr unit to specify how many fractions on the available space to give. We will give the rows equal space (1fr each), and make the first column two times wider than the second (2fr).

.resume {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr;
}

Next we will describe how these elements should be placed on the grid by using the grid-template-area property. First we need to define a named grid-area for each of our sections. You can use any name but here we will use the same name as our sections:

.name {
  grid-area : name;
}

.photo {
  grid-area : photo;
}

/* define a grid-area for every section */

Now comes the fun part, and one that makes changing the design a breeze. Place the grid areas in the grid-template-areas property how you want them to be laid out. For example, here we will add the name section at the top left of the the grid-template-area to place our name at the top left of the resume. Our work section has a lot of content so we add it twice, meaning that it will stretch over two of the grid cells.

.resume {
  grid-template-areas:
    "name photo"
    "work about"
    "work education"
    "community skills";
}

Here’s what we have so far:

See the Pen
grid resume lines
by Ali C (@alichur)
on CodePen.

The CSS Grid specification provides many useful properties for sizing and laying things out on the grid and well as some shorthand properties. We are keeping things simple in this example by showing one possible method. Be sure to check out some of the great resources out there to learn how best to incorporate CSS Grid in your project.

Adjusting layout

grid-template-areas make it very easy to change your layout. For example, if you think an employer will be more interested in your skills section than your education you can switch the names in grid-template-areas and they will swap places in your layout, with no other changes required.

.resume {
  grid-template-areas:
    "name photo"
    "work about"
    "work skills"  /* skills now moved above education */
    "community education";
}

See the Pen
grid resume swapping sections
by Ali C (@alichur)
on CodePen.

We can achieve a popular resume design where the thin column is on the left with minimal CSS changes. That’s one of the nice things about grid: We can rearrange the named grid areas to shift things around while leaving the source order exactly where it is!

.resume {
  grid-template-columns: 1fr 2fr;
  grid-template-areas:
    "photo education"
    "name work"
    "about work"
    "skills community";
}

See the Pen
grid resume left design
by Ali C (@alichur)
on CodePen.

Dividing columns

Perhaps you want to add personal references to the mix. We can add a third column to the grid template and slip those into the bottom row. Note that we also need to change the column units to equal fractions then update the template areas so that certain elements span two columns in order to keep our layout in place.

.resume {
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas:
    "name name photo"
    "work work about"
    "work work education"
    "community references skills";
}

See the Pen
grid resume split columns
by Ali C (@alichur)
on CodePen.

The gap between sections can be controlled with the grid-gap property.

Making it responsive

For small screens, such as a mobile device, we can display the resume sections in a single full-width column.

grid-template-columns: 1fr;
grid-template-areas:
  "photo"
  "name"
  "about"
  "work"
  "education"
  "skills"
  "community"
  "references"
}

Then we can use a media query to change the layout for wider screens.

@media (min-width: 1200px) {
  .resume {
    grid-template-areas:
      "name photo"
      "work about"
      "work education"
      "community skills";
  }
}

Additional breakpoints can be added in between. For example, on medium screens like a tablet, we might want everything in a single column, but the personal and image sections to sit side-by-side at the top.

@media (min-width: 900px) {
  .resume {
      grid-template-columns: 2fr 1fr;
      grid-template-areas:
        "name image"
        "about about"
        "work work"
        "education education"
        "skills skills"
        "community community"
        "references references"
  }
}

Planning for single-page printing

If you want your resume to print nicely to a single piece of physical paper, there are a few things to keep in mind. The hardest challenge is often cutting down the number of words so that it fits on one page.

Avoid reducing the font size to squeeze more information, as it may become hard to read. One trick is to add a temporary size constraint to your resume element just while while you are developing.

.resume {
  /* for development only */
  width : 210mm;
  height: 297mm;
  border: 1px solid black;
}

By making this A4 paper-sized border it will be clearer to see if the sizes are too small, or the content spills out of the border, indicating it would print onto a second page.

You can provide printing CSS to hide things, like the date and page numbers, that the browser may insert.

@media print {
  /* remove any screen only styles, for example link underline */
}

@page {
  padding: 0;
  margin: 0cm;
  size: A4 portrait;
}

One thing to note is that different browsers may render your resume with different fonts that can vary slightly in size. If you want a very precise printed resume, another option is to save it as a PDF and provide a download link on your site.

Browser support

CSS Grid has good support in modern browsers.

Internet Explorer (IE) supports an older version of the CSS Grid specification using prefixes. For example grid-template-columns is written as -ms-grid-columns. Running the code through an Autoprefixer can help with adding these prefixes, but manual changes and thorough testing will be required because in the old specification some properties behave differently and some do not exist. It’s worth checking out Daniel Tonon’s article on how Autoprefixer can be configured to make things work as well as possible.

An alternative approach to autoprefixer is to provide a fallback, for example by using a float layout. Browsers that don't recognize CSS Grid properties will display using this fallback. Regardless of whether you need to support IE, a fallback is sensible for ensuring (potentially unknown) browsers that don't support CSS Grid still display your content.


Even if you’re not ready to host an online resume, it is still fun to play around with CSS Grid, explore different layouts, generate a great looking PDF, and learn an awesome part of CSS at the same time.

Happy job hunting!

The post New Year, New Job? Let’s Make a Grid-Powered Resume! appeared first on CSS-Tricks.

Contribution Time, Sponsored, and Teams Fields Added to WordPress.org User Profiles

A new section named Contribution has been added to WordPress.org user profiles. This section contains fields that enable users to share how much time they contribute to WordPress on a weekly basis, which teams they contribute to, and whether or not those contributions are sponsored.

New WordPress.org User Profile Fields

Each field is optional and will only appear if the Hours and Teams fields are filled in. The sponsored tag will only appear next to the Contributions heading if you answer Yes to being sponsored and the other fields are filled in.

Andrea Middleton describes these fields as a step towards a possible version one of the Five for the Future program that was published last year.

“I think it will also help with transparency, and might facilitate how teams set internal expectations for how much time different contributors might have to spend on a project or ongoing task,” she said.

In addition to the profile fields, the official WordPress Jobs Board has also been updated to include a new Contributor position. The goal is to make it easier for companies to find and hire people interested in becoming sponsored contributors.

These changes are the first iteration with plans to enhance them in the future. If you have any suggestions or ideas on improving these fields, you’re encouraged to leave a comment.

One question I have regarding potential additions is whether or not it makes sense to provide a text field where users can name the company that is sponsoring them. This may aid in transparency and avoiding conflicts of interests.

On the other side of the coin, does it make sense for the company’s name to be public information, or should contributors only share that information with team leads or reps on a 1-on-1 basis?

I feel as though knowing someone’s contributions are sponsored is only half of the equation. Without knowing who the sponsor is, that information is practically irrelevant.

How to Find a Marketplace to Sell Your Designs

Once you have finished your batch of logos, website design, or whatever creative work you made, you need a marketplace to sell it on. There are a vast number of websites out there for you to choose from.

Selling your designs is a very easy way to make some extra money and to expand your brand. Whether you are an illustrator, 3D artist or logo maker, there is a demand for your creative work.

There is no longer a need to build your own website to sell designs. Now, it is easier than ever to list your work on ecommerce websites to help you reach thousands (if not millions) of people. This article will help you find the one that best suits your needs.

Creative Market

Screen from Creative Market

“Empowering creators to make a living doing what they love” is a phrase that Creative Market uses to describe what they offer and this holds very true. Creative Market has a network of about 5.9 million potential customers that could be interested in purchasing your work.

This marketplace is used to sell graphics, WordPress themes, stock photos, and many other digital goods. There are many success stories from sellers using Creative Market to sell their goods and making a lot of money doing so. Stories such as Nicky Laatz, a South African shop owner, who has earned more than $1,000,000 selling her work on Creative Market.

Envato Elements

Screen from Envato Elements

Envato Elements is a digital marketplace that allows creators to sell multiple digital goods such as graphics, fonts, WordPress themes, web templates and photos – along with many more digital items.

The company believes in supporting independent designers and that when the community succeeds, the company succeeds. With this belief they share an even 50% of the net revenue with their designers and sellers. This marketplace is driven exclusively by the community of designers who sell their work with them. Envato Elements is a great way to get paid for your creative work.

DesignCuts

Screen from DesignCuts

DesignCuts is a digital marketplace that is driven by the community. They are very selective in who they allow to sell on their marketplace. Taking a visit to their website, you will see the quote “We’re very exclusive and work with only the best designers in the world, curating the highest quality marketplace around.”

This means it is tough to become a seller on their marketplace. But once you do, you will be part of a small group who has access to a large share of potential customers.

The Hungry JPEG

Screen from The Hungry JPEG

The Hungry JPEG began in late 2014 as a website to help designers and crafters navigate the design world. By mid-2015, they launched a shop to give designers a way to make money from their craft.

They offer a wide range of products, from handmade goods to website templates. If you choose to sell on The Hungry JPEG, you will earn 70% of every sale you make – one of the highest numbers of all the websites on this list.

Also, they do not ask for an exclusivity deal – meaning you can list your products on their website and any other websites of your choosing. They also offer an automated product delivery system so your items are always selling, even when you are away.

YouWorkForThem

Screen from YouWorkForThem

YouWorkForThem has been around since 2001 and is one of the oldest online marketplaces. They are privately owned and run by a group of designers who know what is best for the designer.

They are used by many major brands such as Nike, Coca-Cola, Whole Foods Market, Starbucks, Amazon, Samsung and many others. YouWorkForThem splits the profits 50/50 with all the designers who sell fonts and stock art. On top of that, they will market your designs on their social media outlets, like Facebook and Twitter, that have a combined audience of nearly 80,000 people.

Etsy

Screen from Etsy

Etsy is one of the largest global marketplaces around. With a concentration on handmade goods, jewelry, and clothing, you can also find digital goods such as website designs.

They are also one of the easiest places to sell your work, but this ease and large user base also creates more competition. Etsy does offer affordable ways to list your work with prices as low as $0.20. With the many tools that Etsy provides, it is very possible to become a successful seller on their website.

Society6

Screen from Society6

Society6 is very similar to Etsy in that it focuses on selling handmade crafts and goods. Their market mostly consists of artwork that goes on products like mugs, phone cases, and t-shirts. This is the place to get your work in front of thousands of people and a network that grows every day.

Template Monster

Screen from Template Monster

Template Monster has been in business since 2002 and from the get-go they changed the way websites are built. They specialize in offering web templates and other related digital goods.

You’ll find WordPress themes and plugins, CMS templates, fonts, and illustrations along with many more digital products to sell and buy. Every month they add nearly 400 new products in all the categories mentioned above.

They also offer 24/7 customer support for sellers and buyers, making it easy to handle any problems you may come across when using their marketplace.

Big Cartel

Screen from Big Cartel

Big Cartel has been around for 14 years and in that time, they have helped artists sell over $2.5 billion in creative work. They enable sellers to create their own store with many customizable features to make the experience as personal as possible.

The freedom they allow you to have with selling your work is everything a designer could want from a marketplace.

The Power of Community

One of the common threads of each of the marketplaces above is their reliance on a community. The strength of these virtual places, and the work they produce, is what keeps them going. The stronger the community, the bigger potential audience you’ll find.

In that way, deciding where to sell your own work is just as much about deciding which community is the best fit as it is about profits. Fortunately, there are a lot of high-quality options for just about every designer!

WordPress Professionals: Take the Future of WordPress Careers Survey

Nevena Tomovic, a Business Developer at Human Made, is researching the most important skills for pursuing a career in WordPress. She is conducting a survey for professionals that is open to anyone working in a WordPress-related capacity, including writers, developers, marketers, UI & UX designers, illustrators, community drivers, evangelists, project managers, and creatives.

The survey takes less than five minutes to complete and the results will be shared at WordCamp Europe in Berlin and on nevena.blog. Tomovoic will be giving a presentation titled “Renaissance jobs in WordPress: Skills you need to survive the 21st-century career,” where she will elaborate on global trends related to the job landscape. She will also be speaking about how employers and managers can attract new talent through WordPress education.

In a recent post on her blog, Tomovic elaborated on the concept of “Renaissance jobs,” positions that use titles merging multiple skills into one role:

Renaissance jobs, also otherwise known as hybrid roles are a mishmash of more than one skill, a combination of expertise in more than one domain. You might have come across roles such as experience architect, user experience consultant, or even customer wrangler, all of these typically involve technical knowledge, excellent communication and management skills. All of these roles are a completely foreign concept for most of our parents. The 21st century has brought with it remote work, chief growth officers, and a globalized workforce among other things.

Tomovic’s survey data will identify what skills are most important in the WordPress job market right now. The survey does not collect any personal data and the raw data will be deleted after the results are published.

If you want to check out Tomovic’s talk in person, make sure to purchase a ticket to WordCamp Europe. The final batch of tickets has gone on sale and there are only 133 general admission tickets remaining.

Interviewing for a Technical Position Doesn’t Have to Be Scary

Jacob Schatz (@jakecodes) is a staff engineer over at GitLab and was kind enough to share how he conducts job interviews for technical positions and his thinking process for them. Technical interviews are talked about often and can be a touchy subject for some, so it’s worth noting that this article expresses Jacob’s own opinions and are not necessarily shared by his employer.

Are you an interviewee who is terrified, exhausted, sad, or disappointed? I'd love to change that stigma.

I believe that people can have a great interview experience, and that I can simultaneously find the right candidate. Both things can happen at the same time! After your interview process is over, in a perfect world, regardless of outcome, you should feel good about yourself and the process. You might feel sad that you didn't get the job or excited to start your new job, but you should understand why in either situation.

At GitLab, I was put in charge of hiring very early on, and as such, I've seen thousands of resumes. When I first joined, I was asked to hire and form a team of front-end developers. I was employee #29 (we now have 500+), and I was the first front-end developer, so there was no hiring process for our team. We gradually created a process.

This article is aimed at both the interviewee, and interviewer. For the interviewee, I want you to know what a perfect interview can be like. Interviewing should not be scary or intimidating. This is a guide you can follow to do your part in creating the perfect interview. If you are an interviewer, maybe you have perfected your process. This is my view on how interviews can go in a perfect world. There are all different types of interviews, and this article focuses on interviewing developers of all experience levels. Over the years, I’ve latched on to some great processes, and this article is a behind-the-scenes look at that process for both sides of the candidacy.

Before I begin, it's important to remember that everyone is human and humans are not perfect. There are no perfect developers. Treat everyone like a regular human being. It's OK to be amazed at what some people are doing, but not OK to worship others. Talent is both congenital and acquired and you can acquire it too. Your interviewer and you are both imperfect. Interviews should not be focused around perfection. Here's what interviews should be.

Five things I look for in a candidate

The GitLab Values cover a lot of great points and you should read it. This is loosely based on those.

As an interviewer, I can only focus on so many things at once while being a productive, active listener. But I do have five specific things I am try to focus on:

  1. Does this person have a "good head on their shoulders"?
  2. Is this person technically where they need to be for this role?
  3. Is this person going to be self sufficient in this role?
  4. Does this person communicate well and will they communicate well with the team?
  5. Does this person handle positive and negative feedback well?

There are other things I'm looking for, of course, but these five things are enough to get you the job you want if you’re interviewing with me.

Forget nervousness. I won't ever hold it against you. I know you may be nervous, and that's totally fine. There is the rare occasion that nervousness becomes a debilitating factor, and in those cases, I just ask that you reschedule. Just don't hang up on me!

Recognize there's going to be bias

We have training on bias at GitLab. One thing I learned from the training is that everyone is biased, whether or not you think you are. At one point, I had the idea of doing blind interviews like they do for some orchestras. We never implemented it (and it would be tough) but that's why I keep a list of questions and a summary of what I want to cover in each interview. Each interview has a script I can follow. Everything is as repeatable and similar as possible. As the interview progresses, I'll be able to tell if I can hit the harder questions. Harder questions are not there to disqualify people, but to qualify people. If you get to my hard questions it means you have a ton of experience and knowledge under your belt. It's really important to know that I must ask trivia questions in some form but I don't qualify candidates based on trivia questions. It's about figuring the depth of your JavaScript knowledge and programming in general.

That being said, there is still one trivia question no one has ever gotten right. I'll just keep asking it, and I am sure some day, someone will get it. Trivia questions are fun, because I am a major JavaScript dork. I just love talking about all the ins and outs of JavaScript. I am looking for people that can be my coding buddy. Hiring people is about finding other people you can work with, not people that will work for you.

I want to know you're technically sound

This may be people's worst fear. The part of the interview where we ask questions like, "Why are manholes round?" The truth is that some companies may ask the medium-to-hard questions from LeetCode, and some may never ask any technical questions.

What I'm looking for in your skillset

Experience speaks louder than any technical interview question I can ask. For example, if I'm hiring for a front-end engineering role and someone tells me they built their own cool things that we can talk about, then that's awesome. I still may need to throw some more questions their way after that, or maybe the demo answers all my questions (though unlikely, but possible). But if we can walk through the code of something that you are super proud of, that’s great.

It’s helpful if you can tell me about something that you built for another company where I can see your code, or you can explain it sufficiently enough. What were the challenges? How did you deal with 10,000 comments? How did you deal with mobile? What were some challenges? I'll give you an example: You built the comment system for GitLab. For the comment system, an interesting challenge was dealing with loading users for the @ drop-down to mentioning other users. It turns out that the JSON payload for that drop-down can get quite large and loading it on page load makes the page load significantly slower. But loading that data on the first @ keypress is also slow because the payload can be more than 10 MB. We want the user to have a seamless experience and not realize the data needs time to load. So, a good way to talk about that experience would be to describe some of the approaches you considered, like:

  1. Load the data when the comment box first appears in the viewport.
  2. Load the data on the user's first mouseover of the textarea.
  3. Load the data once the user starts scrolling with enough momentum.

That last one isn't a boring solution, but is something I've heard someone say in an interview.

I might ask about algorithms and data structures

Hey interviewers, are you hiring someone for your marketing site? Don't ask them the hardest algorithms and data structure questions. Yes, algorithms and data structures play a huge part in everything, but it's more important that the candidate knows about responsive design, and maybe animations, and performance. Since we are talking about performance, they should know about Big O notation. They should know what causes re-paints. Look at Firefox Monitor and compare it to Salesforce. Everything about the Firefox site is much more snappy. Why is it more snappy? Why is the Salesforce site so chunky and slow? Resize them... oy vey! Big O would probably help you explain some parts, but being able to explain the whole picture is important.

Quick aside on Big O notation since I brought it up.

Big O is a way of describing the time your code will run in and/or the memory space your code will take up in a worst case scenario. I think it's really great to learn, and helps out in every day programming. You can and should learn it, which might take about an hour. After one hour, done or not, you’ll more than likely be prepared for any legitimate Big O question that interviewers would ask.

Big O is not something you need to take a course on. Here are some articles that can explain it to you in under an hour:

OK, back to algorithms and data structures in interviews.

Since there's a chance these types of questions will come up, it's worth doing a little homework in advance. There are two typical gold standards when studying for interviews that ask about algorithms and data structures.

There are many other things that are recommended for algorithm and data structure, heavy coding interviews, but rather than memorizing every example in the world (which won't solve any problems for you), it's better to learn how to solve these problems.

As I said above, front-end engineers should learn Big O for their health, because it's good for you, like eating your Wheaties. Interviewers should not ask extensive algorithms and data structure questions unless the job requires extensive knowledge of them. If I was designing a front-end framework, say like Vue, it would be important to optimize a DOM diffing algorithm or at least understand the implementation of the algorithm you are using. But does that mean I would ask seven extra hard questions from a CTCI? No. You are testing for understanding, not for memorization. When people work through these questions (when I ask them), I want to see that they thought through the problem and we worked it out together more than I want to see that they got the right answer. It's all about figuring out what you will be able to do, as an engineer, when you get the job — not what you memorized yesterday. A person who has knowledge of algorithms is going to be better at implementing them than someone who has to learn them on the job.

Are you hiring someone to build a dependency management system? This person needs to know a lot about algorithms and data structures.

These are two extreme ends of the spectrum, but in my opinion, not everyone needs to know how to write a red-black tree from scratch — but everyone should understand Big O. However, it will dramatically improve your skills as a software developer to learn typical algorithms and data structures.

When I do ask algorithm and data structure questions here are a few I do ask:

  • What is a linked list and can you show me how to implement one with and without an array in JavaScript?
  • What is the difference between BFS and DFS and can you implement one of them?

Getting these wrong will not disqualify anyone. Remember, I don't use trivia to qualify people.

Do you have a good head on your shoulders?

There are a lot of soft skills I'm looking for as well during the interview. It's my way of determining whether you have a "good head on your shoulders."

Pedantically speaking, that means you make good decisions, but it's much more than that to me. People who have a good head on their shoulders make sound decisions. It's good to have different opinions than me, but there is a standard of knowledge we should agree on. For example, we should all agree that laying out an entire blog with only absolute positioning is a bad idea. That is not a sound decision.

But I might create a scenario like this to check on those skills:

Let's go into CodePen and create a static blog homepage. We'll need a navigation menu, and we'll need a place for the title and article, and then at the bottom let's have some comments and a footer.

I'd then talk you through different ways you could create the navigation and the pros and cons to each. For a lot of the front-end developers I hire, I'd like to know that they know some core JavaScript so I might ask them add some small functionality using only vanilla JavaScript.

When a framework does everything for you, you don't need to do things yourself. I want to know that you get the whole picture.

A “good head on you shoulders" is a fancy way of telling me that you have your crap together. This is not an exhaustive list, but are the types of things that catch my attention:

  • You take care of yourself
  • You speak professionally (this has more of an impact than most people know)
    • Leave out super personal details
    • Answer questions succinctly
    • Take time to think
    • Say, "I don't know," when you don't know
    • Be confident, but not cocky, even if you aren't
  • You finish what you start
  • You are honest
  • You are able to say no
  • You know what you want and you want to help others get what they want
  • You'll disagree and even debate, but know when to let something go
  • You are able to effectively communicate in an interview
    • Is this conversation easy or exhausting?
    • Are you fluent in English? Accents are totally OK!
    • Do you grasp the concepts being discussed?
  • You’re a kind person.

On that last point: kindness doesn't mean you are a pushover. Kindness is a major part of challenging others and giving feedback.

I want to see that you are self-sufficient

It seems obvious now, but I am convinced — after working at GitLab — that self-sufficiency is what interviewers should seek in everyone being hired. Self-sufficiency plays a big part in your role in the company.

For example, to go extreme, think about a GM, who may have the least amount of external direction of anyone on a team. Everyone has responsibilities, but a GM must often be good at many things, including (but not limited to) marketing, sales, and management. All this changes based on the size of the team. Their role may be the most vague. They are very self-sufficient. A senior developer (in my opinion) should be able to take on an entire large piece of functionality and implement it properly.

This is not to say a developer shouldn't communicate during the process. They should ask questions, and pair with other people to find the best way forward.

Reviewing an interviewee’s code has the opportunity to be boring (in a good way) as we know what to expect from them. We are relying on them to mentor less experienced developers. Junior developers should be self sufficient too, but probably won't take on large initiatives alone. Junior developers often work great in small chunks. For example, it might be a great thing for a junior developer to take on the smaller tasks that a senior developer has on a larger project. Senior developers can also mentor junior developers and nudge them in the right direction to help them become more self-sufficient, which is a great thing for both parties — and also a great thing for the manager, as they can delegate more work to a senior developer.

If you are a front-end developer and need hand-holding at this point in your career, that is totally 100% OK, and everyone has been there. Or, if you are applying to a lot of places and not getting anywhere, and are extremely frustrated: I suggest that you become a little more self-sufficient before you apply. One way I suggest to become more self-sufficient and nab that job you want: Forget code examples, little shopping cart apps, and their ilk, as they don't fair well for job interviews. Build something full-fledged for someone and do it for cheap or free. Find a church, synagogue, homeless shelter or someone near you and offer to make them a website.

Just remember that free clients are often the worst clients. It will be worth it when you can say that you've done work for a few clients. For bonus points, document your work in a few blog posts. This stuff looks great on resumes and will make you stick out from the rest. I know that anyone can get an easy website through Wix or other site building platforms, but there's nothing like a wonderful custom-designed website. I think I made around 10 or so websites before I had my first programming job. I could fill a book with crazy stories from those times.

Communication and feedback is key

This is another point that seems obvious, but is hard to do right. Communication is well documented in the GitLab Handbook so I won't cover it, except to say that I follow GitLab's values and we are looking for others who desire to follow those values as well. Positive and negative feedback is also well documented in the GitLab Handbooks, so I won't cover it here.

How I go about the rest of the interview

Because we interview a lot of candidates at GitLab, we follow a common flow so we can repeat it easily. I won't go into specifics about our interview process, because it's constantly evolving. But, in general, this is the flow I follow.

Tell me about yourself

You'll get asked the famous question that goes along the lines of "tell me about yourself," "tell me what you've been doing," or "tell me about your time at [Company Name]." When I ask this question, I am trying to find the connection between the job you applied for and the jobs you've had in the past. It's good to find the common ground ahead of time.

Like, for example, as an employee of GitLab, if I were personally applying to a FAANG as a front-end engineer, I am sure both GitLab and that company are trying to get page load times to be faster. Maybe I noticed there were 26K event listeners on a page when I first joined GitLab and was able to reduce it down to 0, decrease the loading time by 50%, down to a speed of 200ms. I am sure this would be something relevant to the conversation.

So, as an interviewee, I might say something like this:

"Hi! I am a front-end engineer at GitLab, I've been here for 3.5 years and during my tenure I've made a ton of huge improvements, some of the areas I loved working on are performance, UX design implementation, and architectural design.

You don't want to get into tons of details at this point, but it's good to give the interviewer some facts to work with. It is frustrating when I ask this question and someone goes into a 10-minute detailed account of their entire career.

What made you apply to our company?

The interviewer might ask, "What made you decide to apply to our company?" Hopefully, you are excited to work at this company — otherwise, why bother applying for it?

For some reason or another, this question often sends a candidate into overdrive and they wind up mixing up the name our company. That's perfectly normal behavior, especially if your company sounds like another company.

What I'm looking for at this point is to see whether you are just looking for a job or that you’re really excited to work with us. We want people who really want to work with us. This is when I can also see if a person knows anything about our company. For example, some people like our values, have read them and want to work at a company with these values. Some people want to solve big problems like the ones we are tackling. Some people have seen talks and read articles from our team and would love to work around smart people like them.

What are your five things?

Lastly, I like to ask if a candidate has any questions for me. This is an important part of the interview, and you should extensively think this through beforehand. Your goal is to make me respond with: “Oooohhh, great question!" On one hand, I am truly trying to answer any questions you have, so don’t be shy. On the other hand, I am also trying to gauge your interest in the job, so something like, “Uh, I dunno," is usually a big bummer to hear because it signals that maybe you’ve tuned out, or the job is not interesting to you. that’s can leave an undesirable aftertaste.

Look up your interviewers and find out about them. Doing this in advance can be an eye-opening exercise. You might find out about their customer acquisition strategy which could lead to a ton of other interesting questions. If the company is a startup, do they plan on being acquired, or do they want to IPO? When you have a clear, well-thought question, it makes you sound professional, which again, is one of the things I listed as important.

If you can’t think of any questions to ask, then do you really want this job in the first place? If the interviewer has a personal website, go check it out, and if nothing else, you can ask them about the comic book they wrote and posted to their website.

But I’d advise:

  1. Ask the interview questions that you are generally interested about. Think about this before the interview because a really thoughtful question generally improves your candidacy quite a bit.
  2. What are you, the candidate, looking for in a company? What does this person, the interviewer, need to prove to you in order for you to take this job?
  3. Do these people have a good head on their shoulders like you do? It works both ways, you know.
  4. Does this look like a fun job? Do you even want a fun job?
  5. Who would you report to? Did you talk to them? Will you get a chance to during the interview process?
  6. Are you underrepresented? Like, are you replacing someone or filling a new role? How many others will be doing what you’re doing? What signs should other underrepresented people look out for? What signs would show you that this is a good environment for you?

Don't ask about money or benefits at this point; those things can (and likely should) be covered with a recruiter introduction call before you get to a person like me.

Conclusion

Interviewing, unlike programming, is not an exact science. You’re trying to prove that you are excited about the prospect of working with a company. You want to prove this to the interviewer and yourself. Hopefully, you want a job that is interesting. This guide isn’t a script to follow, but more of a few loose ideas to help you get into the mindset of the interviewer, with a few tips for other interviewers strung in there as well. Maybe I pointed out things you might not have known before.

Just remember that, in theory, interviewing should not be a scary process, but more of a find-some-buddies-to-work-with process.

The post Interviewing for a Technical Position Doesn’t Have to Be Scary appeared first on CSS-Tricks.

Insights from Recent Web Developer Surveys

Surveys offer a wealth of extremely valuable information. For the web developing world, this can have huge implications. Have you ever wondered where the people in your field are working, what tools they’re using, and how long they’ve been in the business? What’s your competition and where should you be devoting your time?

Thanks to numerous web developer surveys, all of these questions can be answered. Let’s see what insight can be gleaned from these thousands of responses.

The State of Javascript

The State of Javascript

JavaScript has a huge range of libraries, and it can get overwhelming. Over 20k JS developers helped shine some light on the situation.

If you’re searching for a small, but potentially profitable niche to break into, Reason, ClojureScript, and Elm look like the best candidates for JavaScript flavors. Vue is also a steadily growing front-end framework worth looking at. There’s much more data for back-end frameworks, data layers, testing frameworks and more.

The State of CSS

The State of CSS

This survey hasn’t yet been released, but with 10k respondents, it’s sure to be enlightening. Keep an eye out or enter your email so you can know where this constantly-evolving language is going.

Stack Overflow Developer Survey

Stack Overflow Developer Survey

Stack Overflow is a gigantic hub of developer knowledge, so it’s the best place to run a long survey.

Almost 60% of developers are back-end, and near 50% full stack. 20% work in mobile, which explains the steadily growing market. Python has surpassed C# in popularity, so if you’re thinking of trying it, get on the bandwagon now.

Engineering managers, DevOps specialists, and data scientists/analysts have the highest salaries among developers – mobile and game devs the lowest.

Front-End Tooling Survey

Front-End Tooling Survey

5k front-end developers answered this toolkit survey, which was compared to one done in 2016.

A decent portion of CSS developers prefer using no pre-processor or framework at all, but popular tools include Sass, Bootstrap and Autoprefixer. Overall, CSS users seem to be moving towards cleaner code with usage and knowledge of methodologies, linting, and naming schemes increasing.

CSS and JavaScript experience often go together, especially with jQuery and React. If you’re a beginner, plan to learn both.

2019 Developer Skills Report

2019 Developer Skills Report

This 71k respondent survey is all about skills, and it’s really interesting. JavaScript surpassed Java with 73% knowing JS. React is growing fast, and by 2020 it might just dominate Angular. More employers want React too, so now’s the time to learn.

Internet of Things and Deep Learning are considered realistic technologies to pursue. And beginners, note that nearly 10% of developers have wiped a database or shut down a production server, so take this as a warning to double-check your code.

The State of Developer Ecosystem

The State of Developer Ecosystem

Where’s the developer ecosystem going? The data says everyone wants to learn Go, Python, and Kotlin, while JavaScript, Java, and HTML/CSS are already well-known.

In the absence of local or private database hosting, Amazon Web Services is the most popular candidate. And open source devs remain a minority, though it’s steadily gaining traction.

Node.js User Survey

Node.js User Survey

Node.js is very popular, and this user survey garnered nearly 2k responses. Back-end and full stack developers are the ones who use it, and they use it frequently in over half of development. These projects tend to be web apps.

A vast majority of Node developers also use databases, front-end libraries, and Node frameworks, with Express being the most popular. Over half use load balancing and containers.

One more interesting fact: Node users tend to know over three languages. Python is by far the top contender.

Ionic Framework Developer Survey

Ionic Framework Developer Survey

Ionic Framework’s huge community shared its insights in this 10k survey. Angular is the most popular framework among Ionic users, but React and Vue compatibility is in the works.

Consumer-focused apps made up the majority of projects, and 32% of Ionic devs work on a startup team. Nearly 30% are self-employed with the other big chunk working in a small company of 1-10.

Progressive Web Apps were the favored project, with 61% saying they had built one or plan to this year. They’re easy to manage, efficiently cross-platform, and get more user engagement.

Powerful Information

It’s a good idea to follow the changing online world, and what your fellow developers are up to. Knowing what the popular frameworks and libraries are can get you an edge on the competition. We hope this collection of surveys offered some insight into the modern development trends, and maybe gave you some direction towards what to pursue next!