loading...

Is It Okay To Have a Certain 'Niche' as a Front-End Dev?

mars profile image Mara McCrann ・1 min read

This August, I am planning to start freelancing as a front-end developer (or even land a decent job for it as a student). However, I consider myself as someone who's not very 'creative' with design. When it comes to designing stuff (with just about anything), I often resort to simplicity and cleanliness of things.

I have tried things to make myself creative and stuff, but a 'minimalist' approach sticks with me. I don't often use much transitions and animations and would only spend much time picking the right colors for the website's feel and look.

I wanna know if this is okay for me to do this. I'm not an expert with web development yet so I wanna know the side of the people who are already working long in the field (especially freelancers). Perhaps, giving me advice for this can help. Thank you!

If ever I mess up with the tags, you can tell me and I'll fix it as soon as I can :)

Discussion

markdown guide
 

It's okay to have a styling preference, but don't box yourself in too much! Especially when you're starting out. Minimalist design and creative design aren't mutually exclusive. As a freelance web dev, a lot of what you'll do is bring your clients' vision to life. Take time to learn about different design styles (neumorphism sent me into a rabbit hole!) and just make sure you don't sell yourself and skills short. Minimalist sites out of preference are great, but minimalism for the sake of avoiding more challenging and outside-the-box techniques will set you back from your goals.

 

Hi Mara,

This feels like a "what is the potential impact on my future career if I do X?" type question (apologies if it's not, as my answer is therefore going to be useless)...

Truisms of software dev:

  • You can choose to go "deep" (i.e., specialise). Choosing to specialise is beneficial to your career if your specialty has a significant high demand/low supply imbalance.

  • You can choose to go "broad" (i.e., generalise). Choosing to generalise is beneficial to your career if you can find places that allow you to work across a broad tech stack.

  • You will be the happiest and most satisfied by following your heart/passion... but it wont be the path that earns you the most $

 

Based on my experience, it is relatively 'fine' if you are a front-end developer but not very good at design, because most mid/big companies have designers. But it would be a huge bonus if you can write code and design really nice UI.

 

To add to this, you don't necessarily have to be great at design, but you should be damn good at implementing it and a stickler for details. I find this is one of the big things that makes the difference between an ok FE dev and a great FE dev.

 

If ever I mess up with the tags, you can tell me and I'll fix it as soon as I can :)

Hi, Mara! Don't worry - the tag mods are super friendly and will let you know, or even can add/remove tags as needed 😄

As for the rest of your post - Any design you can learn is upside, but design is also its own area of study! There is a ton to learn about it, especially if you further branch to UX (User Experience).

I'm a huge fan of Refactoring UI as someone who is not very good at design, but trying to learn more and more!

 

I need to start by mentioning I identify a lot with how you describe yourself.

Quick, required context. I have 0 knowledge on design, but I know a nice clean design when I see it from someone else. Over the years I have learn a thing or two about good practices, but that is not definitely my main focus. I have never done freelance.

In my 15 years of professional experience I have done a lot of different things, never being blocked or affected by not knowing how to properly design a web site or even which colors go well with which.

My biggest piece of advice would be to embrace what you like and get really good at it, and do not be afraid of saying I do not know. When I do not know how to design something, or what is the best color for x or y, or how to do an icon I do not stress myself about it and instead I ask someone I know knows about it.

Finally, someone on the comments wrote:

You will be the happiest and most satisfied by following your heart/passion... but it wont be the path that earns you the most $

And I should say completely disagree. If you love what you do and you focus on learning and mastering it, it will be obvious on the quality of what you build. You do not have to be a know-it-all, you just need to know who to ask.

 

Are you a freelance dev, or are you a freelance designer?

In your discussions with prospective clients, it is often very easy to tell how much importance they put on functionality relative to aesthetic. If you ask them open-endedly what they’re looking for, you’ll get your answer.

It’s definitely OK to be a developer with a specific design ethos, but only for the clients who are either looking for or who are OK with that design ethos. There is no “Silver Bullet”; No one size fits all.

 

"Simplicity and cleanliness" are key for great designs.

 

If you're comfortable building a website based on your projects or the kind of brief you'd expect from a client, then don't wait until you're "ready" or "good enough" at say animations or transitions - because you can always learn more and you'll pass up opportunities. Do the best with what you know now and learn by doing.

You can follow tutorials and videos but applying a new skill to a real world problem is where skills become practical and you reinforce and remember them.

I like the idea of starting with a minimal website and then if it suits the project or the client requests then add things. If you are smart about using an existing theme or saving ideas from websites you like, you can add the frontend polish without coding it from scratch. I've used a Bootstrap theme for example which handles resizing and fading in and out of a navbar. I dig into how it works and I tweak it or I turn it off if it no longer makes sense, but I started from a working case in a complete theme rather than figuring out one CSS line at a time, which can be frustrating for a newbie.

Also I find using bootstrap, bulma, etc. are great CSS frameworks which make it easy to add transitions and similar using a CSS class so it abstracts away from the underlying details. You can always go deeper and see what rules are being applied and override them. For me it is important to prototype quickly and get the behavior working, so I can get fast feedback loop for myself without getting stuck in learning a lot of CSS out of context and trying to add it to my site. I've even used Wix.com to prototype something without coding and then build it with Bulma / Bootstrap components or theme.

Lastly, don't assume what a theoretical client wants before you've talked to them and seen their needs.
Maybe the brief you realize asks for too much pizazz and you turn them down.
Maybe they ask for a specific popping up of text or images from the side of the page and you don't know how to do it - but you spend 30min googling it and making proof of concept and see if they like it. Or maybe their request doesn't ask for transitions and animations, but towards the end of the project after you've decided on colors and layout and content and the form still feels wooden and 1990s, then you can talk with the client about if they want the button to change color or move when it is hovered over and pressed.

And you don't know how to do it yet, but you find a tool like this:

It takes your input and generates a preview and CSS for you and then you copy the CSS bits that make work and you adjust them

So basically I like the learn by doing and learn by example approaches as it means you might have a strength or niche but can always diversify your skills. And once you know how to do something new (like transitions or a gallery) on one client or your demo site, you can now offer that to other clients .

 

😟 Well, if you are marketing yourself as a 'front end dev,' then you should probably be able to implement a variety of designs that a creative team or designer might hand off to you.
So, you don't have to create the design per say, but you need to be able to implement it.
You may need to go a bit deeper and make sure that you have a deep understanding of HTML/CSS techniques.
You could also 'specialize' in implementing 'Bootstrap style' designs and/or my preference, Bulma. Or, something more robust like Tailwinds CSS, which provides maximum flexibililty.

 

Ask yourself whether you're a mouse or a big ol' snake. The mouse - a generalist - eats every day but has to spend most of its day competing for food in a hostile environment. The snake has no rivals but goes hungry for weeks then gets a whole month's worth of dinners in one go.

This is how it is for a niche operator. Most of the time there are no jobs and when someone does want you it's probably when you already have a job. The pay can be better but the intervals between pay days get longer.

It's not for everyone, but some like living on the edge as it tends to be more exciting.

 

I've been using FrontendMentor so I don't have to worry about designing stuff. Most of the projects on there are free and if you want to be a little creative, mix and match some of the projects. (I'm currently building their Insurance landing page with a pricing component from another project). You'll also get an idea what a real life workflow is like with the style guides and assets they provide you.