You're looking at all the posts published under the tag #Work experiences.

Prepare your self-evaluation before your performance review

This is an opportunity to not only get feedback from your company, but also to help shape your role into it, defining a roadmap for your own career. When you are not part of this conversation, when you are just a listener, you leave your future in the company up to whatever other decides for you.
5 min read
Prepare your self-evaluation before your performance review

Don't we love having a good performance review, from our bosses to ourselves, every now and then? Of course we do! Is that moment were we get to be told how great of an employee we have been (finger cross that's the case) and to potentially get a salary raise (and I don't have to ask how much we love that).

Thing is that our performance review, appraisal, catch up, or whatever you would like to call, it is about having a conversation where you should also bring something to the table.

Why?

This is an opportunity to not only get feedback from your company, but also to help shape your role into it, to define a roadmap for your own career for the next cycle up to, let's say, your next performance review.

When you are not part of this conversation, when you are just a listener, you leave your future in the company up to whatever other decides for you. If you are "sort of lucky", the company you work for might already has defined a plan for you, and if you are "very lucky" you will like that plan. You would be betting, twice.

But, again, that's oddly the case when we don't have a say for our career.

How?

What I like to do for basically all meetings I have (and my performance review is no exception) is come prepare with notes and bullet points to discuss.

For this particular scenario I recommend doing a self-evaluation, ahead of the meeting, to know were we stand and were we would like to go from there.

Depending on our role in the company we can also cover where the company stands, where we would like it to go, and how we think we can get there.

Average is officially over, so don’t be that at work
There was a time when you would learn a skill and that would be enough to succeed, but nowadays what you learn has an expire date as much as the milk in your refrigerator.

I divide my self-evaluation, self-assessment, auto-evaluation, or, again, whatever you would like to call it, into different sections starting with "What I like to do and what I don't like to do".

This is a reflection time opportunity for me to know, up to this moment, after everything I went through from the last catch up, of all the things I've been doing so far what I actually like to do, and if I think I would like to continue doing them.

For example, let's say I've been doing a lot of documentation since the last time we had a catch up. Did I like that? Or was it more of an emergency role I had to take on that I would like to dodge from now on? Can I think of any available role I might like to fulfill with this skill that I think I'm good at and also like to perform?

The "what I don't like to do" part is to identify if the tasks I've been performing were those sort of a one-time-only tasks due to an emergency, or if they are in fact part of my job description.

If the stuff you don't like to do outnumber the things you do like, then you have a bigger problem here. But that's just another good idea for doing a self-evaluation: you can get yourself aware of how happy (or not) you are at your job.

The second section is called "Things I should put more attention at", which basically means "what I've been doing wrong" (but let's keep a positive tone here and not sound that radical). Now is when I need to be truly honest with myself in order to be able to identify where I have room to improve at work.

It's not only about telling where I could be better, but also to discover why I wasn't doing my best so far, and what I think could increase my performance on these areas.

I consider important to demonstrate that I'm able to tell when I'm not at my best before somebody points that out to me, and that I'm also capable of being part of "fixing" this situation with ideas and suggestions of my own.

Third section is about "Things we should keep an eye on", which involves the company itself and it's my chance to talk about how I see the place I work in.

You are, supposedly, at a different position than your superiors, therefore you might be able to provide another vision at how things are: what do you think the company is doing well, what things would be good to avoid losing, and what things do you think the company should put more effort in.

Clearly, this would be attached to your bosses' willingness to get some feedback on a meeting designed mainly to provide it to you. But, if you have the chance to give it a shot, just go for it.

Since my role is more technical I do have a fourth-ish section which is more like a twist for the last one, and I call it "Things we should keep an eye on... from a technical point of view" (the title speaks for itself).

This is my opportunity to say where I would like things to go, for the company, on the technical side, which is allegedly my area of expertise.

Following on the example of me doing a lot of documentation, I can bring ideas on how we can make this behaviour part of the company's culture.

Up there you can see a real self-evaluation I did on March 2019 before a performance review I had, and two more on the sidebar.

Keeping them works as a log to retrace my steps when I feel overwhelmed to assess if I'm on track regarding my latest self-evaluation of my performance or if I need to adjust something.

Basically, my idea is to avoid working blindly from one catch up to the other.

Screwing up badly at work

I changed some configuration on a site that triggered thousands of emails to different customers. Shit happens, and people make mistakes. I did on that occasion, I probably will again in the future or somebody else will, but I will be happy if we as a team don't make the exact same mess I did.
3 min read
Screwing up badly at work

Recently I changed some configuration on a client's site that triggered thousands of emails to different customers, forcing our client's Customer Service to handle the same amounts of customers calls on a day that they would have on a normal week, and finally having our client writing an apology email for all affected users saying that there was no data breach in the site.

It was a long day.

Admit it

Shit happens, and people make mistakes. I did on that occasion, I probably will again in the future or somebody else will, but I will be happy if we as a team don't make the exact same mess I did.

The first thing to do when you screw up is to admit it: tell somebody that you screwed up and tell that person how you screwed up exactly.

If there's a big problem, and you alone caused that problem, chances are people will be chasing ghosts to fix something they won't understand completely how it started (if you don't come forward and tell them exactly what happened).

You are the only one that knows, basically (until everybody finds out).

The idea is to change everybody's mind from panicking about a mystery error to focus on how to put down the fire and doing some damage control. Back to my example, everybody was wondering how the emails went out but when I told them it was me changing a setting then everybody move towards finding a solution (emails were still going out at that point).

Really, trying to cover up something is really a stupid idea because, again, shit happens and it shouldn't be the end of the world, and people will find out rather sooner than later.

Say sorry as you should be

Being on the defense on this type of situations is pretty common, but you shouldn't be. You made a mistake, you admitted it, now apologise without making excuses or blaming something (or somebody) else.

As individuals and as a team we should learn some stuff starting with the fact that human error is an actual thing. Saying sorry is as important as learning to accept someone's apology.

Keep in mind that if you didn't screw up this time you could be the one causing the mess next time, so don't believe you are so perfect. At the same time, if you were the cause of all the problems today, relax, somebody else will take the leading role next time.

Not the same mistake twice

When the adrenaline is over and the problem is solved do everything within your reach to avoid the same mess to repeat itself.

Let's try to have new problems, not always the same ones (it's boring that way).

While all human errors can't be eliminated (unless there's no human in the equation) we can always reduce the chances for them to happen by identifying what mechanism we (the team) can put in place to prevent them.

Back to my emails, the setting I changed wasn't on the Live site but on a testing environment, that happens to contain real customer data. In this case the problem was on how we create those testing environments (a fault on the process we have in place for doing that).

The problems could be prevented by improving the processes, adding any necessary documentation, and most important by spreading the information across the team.

Learn from a mistake is not a cliche phrase but instead it's something "tangible".

If you really learned from a mistake you will ended up with more documentation available to the team, a better process in place, and everybody informed of what happened and what can be done to avoid it happening again.


Always keep in mind that La La Land was announced the winner of the Best Movie category in the The Oscars ceremony because somebody handed the wrong envelope. And they improved the process for the following events.

No more bs against working from home thanks to a pandemic

Companies were forced to reorganize quickly to continue working with their employees from home: the bs around this was cut immediately, the scepticism towards having people working from their homes disappeared. It had too, there was no other option.
4 min read
No more bs against working from home thanks to a pandemic

It's still amaze me, you know, and hit me by time to time when going to sleep or taking a shower, a "...wow" moment, like a slap from reality: the world pressed pause a few months ago.

Not a bunch of countries, not a far far away continent. The whole world stopped because, well, you know what happened: Coronavirus.

Companies reorganized quickly to continue working with their employees from home... Well, they were forced to act quickly to be honest, not like they went through a deep analysis about the pros and cons of a remote scheme for their staff, no meeting between HR and the business management branch happened at all.

The bs was cut immediately, the scepticism towards having people working from their homes disappeared. It had too, because Plan B was to close until further notice, so the discussion about it became pointless, and frankly nobody has nothing to lose. Wasn't that beautiful?

Month ago this was considered only a benefit a company would offer, or a sometimes exception for particular circumstances. Internal company processes would decide how and when somebody could work from home like, for example, one day a week after three months in the company, and two days a week after a year.

It sounds crazy now but we all, at every level, agreed to that scheme.

Work from home forced itself and nothing bad happened, nothing catastrophic at all. Objectives are still being reached, and, most important, employees don't sleep the whole morning pretending to be online on Slack, which I believe was the biggest fear of them all.

I found it interesting that even on very objective-based companies, when thinking about offering the possibility to work from home, the mindset changes to a time-based one. In an office we thought about what to accomplish when (objectives), but then when talking about remote working we thought about how the time was going be consumed without direct supervision.

We trust developer with Live server side credentials, but oh no home will make them Facebook too much.

And even today, with a lockdown in place and a forced work from home scheme, even if an objective is not reached you know that's not because the employee is working to close to the bed. It's always something else.

You are quarantining yourself now, and everybody in your company is doing it too. Work from home is happening whatever you planned it or not, so it might be time to fully embrace it. Take the (forced) opportunity and make it a permanent thing.

It is a chance for us all to recognize that working from home is as possible as working from an office. And, sorry, my experience is always based on my role as a web developer so my focus is pointed in tech-related companies, but you can decide if this whole concept applies to you as well.

I worked, until now, as the only one remote developer of the company I'm part of, and the rest of the team was based in UK, working from a beautiful office in London. Now everybody is remote, everybody now works from their homes, and the office is entirely for a fridge they already planned to set on fire because God only knows what have been left inside months ago.

Again, nothing changed from the day to day operation of the company, there's no trough at all in the productivity graph. If anything, I think people is working more because nobody is used to work from home, yet, but that's a problem for a different post.

Having a successfully work from home lifestyle
Working from home is the new normal, get used to it and get ready, because what’s now a benefit will be a requirement in the not too distant future.

It was discussed internally, basically, the feelings towards this new forced normality, and while everybody misses the office and the social side of it, all of us are considering working from home a positive thing. Even one admitted that during lunch time takes a nap, which is fine because who cares if you are delivering at the end.

It was also raised that we might not seen us working from home, without going to an office, for ever, so I'm sure flexibility is what's coming after everything that's happening comes to an end.

Let me be clear that flexibility doesn't mean an extra work from home day to your now old internal company process. Flexibility means having an office, and go there if you want. Nothing less than that, which is perfect, which is good, fine, there's nothing wrong with that. We should have learn that already.

Imagine a hot seat scheme, with a few desks for those wanting to leave the house some day, or a more co-working spaces-based normality.

I don't know, I'm brainstorming, this is my first pandemic, but I'm sure that those, somehow still appearing, job offers from LinkedIn offering something like "2 work from home days a week" as a benefit are hilarious now and they should have gone already.

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.
5 min read
Building a positive company culture with a remote team

You should already know that having a remote team and moving away, at some capacity, from having an office and mandating everybody to attend it in favour of working from home, have plenty of advantages... but it also requires companies to re-think their culture and adapt it for including remote members.

This is something to be face for either companies having all of their employees remote (no office whatsoever) or for those companies with a mix.

Since we are in the middle of a pandemic (#covid19), this work from home thing stopped from being optional for some companies and everybody was forced into it.

Nevertheless, I personally think that work from home, or at least a flexible scheme that combines office time and home time, is the new way to go, so preparing for that reality can't be pushed forward.

Working for home has a lot of benefits for both the employees and the employers, but it's not about only having Wi-Fi at home.

No more bs against working from home thanks to a pandemic
Companies were forced to reorganize quickly to continue working with their employees from home: the bs around this was cut immediately, the scepticism towards having people working from their homes disappeared. It had too, there was no other option.

People not used to work from home will struggle with their new situation, specially because separating work from life is not easy when both happens in the same physical environment. Anyway, that's a different problem.

But what companies can do is to work on a culture to makes every remote team member welcome.

You want to have a great team culture because you want people to stay with you, and you want those who stay to like showing up to do the work, which will result in better stuff being done, in progress being made.

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.

Bake a culture that brings down the feeling of being away

This should be the main objective of your new culture: the idea of making everybody as welcome as possible, part of something, a team, removing the sensation of just having people logging time and solving tickets with an interaction boiled down to only asking questions after a technical brief.

That's not a team member, that's a contractor or freelance you got there. Which is fine, if that's what you are after, but the approach in this post is to adapt your previous "going to the office" to "walking from bed to desk".

The culture needs to integrate people by bringing down the barriers imposed by everything being digital and virtual now.

There are a lot of thing we are no even aware we are missing by not being in the same place, like, for example, there's no more "I'm making coffee, anybody wants some?". There's an element of... human touch?... we need to re-incorporate.

Videos are now part of your meetings

There's an incredible change on people's behaviour when having a call with and without the camera turned ON.

When you are talking to somebody and you can see them, and you also know you can be seen, you are both in presence of a more honest conversation taking place. Your call becomes more real because the camera forces everybody to have accountability on what's being said.

For example, it's not the same to provide an estimation or deadline for a task by saying it "face to face" than by only using the microphone. The camera is a constant reminder that you are talking to an human being, and that what you say and how you say it matter.

This is particularly important when the meeting is about something else than actual classic work tasks, like on performance reviews.

Fun is allowed and encouraged

Cameras turned ON during a call also relaxes the conversation, and helps to emulate what happens on a meeting taking place in real physical conference rooms.

Nobody walks into a meeting, on a physical room, and sits down straight to business. There's some water cooler moments before and after work actually happens, and that's okay, that should be somehow, at some level, encouraged.

The same should be allowed to happen on any other conversation tool you have, specially on the one you are using to chat, a.k.a. Slack.

Don't expect people to be robots, to talk either verbally or in writing as if their were always wearing a suit and saying something to the President of the United States.

On a real office there's music sometimes, chit-chat happening on a corner, or jokes appearing during shop talk, but on Slacks that's down to memes, gifs, and emojis, which bring something else for the entire team, easing the working day and removing pressure. A small venting crack perhaps, on complicated days.

Having fun is a way of team building, and there's plenty of activities that a company can promote to achieve this (besides just using emojis on Slack).

I know it was typical for assembled office teams to get pizza on a Friday, going for some after office time at a pub, and came up with team activities. Now, you just need to think of stuff that can be done remotely.

Team building becomes now more important than ever, as "having a team" doesn't happen as easy as maybe before.

Again, in these particular times were people are in a lockdown due to the Coronavirus, a meeting to just laugh is more than welcome, specially on companies suddenly forced to be remote with no employee ready for it.

For example, the company I work for promoted a few Fridays for games over Zoom where we separated into two teams and played charades... while wearing costumes, fancy dresses, and props.

Meet to improve the remote work

Of course, having a remote team doesn't mean nobody meets each other in person ever again. On the contrary, if you have the possibility to assemble the entire team on a physical space every now and then, great, take it.

For remote employees, meeting each other in person, or meeting the "team from the office", has a real impact on how they perceive the company and what they think of it.

You will witness a change on how people communicate online after a meet up takes place, because people will have had a chance to know other people voices, tone, and expressions.

Sending people stuff will also do the work, and I'm talking delivery packages with beer or whatever gift you can think of. Employees must be rewarded, specially those hard workers that were key on a specific date or task.

Ask what people need

Finally, at the end, and as usual, everything is down to just asking what people need or want. But as obvious as this seems to be, it happens to be the thing we do the lesser.

Take time to ask and listen. Sit down and have a conversation with your remote employees to understand what they need and what their feelings are towards working remote.

Again, specially for those companies that hadn't other option but to make everybody work from home.

If budget is not a problem, help employees to set up their working environment at home, where the priority is the chair.

Buy them a comfy chair... that's what I was trying to say all this time.

Prepare for a job interview

Looking for a new job is a job itself. It's not just about scheduling interviews and going to them, you need to prepare, otherwise your chances are pretty low (trust me, I conduct interviews, so I'm on the other side of the table).
7 min read
Prepare for a job interview

If you are my boss and you are reading this... no, I'm not looking for another job!

About two years ago I decided to quit the job I had back then after around 6 years on the same company, and I had to prepare for the incoming interviews I was planning to have (fun fact, I only had one) because for that period of time I had none (yep, I'm that loyal) so I considered myself a little bit rusty on that area.

Looking for a new job is a job itself. It's not just about scheduling interviews and going to them, you need to prepare, otherwise your chances are pretty low (trust me, I conduct interviews, so I'm on the other side of the table).

No politician in America will tell you this, but every boss will: You can’t just show up. You need a plan to succeed.

"Thank You for Being Late" by Thomas L. Friedman

Once I wrote a post about how being average at work is over and how it won't take you anywhere, and that concept applies now again for your job hunting.

Average is officially over, so don’t be that at work
Average is officially over because it won’t take you, your company, your team, anywhere. There was a time when you would learn a skill and that would be enough to succeed at work, but nowadays what you learn has an expire date as much as the milk in your refrigerator.

Update your resume and experience information

Sounds basic but you will be surprised if I tell you how many candidates don't do it and how they end up saying things such as "Oh, no, after that job I have another position for a few years but I sent you the outdated resume".

The resume is your opening, it speaks for you before you even utter a word, and it's what gives you your interview (or the reason why you don't get one).

It doesn't need to be long, nor fancy. It just needs to be up to date, including your current and past experiences (all of them relevant to the job you are looking for, at least), with not only the job titles and dates, but with a short list of the actual tasks you performed.

Don't tell me you were a "Front end developer", but tell me what you actually did on that role, with what technologies did you work, of what other "soft" tasks you were part of (did you interview people? did you conduct workshops?).

Say "Hi" with a cover letter

You can't just attach a PDF of your resume and send it to a thousand emails... well, yes, you can, won't be ideal... or do it, that's fine, but include a cover letter.

The cover letter is how you say "Hi". In the real world you don't walk into a company's office and throw a printed resume at the HR employee working at that moment: you say "Hi" before.

In a few lines, in a short text, you can introduce yourself by telling a little bit about who you are, what's your current situation and what are you looking for.

You can have a template, but I would suggest you to personalize it for each application. Remember to talk like an human.

Take a look at what I sent when applying for my current job, in 2018:

Hello,

I’m a front end developer focused on eCommerce, specifically in Magento and VTEX, and I have been working with these two platforms since 2013 starting with Magento 1 even before the RWD theme and now dealing with Magento 2 while getting to know what’s coming in PWA related to this platform.

Right now I work at Current Company (https://www.linkedin.com/company/current-company) but I’m looking for a change. I guess by the “Career openings” section in your website that you probably aren’t looking to fill any position with a person working remote, but a friend that went through your recruiting process told me about you and I thought it wouldn't be much of an inconvenience to apply.

If by any chance you’re looking for a remote developer I also completed the developer test available at GitHub, and here’s the link with the requested functionalities: https://github.com/link-to-tes

You can check my experience in my LinkedIn profile at https://www.linkedin.com/in/nahuelsanchez, let me know if you want a PDF version of my CV or something else.

Thank you very much.

Nahuel

The subject of that email was "I'm a Magento front-end developer".

Prepare to be Googled

The very least thing that will happen on the process of reviewing your application is that your LinkedIn profile will be checked, your GitHub account will be tracked down... you will be searched on Google.

If you are going to have a LinkedIn profile, then have it up to date, otherwise is counterproductive. If you have this polished then you will be already covering the previous section about having a good resume (check mine).

Something really good to have in order to highlight yourself among other candidates is to own a blog, related, even if vaguely, to the job you are looking for.

Clearly, owning a blog is not easy at all as it requires time to build an archive of data worth showing, but it is also a good example of how looking for a new job is not something that should (must? will?) happen quickly.

You need to build an online presence, specially on the IT sector: participate in forums, Twitter, engage in LinkedIn conversations, attend conferences, be a "member of the community" at some capacity.

Have a reason for changing jobs

Money is a reason, and it's a valid one, just have that clear before the interview and be able to explain it.

When I changed jobs years ago I remember the reason was that I was feeling always on a run on my previous position, not enjoying it, and I mainly though that the way we were doing things could be different.

I didn't know exactly how different, but I knew the processes could be better in a way, and me looking for a job change was mostly focused on looking for a different way to work on web development related projects.

Whatever is driving you into looking for a new job is personal, and only you know it.

My two cents here is that don't let any anger to your current job or current company be the main reason why you are thinking of quitting and moving on.

Decide how much money you are after

Be serious. We all want a million dollars, and maybe you think you are worth that much, that's fine, just as long as you are being realistic.

Deciding how much money we would like to be pay on our next job starts with knowing how much we are doing right now in our current position, and how that is translated into the different payment forms existing out there.

For example, maybe you are getting a monthly salary right now, but that's not exactly how all companies pay its employees. Some pays every 15 days, some talks salary while expressing it on a year-time period, a lot of companies on the IT sector have a price per hour scheme, and not all companies use the same currency.

Take your current salary on its current form, and understand how to express it in all its variations, so you know how much you are currently worth when asked.

Having this all clear makes it easy to not only decide how much to ask for then, but it will come at handy when reviewing a counter proposal or comparing different offers in case you are lucky enough to find yourself on that position.

Know the company you are applying at

I can understand that you will be applying for multiple positions at the same time looking to win one, but that's no excuse to come unprepared for those interview opportunities you nailed.

Between the moment the interview is scheduled and when it actually happens there's plenty of time to investigate the company that is giving you a shot.

Looking at the company's website is the very least you must do, but there's clearly more. For example, since I applied to an eCommerce agency, I reviewed the sites they have launched to check the designs they were doing and how their code looked like.

If you have ever been on a first date with somebody you didn't really know much, you might as well have stalked him/her on plenty of social media sites... well, this is kind of the same situation.

It is possible that you will be asked, by the company itself, why you have chosen them, and even if you are not you still need to know the company you are applying at to actually discover if you think you'll fit or not.

Have a script at hand

Everything you had prepared before, and more, needs to be with you during the interview, which is extremely easy if the interview happens online.

  • Have in detail what a normal work day looks like for you.
  • Have your experienced detailed, with the actual tasks you performed, in case you need to go deep into them while talking.
  • Have a list of projects you worked on, with a short explanation for them and the technologies you used.
  • Have the reasons you are having that interview in writing, in case you were asked for.
  • Have your current salary, and what you will be requesting now, at hand in case the discussion reaches that point.

The interview itself should be human friendly, and it's a bidirectional conversation, which means that you can (and certainly must) ask questions too, specifically focused in knowing the company beyond what you discovered while stalking it.

Be prepare to share something personal too, as again this is a conversation between humans. Do you have any hobby you would like to share? Any activities besides working that will be worth mention? Something about your family?

Finally, learn from past interviews. If you don't land the first one, try to understand what could you have done different, what you missed, and be even more prepare in the next one.

Good luck!

How to become a web developer in a lot of not easy steps

While the idea behind this how-to question is kind of the same, the answer depends exactly on what kind of developer you would like to be, because the offer is extensive out there.
3 min read
How to become a web developer in a lot of not easy steps

I'm being ask that a lot! No, for real, I'm not saying that for the sake of a cliche moment in the post, but the problem is that the answer is not that short nor that simple, hence this article.

Decide what's your thing

While the idea behind this how-to question is kind of the same, the answer depends exactly on what kind of developer you would like to be, because the offer is extensive out there.

I'm a web developer, a Full Stack developer that works with eCommerce platforms, so there lays my expertise, but maybe you are looking to become an iOS developer, Java developer, a videogames creator, or something else.

Clearly, the first thing you need to do is to decide that.

Take into consideration that if you are planning on making a living out of this job you will need to like it, and second you will need to investigate the job prospects of that choice you are now making (I don't think COBOL is really wanted these days, considering it's a language from 1959, for example).

Not all developers are the same, and not all guys and gals you see with code on theirs computers are creating a program for a PC (which I tend to think it's the general assumption when I say I'm a "programmer").

Start with some courses

I have to be honest here and say that I'm not impress by courses when I see them on resumes, because them alone tell me nothing. But I will assume here that you have no experience as a developer whatsoever, and that you are starting from scratch, therefore is safe to say that while a lot of courses won't land you on a job position, it's for sure the way to start.

It's the starting line not the finish line.

Based on what you decided on the last section related to what kind of developer you would like to become, now you can filter out some of the courses available all over the world.

My suggestion here is to go local, meaning pick a course provider from your city or country because they tend to have partnerships in place with IT companies in a way you can ended up as a trainee there after completing a course.

Investigate that. Not only find a course you would like to follow and suits you, but try to do it on a place (school?) that IT companies then use to recruit from.

Play around, play a lot

Courses usually end up with a real project you would be uploading into GitHub or similar.

That's not enough. From my point of view, practice beats theory.

After the course you will be on your own. Yeah, I mean, you can start a new one, but as I said before I'm not impress by courses as I expect "real" practice.

This is when you need to start building up your portfolio, meaning a GitHub with small projects, practice code, snippets, something to show, something not just only to tell others you are more than theory but also for applying that theory into real stuff, for actually keep on learning.

Do not forget courses will provide you with the basics, and you won't become a Senior developer following courses. It will be up to you, and that's with practice.

The way it happened to me is that I had a WordPress blog (not this one, another one, ages ago), with a basic theme that I wanted to customize. So I started doing small changes, then wanted more complex ones, and one thing led to another. That's how I started.

Land a job no matter the salary

With courses on your resume and a portfolio to show is time to become real. Bye bye training wheels!

Unfortunately, this is not easy, not because of the opportunities out there that I think are plenty on the IT sector, but because you will need to escape your comfort zone.

If you are reading this you might as well have a stable job already and this idea of becoming a developer is a plan for the short term future, so at some point, with courses already finished and code already uploaded into GitHub, you will need to decide how much salary you will be willing to let go in order to start on the business.

A trainee position won't pay much. Actually, if it pays at all that's a win already, but you need to start somewhere. For example, you can be a lawyer now and there's no chance your first job as a developer will match your current income. Accept that.

Take your first opportunity on the real world as a way to learn how a company operates for real, how working on a real project looks like. This is your chance to learn the real stuff.

Your first job might be a sacrifice in terms of money, but after this, with one job experience in your resume, the opportunities will increase exponentially.

I know, it's scary, but come on, you first job won't be a Senior position. Get real, face it, it will be worth it.

Suffering from the wannabe career plan syndrome

A career plan or career path (whatever you prefer to call it) is the way to have some motive to get up in the morning and go to the office. Without it we are just repeating each day in a loop without a long-term goal: get up, shower, go to the office, leave 8 hours later, eat, sleep, and redo.
4 min read
Suffering from the wannabe career plan syndrome

A career plan or career path (whatever you prefer to call it) is the way to have some motive to get up in the morning and go to the office. Without it we are just repeating each day in a loop without a long-term goal: get up, shower, go to the office, leave 8 hours later, eat, sleep, and redo.

Is it money what motivates you to get up each morning? That's fine, but that won't work as a stimulus for ever. If you're good at your job you might be able to get money in another company, so that's not the problem here.

When you put money aside and you don't have a career plan... why are you going to work? At some point you'll realize that even by redoing the same day for the next 3 years nothing for you will be different. Isn't that sad?

Have you ever gone to one of those places where you can play arcade video games like Daytona USA? Do you remember that game or any other racing video game? You might recall that countdown on top of the screen that you have to beat, by crossing a checkpoint, before it reaches zero.

That whole concept of going through checkpoints is the career plan, is the reason why you keep your feet on the gas and try to get better on each turn. So, it goes 5, 4, 3, 2, 1 aaannnd checkpoint, and now focus again to get to the next checkpoint having in mind that the following turns must be perfect to avoid losing those precious seconds.

By now you can expect that I'm going to say that not having a career plan is a bad idea for both the company and the employee (I'm not a best-selling author, my way of writing is pretty much straight forward), but you know what's worse than not having a career plan?

Having a wannabe career plan

Designing a career plan is always hard for a company, specially during this era of acceleration where things change too much too fast. So, when trying to accomplish one, companies end up half way with a sort of a career plan that meets nobody's expectations.

A good way to spot a failing career plan is when it's all about fancy titles for the employees but with no well-defined task or responsibilities. For example, in my line of work you can start as Junior, then Semi Senior, Senior... let's assume then Technical Leader, maybe Technical Manager later, following Architect, and finally Developer Ninja Evangelist (I don't know).

Sounds great, and usually each promotion deserves popping a bottle of champagne as it's really a great accomplish. The problem appears when you start getting new job titles but your actual day to day job remains the same.

Yes, that happens a lot. You get your paycheck saying that you are the Manager of All Employees in the company, but you're still doing exactly the same job you were doing for the last five positions (checkpoints). After three promotions you'll wake up one morning and go "Waaaaait a minute".

At some point employees realize that the company is failing at providing a real career plan so this whole concept becomes an internal joke.

The solution is quite simple for the people inside a company with the responsibility to came up with a career plan: sit the duck down, give this task the priority it deserves, take note of your long-term plans, listen to the employees, and create it.

Not having one, or having an incomplete one, is doing more damage than you imagine: employees without motivation, a high turnover rate, low productivity numbers, a lot of complains in the office... good people leaving the company without even submitting to a negotiation process because money doesn't even matter anymore!

Really, non-existence career paths or wannabe career plans will kill a company from inside, and I can't stress that enough.

If your company experiences some of the symptom above, then again people inside your workplace with the responsibility to came up with a career plan should start working on this.

Who? Well, you're part of this task too

The company you're working for won't be able to come up with a career plan by itself, and for sure they can't download a career plan from the Internet. So is essential that you take part of the making of.

No matter your current position, you can identify that there's no career plan in your company and instead of whining you can contribute with what you see is next for the company but missing a role to accomplish it, or what you want to do inside the company but there's no role right now you can aim at.

At the same time, when talking about a promotion or your next role, demand the exact task and responsibilities you will be taking on, and also demand specificity about the tasks you won't be doing anymore (that you would be leaving behind for other to take care of).

If none of that is clear, if so the company is suffering from the wannabe career plan syndrome, then it's up to you to come up with what you want to do next. Come on, don't expect everything on a silver platter.

Having a career plan is good for you as an employee not only for all the motivational purposes I mentioned but also because it will help you to build your professional profile, help you to improve your hard and soft skills. Even if you already thought of not having your current job for the rest of your life, for sure you'll need to show your resume in the next job interview.

And it will look much better if it evidences a career.

Average is officially over, so don't be that at work

Average is officially over because it won't take you, your company, your team, anywhere. There was a time when you would learn a skill and that would be enough to succeed at work, but nowadays what you learn has an expire date as much as the milk in your refrigerator.
4 min read
Average is officially over, so don't be that at work

Let me take a moment first to thank the "Send a free sample" Amazon functionality, because it's always hard to find a good book, but when it goes smooth by reading then you know you find your perfect match.

This is what's happening to me with "Thank You for Being Late" by Thomas L. Friedman, a book that talks about how things (technology, globalization, climate change, biodiversity, etcetera) are going super fast and how the society struggles to keep the pace, and it's like a how-to deal with everything that's going on today.

During Chapter 8, Friedman talks about how we are leaving the Holocene epoch for work. What's the Holocene? A "perfect Garden of Eden period when everything in nature was nicely in balance", as the author would describe it.

Basically, really really basically, following is "everything" that Friedman thinks about what's happening to work:

In those “glorious” decades after World War II [...] you could lead a decent lifestyle as an average worker [...]. And by just working an average of five days a week at an average of eight hours a day, you could buy a house, have an average of 2.0 kids, visit Disney World occasionally, save for an average retirement and sunset to life. So many things then were working in favor of the average worker.
[...] many workers in this labor Holocene enjoyed what was known as "a high-wage middle-skilled job" [...]. The high-wage, middle-skilled job has gone the way of Kodak film. In the age of accelerations, there is increasingly no such animal in the zoo anymore. There are still high-wage, high-skilled jobs. And there are still middle-wage, middle-skilled jobs. But there is no longer a high-wage, middle-skilled job. Average is officially over.

Now you know from where I took this post title.

Giving the extra mile?

There's no point on thinking about this concept at world scale, but instead try to apply what Friedman says to your workspace or personal work experience, either as an employee or employer, either as a Developer or a Technical Leader (if you don't mind me using terms I can relate to).

I remember that we had a money award at my previous job called "The extra mile" which worked as follow: everybody can nominate a coworker laying the reasons why we though he or she deserves the price based on that coworker performance for the last month, and then somebody from all the nominees gets the money.

Personally, I never quite understood why this award existed or why... how to... nominate somebody. Are we now supposed to reward people for just doing their job? Isn't that the salary what's for? But after reading this book now I get it, we're celebrating not average people! Which is terrible sad.

Average is officially over because it won't take you, your company, your team, anywhere. There was a time when you would learn a skill and that would be enough to succeed at work, but nowadays what you learn has an expire date as much as the milk in your refrigerator. While average gets you nowhere, the "extra mile" is now your start point at middle class.

If you have a friend who is a Doctor then he or she can tell you about the end of the Holocene epoch concept. Your friend probably said that getting the Doctor title isn't enough nor the end of the journey, is a checkpoint not the end of the race, as Doctors need to keep on studying for the rest of their lives if they want to be "something". That now applies to all working areas.

Spoiler alert: there's no end of the race... well, probably there is, and it's called mediocrity. If you are average, please, don't ask for a raise, because you're putting an expiration date on yourself... your team, your company.

No politician in America will tell you this, but every boss will: You can’t just show up. You need a plan to succeed.

That was Friedman again.

Enough of abstract concepts, let's get (even more) real...

I'm a front end developer, do you work as a web developer or something similar? Then we can both remember a time where your resume can only include HTML and CSS, and that would give you any job. SASS was a nice to have, and a JavaScript framework a bonus point.

Now if you open LinkedIn the job offers will list Vue.js as mandatory. For a framework released 4 years ago now Recruiters ask for 2 years of experience, but 2 years ago was in no one's picture. That's a mind-blowing perfect example of how things became so fast so quickly!

What do you think is the JavaScript framework... or web development technology... you are not learning this year, but companies will require two years of experience starting next year?

On another topic, everybody is saying that 2019 is the year of Progressive Web Apps: there's a lot of post about it, a lot of talk about it in conferences, Vue Storefront exists for nearly a year, Magento is releasing PWA Studio in the following months... Are you doing PWA or at least do you have it on your roadmap? Or are you planning on pass on this year without touching it? If so, cross your fingers for your competitor to think alike.

Are you a designer? Are you still delivering static PSD files or are you doing animations already?


Remember that showing up at work is not enough, that's only average, you need a plan, you need to keep on moving.

I always liked to say during performance reviews or interviews that everybody has access to the same documentation, the same resources, tools, software, the same mentors inside a workspace, so the difference between good employees and bad employees, the difference between those who succeed, those who fail, and those who meh (averages) is the personality.

Anyway, I'm not saying that to excuse companies from responsibilities.

Celebrating not average is sad because it means that everybody but that one who won "The extra mile", including the whole company, will struggle in the near future. Are we all average but one?

Shouldn't we stop and rethink what we are doing, where are we going and how are we getting there?...well... stop and rethink... I know how ironic that sounds in this post about the era of acceleration.

Hiring a remote developer but as an actual team member

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... Well, it doesn't have to be that way.
4 min read
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.

The long standing cliche war between the sales team and the developers team

If you think this happens only on the company you work for, surprise surprise, this "war" appears in many software developers companies. So, what's the problem? It seems to be that the developers claim that the sales guys are selling too much, and sales shrug their shoulders and keep on selling.
4 min read
The long standing cliche war between the sales team and the developers team

If you think this happens only on the company you work for, surprise surprise, this "war" appears in many software developer companies as I happen to discovered in a dev exchange session during a Magento Meetup.

So, what's the problem? It seems to be that the developers claim that the sales guys are selling too much, and sales shrug their shoulders and keep on selling because that's what they do.

For a start let's say for a fact that sometimes developers are way up to the eyes and can't handle either the amount of work they have or the delivery dates people up in the chain of command are expecting them to accomplish. I'm not whining about it, I'm saying it happens to me in several occasions and it's something companies acknowledge by time to time (therefore, a fact).

If you are a developer going through this, then of course you are going to complain when a new project arrives as "you simply don't have more time to do it and nobody seems to understand that".

Time passes and you, developer, contain your discomfort deep inside, only having as a escape pipe your rolling-eyes attitude when a new client is presented. That means that when you encourage yourself to talk about this problem, with the sales team, is already late: you're angry, the sales team is angry too because they know by talk around the water cooler that the developers are complaining, so the discussion is getting to nowhere.

Sorry to disappoint you, my fellow developer, but to keep the company open for business the sales guys must attract new clients. Sales gotta sales, and, on top of that, the company must remain competitive, which means that the estimates provided in the commercial proposals must be competitives.

Stand in the shoes of a client picking a company for his next project: you will look at the estimates written in the proposal from the different companies you're consulting before choosing one, in addition to take into consideration the quality their provide.

Finally, the sales team times are different than the ones experienced by the developers team. Pre sales can take months, so it's hard to predict right now how busy the developers are going to be in, let's say, 10 months from now.

If you put your dev problems aside for a second, the explanations coming from the sales team are understandable, so give the sales guys a break.

I can see that both sides are right but unwilling to listen to the other. Nobody talks to nobody, developers raise complaint among developers only, sales within sales, and the real problem is never faced.

Up to this point we must agree that developers happens to have too much on their plate, and sales must keep on selling because everything I just said, but nobody is going to quit doing what they're doing to solve "the problems from the other side", at least nobody is going to do just that literally.

Understand that it's not about your problems and their problems, but a problem we have as a whole team.

The first step toward a solution is to start seeing this as an integrated team between devs and sales, no separate teams. Otherwise, if you can't accomplish this, then become a freelance and sell your time by the hour, because whether you are a developer or sales you're only thinking about yourself and not seeing the big picture, missing an opportunity to be a better company and benefiting you, plus everybody in the process.

Start talking, and planning together, but don't wait until you're mad. And find common ground about the problems you are facing, because sometimes it's not about changing the reality you're living but more about facing it and accepting it. Everybody, devs and sales, acknowledging the same reality (the same reality being the key words in this sentence).

Not changing the reality but just accepting it? Here's an idea...

Wouldn't be better to work in a place where a salesperson sells "the impossible", but closes the door behind the client, turns to the developers and says "Look, this project's delivery dates are challenging, but it's a key client we had to win"? Wouldn't be better to work in a place where, after that, the developers team says "Okay, we both agree on the times for this new client to be very difficult, but since we both agree on that let's work this out internally"?

Resolve it indoors! Keep on selling, good job, then sit on the same table and plan altogether with the developers team how are you going to accomplish the deadlines. It's impossible to get it done in one month? What if two devs work on this instead of one as it was originally planned? Wait, does this augmented reality requirement must be on the go live or can it be postponed for the support phase? Work it out as a team!

When I say that it's not about changing the reality but accepting it I'm saying that as long as we agreed on the problem, as long as we stand on the same boat knowing what's going on inside the company, both devs and sales, there's an opportunity to fix what's going on.

And, if not, if you don't think this means fixing anything... at least you'll be working on a place where the "enemy" is not inside the same building, causing the working environment to be much better, less stressful for sure.