Founder & CEO at Microverse (YC S19), the global school for remote software developers.
Being a successful developer goes beyond your title - you need to have a good mix of technical and soft skills. Indeed Design Developer, James Zhang, shares what it's really like to work as a Front-end Developer.
After graduating from Georgia Institute of Technology, James began working at IBM as a Design Developer. Early in his 5-year tenure at IBM, James' title changed to Front-end Developer. When he moved to Indeed, his title became Design Engineer which is equivalent to being a Front-end Developer or Front-end Engineer. Before gaining that title, he did similar work at Indeed but as a UX Developer.
On a day-to-day basis at Indeed, James can be found working on web applications and doing a lot of ReactJS.
"When I'm not doing that, I like to hang out with my teammates and really try to connect with other people. I think some engineers go really hard on the [technical] skills, but they don't know how to talk to people. So, it’s really important to converse, get to know other people's perspectives."
At Indeed, James works on the 'internal platform' which is basically building web tools to help the people who are building customer-facing applications. The internal platform is a very test-heavy environment, but it's very low risk. The trade-off for James and his team is that they don't get to do customer-facing work.
Lately, James has also been helping with a tool called the IQL, which is essentially a Google search for datasets. He's also working on hackathon projects.
With his many title changes but the work mostly remaining the same, James wholeheartedly believes that titles are superficial.
"People are going to want to put you in a box because it's kind of convenient. ... I've talked to multiple people, and what I've come to notice is that most of you probably don't like to be put in boxes—that's what labels can do. What's really important is not the labels, but the skills that come along with it and what you develop."
According to James, the most important thing for new Front-end Developers is getting the right experiences and skills, as opposed to chasing a title when it's too early.
Since titles are superficial, it’s not always possible to compare careers. You should go at your own pace and not compare yourself to others because that's how imposter syndrome can really spur.
James believes that when you take yourself out of the box of your job title, you become free to dabble and develop other skill sets. He predicts that the technology industry will be moving away from pigeonholing team members and allowing them to fulfill dual or multiple roles.
Because James likes helping his teammates and planning, he sees a change in his day-to-day role. "I'm learning a lot more leadership skills right now. I feel like I'm transitioning away from more technical, to more of a mentorship kind of role."
The technical level of interview coding tests depends on who you talk to. James says he enjoyed Indeed's hiring process because it was different from other hiring processes. According to him, Indeed really values culture fit. The test for Indeed was not that technical compared to other companies. James saw it as more of a personality test.
Indeed assigned James a take-home coding test where he was told to build a game. There was no set time to complete the assignment. "Then they also keep the requirements a little open-ended so that you can take your own spin on how you want to build this game." In the interview, they inquired about James' game building thought process.
James’ advice for job seekers is to highlight your strengths. Where you lack hard skills try to shine with soft skills.
Sometimes the person who knows the technical stuff doesn't know how to work with people. And so the hiring person needs to choose someone with who they can work.
"Always improve on skills, but definitely stick to your strengths. Your strengths can be more surprising than you think."
When asked if it was possible to work as a Front-end Developer without knowing about UI design, James said:
"That will be really hard. I would say if you have the drive to be a UI Designer or UI developer, then you can do it. The great thing about the 21st century is that if you want to do something, then you can. You can really go for it. Now, as far as being a UI designer, you are a designer, but you don't have front-end skills. Here's the thing about Front-end Developers, it's a very diverse discipline—a very mixed bag."
"Soft skills are important, but they aren't everything. You need a balance of both hard skills and soft skills in order to be the most desirable person in your company. You need to at least know the basics of how to work with other people because even when you're engineering or working on a project, that's collaboration."
As a Front-end Developer, James values maintainability, reusable components, repeatable solutions, reusable code, and reasonable patterns.
Sometimes a feature can scale into a really large project. So you always want to stay on your toes.
Developers must also be wary of anti-patterns. It's always important to try to write your code in a way that is going to help you tomorrow.
"If there's one quality that I value the most it's adaptability. You never know what kind of design your designers are going to give you.”
As for balancing speed and productivity while working on team projects, James says it's important to keep track of deadlines. Soft skills will help you to communicate your needs and abilities should you fall behind.
"My parting words; have a good time. Don't worry about the stressors. Have a good time, get to know people, and stay humble."
Want to learn what it takes to succeed in Front-end development? Watch the full webinar with James Zhang, Front-end Developer at Indeed, to learn more.