Making the transition from school or an internship to the agency world is a pivotal step. It marks the beginning of a career filled with interesting new adventures and challenges. No more internship reports and assignments to hand in over spring break. You'll be learning to cope with a whole new day-to-day life, with its own set of trials and tribulations.
Don't worry, I've been there and I'm ready to share what I've learned with you. You'll be able to slowly integrate these lessons into your new routine, so you won't find yourself curled up in the shower in the morning.
The first thing that's going to set you apart in an agency is your interpersonal skills and your ability to use them in a professional context.
Naturally, you'll want to prove yourself when you join a team, but you must resist the temptation to jump the gun. That could do you more harm than good. For instance, show your eagerness to learn from your colleagues and your projects, rather than trying to be the best developer you can be as soon as you arrive. This will help you build a natural rapport with your peers, who will learn to trust you for quality work (rather than quantity at any cost).
My advice: take an interest in your colleagues' work and learn about their role in the team. This will encourage them to teach you more about a wide range of subjects, and help develop the relationship. Sharing knowledge and exchanging ideas are at the heart of any good team.
How to reach your career goals
You can go into your professional life living from day to day, with no clear direction, but to achieve fulfillment and progress, you need goals. "Becoming an experienced developer" is a rather abstract goal that takes time and depends on a number of criteria. I'd advise you instead to choose concrete goals, broken down into achievable stages that will make you feel in action and give you a sense of accomplishment.
Let's assume that your goal is to work on customer projects. To get there, you'll need to achieve a number of milestones by mastering certain technical and methodological skills that will become habits in the long run.
If you set your sights on an abstract goal with no concrete steps to get you there, you risk frustration and discouragement along the way. Not to mention that the chances of reaching your goal using this method are pretty slim.
Examples of career goals for a front-end developer
- I want to build a SASS mixin library.
- I want to create a library of reusable blocks for sites.
- I want to develop my own front-end framework.
- I want to do customer projects.
On paper, it's pretty abstract. There's no real order or plan to get you there. Separate your final goal into several milestones and concentrate your efforts on completing the steps involved. This gives you a guideline.
The previous five examples of goals could be broken down as follows:
I want to build a SASS mixin library.
- First, I'll look for best practices on the net.
- Then I'll run some tests in Codepen and pick the most useful ones.
- I'm going to take an online training course. (Continuing education is always a good idea!)
- I'm going to implement what I've learned in exercises and use this new knowledge in other projects.
I want to create a library of reusable blocks for sites.
- I'll see if I can find inspiration or concepts on the net.
- I'll read about front-end frameworks and best practices.
- I'll work quietly on a small front-end build that will improve over time.
I want to develop my own front-end framework.
- With what I've acquired in the last stage, I'm in a position to start a baseline.
- With my training in ES6, I'm able to make easily reusable components.
I want to do customer projects.
- I'm going to learn about project management.
- I'm going to apply the knowledge I've learned in my previous training and apprenticeships.
- I'll start by freelancing.
This method works best for me, because the sense of accomplishment that comes from reaching each step makes me persevere towards the next one, and I have the satisfaction of checking a goal off my list. It's this constant progression with regular small victories that will allow you to grow, without being scattered with several unachieved goals.
Experience can't be bought, it must be acquired.
At the start of your agency career, you'll be confronted with a lot of things:
- Dozens of projects with different technologies.
- Ways of doing things that differ from the schools where you studied.
- Time and budget issues.
- Colleagues with different personalities and skills.
To become an experienced front-end developer and a central resource in your team, you'll need to be curious and involved in many projects to gain experience.
Never underestimate curiosity
Being a front-end developer in an agency means constantly evolving. We always want to improve our internal procedures and tools to ensure that our projects are profitable. By keeping an eye on the evolutionary curve of the field, we avoid falling into long-term technological debt.
By reading industry articles, experimenting with new ways of doing things and analyzing the projects you're working on, you'll develop the skills that will help you grow professionally. You'll have plenty of opportunities to develop your skills and sense of innovation. You'll then be able to share your newly-acquired knowledge with your peers, creating a richer team. Seeing you take charge of your learning curve and progress, your more experienced colleagues will be keen to challenge you so that you can constantly improve.
Front-end developers see it all
In an agency, every project is different. You may find yourself working on a new assignment in an up-to-date Wordpress with a solid front-end framework, or you may have to work on an old project taken over from another agency in need of updating, with an outdated framework that doesn't work very well.
This juggling between different projects will be extremely beneficial for gaining experience and becoming both versatile and proactive. In fact, you'll need to take a step back to analyze the development issues arising from the particularities of each project. You'll need to take a step back and analyze the development issues that arise from the particularities of each project. As you come back to certain situations from time to time, you'll have acquired that experience that will benefit you and your colleagues alike.
Remember that in an agency, all projects have time and budget restrictions. You always have to find a way to accomplish requests within these limitations without compromising the quality of the work. By encountering all kinds of situations, you'll develop your analytical and problem-solving skills over time. By being curious, versatile and proactive, you'll become a pillar of your team. That's what we call experience.
The basics of agency front-end design in a nutshell
Don't worry, your peers know you're just starting out and won't ask you for the sky tomorrow morning! The important thing is to be open, curious and proactive, because experience will come with time.
To help you prioritize your learning, I'd say that the essential foundations for your early career as an agency front-end developer are as follows:
A good understanding of HTML and CSS
You'll have to integrate pages, add new blocks, modify existing code and, of course, integrate completely new sites. But be careful! New doesn't mean starting from scratch every time.
In an agency, we try not to reinvent the wheel. So you need to develop the reflex of writing code that can be reused in other projects. At Globalia, for example, we have a front-end system that helps us enormously, since it groups together a large number of blocks and utilities that can be used in the majority of our projects. This reuse benefits not only the profitability of the projects, but also and above all the front-end team in place.
For me, the hardest part of joining an agency was time management. All hours spent on client projects qualify as billable and must be recorded in the project management tool your agency uses.
This can seem daunting at first, and it's easy to lose track. So you need to find a way to monitor how much time you spend on each project task throughout the day. I strongly recommend that you write them down in a document or on a sheet of paper and record them in the appropriate place at the end of each day.
This is the best way to avoid getting your hours completely confused and entering the wrong information. Otherwise, these hours could be lost, not representative of the time actually worked or, even worse, billed to the wrong customer. Also, when project managers and account directors don't have the right information on projects, the whole production chain suffers the consequences.
Adopting an orderly work methodology is a sign of professionalism that your peers will quickly notice and appreciate.
Having a front-end structure
As I said earlier, in an agency, you'll be working on several projects, which is why I strongly recommend that you take a step back and analyze the situation before starting work on a new assignment. That way, you'll avoid a lot of ambiguity.
So I'm happy to share my secret steps with you, and I'm counting on you to keep it between us... of course.
Identify the technology behind the project
Validate if there is a front-end build system
If so, take the time to look at the folder structure and how the CSS is put together. There are probably several tricks you could reuse for your task. Otherwise, ask yourself: is it worth setting up a build system for what you have to do? In most new projects, the team's internal framework is installed by default. Sometimes, however, you come across a project taken over from another agency that has no clear structure or integrated framework.
Some projects may have a technological debt. Even though it's essential to keep up to date with our practices, you need to think carefully before starting to rewrite code. Remember that in an agency, there will always be a cost associated with the tasks you perform. In a context where the code doesn't allow you to carry out a task efficiently, it's essential that you talk to your team manager so they can help you understand what's at stake, and avoid spreading yourself too thin.
Finally, the most rewarding part of starting out in an agency will be talking to other front-end developers. Each individual has their own strengths, and your input on a subject is just as valuable as that of others. As a junior developer, you're expected to be proactive in finding solutions to the problems you encounter, without letting pride get the better of you. When you find yourself at an impasse, you have to learn to distinguish between perseverance and stubbornness. If you feel you're not making any headway, remember that you're working as part of a team, and that there will always be someone to help you.
To conclude, dear front-end developer...
Your time in an agency will give you a lot of experience in the field, and I believe that anyone aspiring to become a front-end developer should go through this at the start of their career.
The key to your professional development lies in your curiosity to learn and in the quality of the work you do with your team. You don't become experienced overnight, but with small victories spread out over time. If you're still in doubt, don't worry. Continue your research, ask your questions and consult other front-end developers ready to share their experience. Try things out, talk to your team, read articles on sidebar.io and csstricks, learn more about the field and above all, as a wise Jedi master used to say: "Do or do not. There is no try."
Start your career as a front-end developer in an agency that combines innovation and challenging work!