Naguel

I'm Nahuel, and these are my work experiences, ideas and thoughts as a web developer working on the eCommerce industry.

Hiring a remote developer but as an actual team member

Hiring a remote developer but as an actual team member

At some point on a developer career it's possible that we'll get an offer to work for a foreign company as a remote developer, with a contract, from our home, in maybe a different language. And as a company it's also possible that you'll be thinking on hiring some remote Senior developers.

We all know in what we are thinking when talking about a remote position: sell/buy some hours, receive/assign some tasks, deliver/expect some code, repeat, whether you are the developer or the company.

As a front-end developer who worked as a Technical Leader in a local company, I was afraid to make the jump into a remote position because my main fear was to get stuck on coding only, without the possibility to bring something else to the table, just putting color on some buttons and nothing else for the next 5 years.

Well, it doesn't have to be that way, and thinking that a remote position it's only useful as the way I described before it's just lame thinking.

It's not simple, and it's up to the company

As a remote developer we can try to get out of the pre-formatted remote role model, but basically is up to the company we work for to give us the space to do so, to acknowledge the advantages of having us as one more team member and not as "the remote developer".

Companies usually set aside the remote developer from the development decisions (ironic, I know), despite the fact that sometimes that remote developer possesses a higher seniority than the local people, or more experience on the particular subject being discussed.

When a company turns to the idea of hiring a remote developer it's because they're searching for a Senior in terms of coding, because they have a tight deadline or the current projects they're having are becoming more complex day by day.

Your local team will need 3 weeks to finish a task so you hire a remote guy who'll get it done in 1 and allows you to remove pressure from the local team so then they can focus on something else... and repeat. Sounds familiar? It also sounds like a software factory, and that's fine if that's what you're aiming for, but don't expect team work on a software factory, don't grumble when you got stuck in quality, and don't blame the dev team when they not improve the delivery times.

For the same price you're missing somebody who can bring more, who can grow the team in terms of quality, delivery times, complexity of the tasks that can be carried out by the whole company, etcetera, just because... you're afraid?

Afraid of what?

You're afraid of giving full permissions to a guy you "don't know"? Are you afraid of giving decision power and all the company's credentials to somebody you've never seen before just because he can disappear from one day to the other?

I've seen local team members actually disappearing a day or two without notice, also people walking out of a meeting because of drama, developers working on a freelance project while being on working hours at the physical office.

Don't you have that kind of people at your office? If so don't give me that I've-never-met-the-guy excuse.

If the developer is going to be an asshole, it's going to be that either sitting on your office wearing a suit or in pajamas at home. If he's going to procrastinate, if he's going to spend 7 out of 8 hours in Facebook, he's going to do so either under your watch at the office or from the bed at home.

Come on, you're already know that, I'm just stating the facts.

I've seen developers on-site expending 90% of the day at YouTube, right in front of my nose, and I've seen spectacular remote Project Managers, Business Analyst, and developers, of whom I don't care if they are at YouTube or not because they deliver. Because I've trusted them.

I bet you can relate, I bet you already have some remote people who perform better than some local team member, so I also bet that you're starting to realize that this idea of not making the remote developers a real member of the team it's all just about unjustified fears.

Building a positive company culture with a remote team
Do not think for a second that a classic culture, rules, or way to go for when you were on an office will accommodate everybody now working in pajamas. That process of yours needs to be dust off and made again.

But chat it's not the same?

Along with those fears stated above comes the "communication issues" also known as: just more excuses. Of course, it's not the same to have a face-to-face meeting than having to call somebody over Skype, but is it really that big of a deal?

I really don't stand this excuse, and I don't think we should spend too much time debunking it when we're living on a society where my +60 years old mom knows how to call me over WhatsApp, where my 20 years old sister knows how to share a video over Facebook while adding her own thoughts about it.

So, if 20 billions human beings can found a match on Tinder and potentially start a relationship or just have sex... I think we can overcome the "communication issues" when working on a Magento 1 to Magento 2 migration.

Turn on the camera and you'll see how all that remote things disappear. I'm being real, that helps a lot when you are trying to add the human factor to the communication process because it's not the same to say thing to a mic than to a face even when inside a monitor.

A developer sitting away at a 15 hours flight from your office can still give the same as the one sitting on your local branch. In this globalized world these excuses don't have a chance.

Developer's work success being too much about personality rather than hard skills

Developer's work success being too much about personality rather than hard skills

When giving a performance's reviews, one idea I used to pitch to somebody with the potential to be an even better developer in the future is that we all have the same tools in the company to improve ourselves.

Everybody has access to the same documentation, to the same in-house training programs, to the same software, to everybody's code, to basically the same people to ask questions and to learn from... and what's set the difference between someone progressing in his or her line of work and someone stuck is the personality each developer has.

This is something that bothers me in the sense that it makes me feel I'm losing control of any recruiting process I might been part of, or any "technical coaching" I'm giving.

Because while it might sounds as a "motivational speech" during the performance's review, let's do not lose sight of the timeline here. If we get to that point saying is more about personality than hard skills, then it was also more about personality a few months ago during the interview process.

What if interviews are all about luck and not about us evaluating correctly the hard skills of a candidate?

Sometimes it feels like it doesn't matter if I really really prepare for an interview, or if I improve my tricks to get to really really know the candidate's hard skills, because it feels like it all goes down to about how lucky we are as a company when we take our chances with a candidate by saying "Yes, come work with us". Does it happens to you?

I remember joking about this issue by proposing something like open the company's door, let 20 candidates join us, and we'll see how they perform during a month... and by the end lets "fire all the personalities" that didn't succeed.

Let's not waste more time with interviews and technical exercises! Everybody is welcome for a month, and we'll decide later who can stay.

Yep, that would be a fun disaster to watch. But again, this is sometimes what I'm experiencing with the whole recruiting process, and also I stand corrected by saying it's not really a feeling but an actual fact because we truly accepted people with serious doubts about their hard skills that in a short time became great developers, and we also let in promising ninja developers that resulted in a total fiasco.

So, what's the next step?

I don't know.

I'm struggling with this problem and this is more of a sharing my concerns post than a post with an outstanding solution at the end. But let's do some brainstorming in order to get some action items to work on later.

Probably the first idea is that we suck at interviewing because we don't have the skills or the tools to really get to know the candidate's hard skills pass the personality and what that person is selling during the interview.

We should improve the exercises we're giving, enhance the questions we're asking, and have a clear understanding of which hard skills we are looking for and to what degree of knowledge we're aiming for those identified skills.

Before that face to face technical interview, it seems like it's necessary to improve the first informal interview to rule out the personalities we do not want. Because, don't get me wrong, we do want people objective-oriented and willing to learn everything... but that's not the only things we want to depend from.

So, it seems like this last thing is more mandatory not to solve our main problem here but to avoid a different one.

When the process fails again (meaning when we bet for a candidate and things goes wrong again) we should be doing an analysis of what happened and we should be having metrics about failing and succeeding process in order to identify what's working and what's not.

The goal here is not to all say "Oh, we fail again, let's try again one more time" but more about getting the reasons behind the process that didn't go as expected, and getting hints about how to make it better.

I still do not know for sure how to solve this, but I get myself some ideas to sleep on it and I hope you too.

About how hard it is to find a front end developer capable of work with Magento

About how hard it is to find a front end developer capable of work with Magento

Is it hard to find someone willing (and able?) to work with Magento. And I'm not talking about finding an already "senior" Magento front end developer with n years of experience with that eCommerce platform and/or working in that specific field already.

No. What I mean is that it is difficult to find someone who is already a front end developer but never worked with Magento. Will he be able to? Will he understand and like the platform? Is he willing to despite what he says during the interview?

I already wrote an article about how to interview a front end developer, and I'm not sure if I strengthened enough the idea of it being a kind of a bet.

How to interview a front end developer and not die in the process
Being an interviewer it’s not an easy task as the candidate’s chances of getting the job depends not only on the candidate’s technical skills but also on the ability of the interviewer to rule on the truth of those said skills in a 60 minutes talk.

In this scenario we're betting twice as we not only need to discover if the person being interviewed possesses the skills to be a good developer but also if he or she can perform with the specific platform.

That fuzzy line between back end and front end within Magento

I encountered a lot of different "profiles" while interviewing. While the spectrum is really broad let me summarize this into two groups (nevertheless, not sure about the names I'm giving to them, but bear with me):

  • Web designers, or people focused only on the HTML and CSS (maybe jQuery?) part of the coding process. People whose main task is to convert a given PSD file into "a web".
  • Developers using the "hard tools" for coding complex logical solutions with, and not limited to, JavaScript and all its modern flavours.

The first group is excellent in that PSD to xHTML conversion process but they sort of depend on somebody to add the functionality to their creations, and the later group fails when the QA team compares what they delivered with the original design files.

So, someone in between, right? Right. But why?, because of that fuzzy line between back end and front end within Magento. :)

It depends on how the company you work for is structured, and how the roles for back end and front end are implemented there, but under my experience I can tell that none of these groups that represents the two extremes of the wide range of developers I interview can work with Magento, or at least they can't on their own as they will always lack what the other groups knows... and we need both on the front end side of a Magento project for it to go live.

Again, under my experience, while working with people that falls into this two categories I either faced the problem of things looking good but not working as expected, or things that do what they're are supposed to do but with so many differences when I open the designs (and if you are thinking "it's only colors", think responsive web design).

How we find that "in between"?

Spoiler alert: I don't know for sure, but I can tell you what I'm doing right now and hopefully it will help you achieve the same as I'm looking for if you're conduction interviews.

I recently had a meeting with somebody from the recruiting team at the company I work for in order to polish the "mechanism" to identify people too attached to the mentioned groups in order to dismiss them at the beginning of the process, and there are a lot of hints in the candidate's CV that you can use.

Exhibit A is this imaginary resume that includes skills such as HTML, CSS, SASS and jQuery, which is excellent because we need those skills. Following we find a lot of background experience building corporate websites only, but never using a CMS as there is no mention for WordPress, Joomla, Drupal, or similar.

Finally, the work experience is a mix of marketing and design, mostly a transition from the later to a developer. The court rules guilty for being too much of a member of the web designers group.

A second example is this also imaginary resume that includes all the fancy words I already used to, such as Angular, AngularJS, React, VUE, Node... you name it... and a background experience that mostly includes working on the back end side of some sites.

I don't have to tell you to which group this imaginary candidate belongs to.

So, again, someone in between. Find that resume that have a mix of the trending topic's keywords for the first and second group, and you got yourself a feasible Magento front end developer. Or work the other way around: burn the resumes that falls into the extremes and what lays in the middle is the people you should interview next.

No group is better than the other

Don't get me wrong... or let me clarify.

I do not think one group is better than the other one, and if you belong to the first one there's no obligation to learn what the other group knows, neither the other way around.

Let me put another short perspective into this: if the company you work for (or the company you applied for, or your company if you happens to have one) really separates this two groups into really two separates job positions, and if you only have to worry about the PSD to xHTML thing because somebody else is handling the functionality... good for you, and go for it, as again this depends on the scenario you're standing.

That's why I mentioned something about the way a company is structured before, because in some places you might not need to worry about the "in between" as it doesn't apply.

Happy hunting.