Despite the general aversion to systematization without reason, there are some processes that we've found help set up X-Team developers for success. The following are the few things that we think you'll find helpful in being a successful remote developer.
You'll see us reference "the Core Team" several times throughout this guide. This is referring to the team that keeps X-Team running. That's some of us above back in the day when we were a small team, hanging out in Thailand, envisioning the future of X-Team. We've come a long way!
We named this team after open source projects, which also have core teams. Why? Because we see ourselves as a team of people dedicated to supporting X-Team developers, helping to reach new highs and to keep moving forward.
We're the ones who help create opportunities throughout the community for you to learn, grow, explore the world, stay healthy, and unleash your potential.
At the time of this writing, the Core Team consists of the following people:
Below you will find all of the people who oversee the teams in the core team who you can DM anytime with questions, feedback or requests.
- CEO: Ryan Chartrand
- Director of Marketing: Alberto Grande
- Director of Recruiting: Jonathan Ortiz
- Director of Vetting: Gian Franco Vitola
- Director of Talent Ops: Jomar Garcia
- X-Team Originals
- Community Manager: Cleo Jardim
- Head of X-Team Creators: Renato Estranho
- XHQ Product: Gosia Jezierska
- XP Product: Paul McCrodden
- People Ops
- People Ops Lead: Luis Augusto
- COO: Brad Giblin
- CBO: Jake Foley
- Head of Partnerships: Luke Foley
- Vice President of Sales: Sam Seliger
- Partner Relations Lead: Breauna Kading
- CTO: Josh Johnston
We're here to support you, 24/7.
Ryan Chartrand, X-Team's CEO, puts together an annual guide on how to continue building a successful career as a remote engineer. We want to position you for success, and we hope this guide helps you understand the expectations that leading brands have of top engineers:
Let's jump into what we find is the most valuable piece of advice for ANY remote worker.
The word "journal" probably brings to mind things like: “Dear Diary...” But what we're talking about is much closer to `Captain's log, stardate 2017-09-10`.
Many X-Teamers maintain daily journals as a way to build trust with the teams they work on.
X-Team CTO Josh Johnston's Journal on Slack
See, there are two distinct objectives when writing these X-Journals.
- For the team you work with to be able to understand what you're moving forward each day, and to get insight into your work process. It's important to note: this isn't a daily or weekly standup. A journal is like a vlog of your work day. It shows your team you are not only present, but what you're thinking and planning in realtime.It should primarily be accessible by the team that works with you on the project. It should include things like what tickets you worked on, what problems you ran into and how you solved them, what you learned that day, and what you are moving forward.
- The second one is for us, the core team, here at X-Team. This is where you can reflect on how it is working with the company you're working with.Are there a ton of issues that aren’t being tackled and your suggestions are being ignored? Put it here.Is the client’s communication erratic or hard to follow? Are the goal posts being moved all the time? Put it here.Does the client not provide you with what you need to be able to do your job? For Flying Spaghetti Monster’s sake, PUT IT HERE! You can even use this space to write your reflections on bigger ideas you have in the works, personally or professionally, and come back to those thoughts later on. Add people from the community to this channel who you want to share ideas with.Basically, this second journal is here so we know what is going on and can step in and help solve problems, as well as be your personal safe space to share your personal and professional reflections. This is the space where you will always know we've got your back. We are your concierge, your support arm, your team working in the background to make your work experience the best it can be, and your collaborators on your big ideas.
And if you are worried about being seen as a "complainer" when you share critical feedback about how things are going — no one in X-Team has ever landed in hot water for expressing objective criticism. Obviously, it has to be professionally done — like putting it in this journal and/or messaging your X-VIP ambassador who onboarded you and/or your account manager directly, but you will definitely not be penalized for it. If anything, “comparing notes” from several X-Teamers on a project could be helpful in potentially improving the work environment for everyone.
So, now that you’ve read all this, if you’re not keeping an X-Team journal yet, why not give it a shot? Here are some basic steps to start:
- 1.Upon joining our slack, a journal channel was created for you, usually with the name structure #journal-name_lastName.
- 3.Create the first, Hello World! post, which should include a simple introduction of yourself, with things like:
- What are your usual working hours (and timezone)?
- What is your preferred work environment? Beaches, mountain cabins, cafes, your own comfy bed...
- What does a normal day for you involve (no need to share anything personal you feel uncomfortable sharing)
PROTIP : If you need an example journal, take a look at #journal-samuel-pepys on our Slack.
Once you get the hang of the idea and are posting consistently to it, create a journal in the client's Slack as well. Let that team know what your 'way of working' is like, and see if they'll share theirs with you as well so you understand their expectations. Just make sure not to post your concerns about the client in that journal, but rather in your X-Team journal channel so we can help you.
There are a few journaling techniques we've found which are great at building trust with your team.
The first one is called TIL (Today I Learned).
Through the years, we’ve established that there’s nothing that builds trust with partners like some good ol' transparency and sharing of knowledge. That’s why we want you to implement this technique in your daily routine.
What is a TIL?
TIL (Today I Learned) posts can be really short. They show one thing you learned while working on the project.
Sometimes, it's something very specific to the project, like a significant requirement that you found while digging through some docs. Another time, it's more general info that you discovered or remembered along the way, like a debugging technique or a handy bash trick.
How to write a TIL
Start looking for those little "learning moments" in your day and quickly jot down some notes in your journal. Remember, keep it quick & raw. If others read it and have questions, they can ask for more info.
Try to keep it down to a couple of sentences and maybe a code snippet or screenshot.
Exercise: Try making a couple of TIL posts during your working day.
Why do we often avoid this?
It's easy to fall into the trap of thinking"I won't share that TIL, because everybody probably knows it already, and I will seem dumb!”Or“What if I'm wrong and there's actually a better way to do it??"
As a wise commander once pointed out, "It's a trap!"
Just do it, and everyone will thank you later.
Why should we do this?
Let's address those two fears:
"Everybody probably knows it already."
Who cares :) Maybe they do, but maybe they don't. Only someone very arrogant will think badly of you at this point. That's their problem, not yours.
"What if I'm wrong and there's actually a better way to do it?"
Again, don't let this stop you. If somebody else knows a better way, this may be your golden opportunity to learn it! They might have been avoiding sharing this knowledge for the very same reason described above! This is your chance to break the cycle.
The other day I was reviewing pull requests on a GitHub project, I and remembered a handy way to review them locally. I wrote it as a quick "TIL" entry, and since there's no sensitive business info there I also posted it to Twitter: https://twitter.com/joshwnj/status/855215578042073088
In a couple of days, it had 13 retweets and 9 likes. That's nothing groundbreaking, but if there's a handful of people that found it useful, it's totally worth the 2 minutes it took him to do it.
It’s time to share with you another great journaling technique about reflections. Once you gather some entries in your journal, they are a great resource to reflect upon and make improvements.
Having done hundreds of code reviews, we've found reflections to be a very helpful process to learn about good programming techniques. Sometimes, we review some code, and instinct tells us it is "good" or "bad".
The next step is to try and articulate why. Is it just written in a style that goes with or against our personal preference? Or is there some deeper reason?
We encourage you to use code reviews as an opportunity to write new journal entries. Writing "reflection" entries is similar to TIL, but rather than learning something new, the focus is on describing something you observed and why you liked/disliked it.
Reflect on your own code
It's helpful to write reflections on your own code as well.
We don't always have time to complete everything to the level of perfection we hoped, so this is an opportunity to add more context to any rough edges you may have had to leave behind.
- Think about future maintainers of the code, or other people doing similar activities in the future. Are there things they'll need to keep in mind or things that will make their job easier?
- If you were to implement this feature again in the future, are there things you would do differently?
- Any known tradeoffs or pros/cons of the approach you took, especially if it has an impact on other parts of the system.
- Finally, did you observe the golden rule of coding? I.e., “Always write code assuming the next person that’ll work with it is a violent psychopath that knows where you live.”
Twice a month, on the 1st or 2nd and then on the 16th or 17th of the month, you will have the opportunity to submit your invoice with the total number of hours worked, reimbursement requests, etc.
On one of those days, go to XHQ. There, if you click on your avatar, you will find your banking information and profile sections, which you should've filled out the first time you’re there. In the left menu, you have several options, with the two important for now being Vacation Request and Submit Invoice.
IMPORTANT — Fill out and double-check the banking info before you click on submit invoice.
Vacation Request You should always request time off at least a month in advance, preferably more. However, we understand that unexpected things happen, and if at all within our power, we'll have your back in emergencies.
Submit Invoice When you click it, you’ll go through a pretty self-explanatory process.
- 1.Invoice Setup Select the date range for the invoice. If you started on e.g. the 10th and you're submitting the 16th/17th-of-the-month invoice, select the entire 1st-15th period. If you're submitting the full-month invoice, select the entire 1st-31st period.
- 2.Hours Input how many hours you worked on which project in this invoicing period.
- 3.Reimbursements & Referral Bonuses Enter any reimbursements/referral bonuses you may wish to claim. Some examples would be Unleash+ Budget reimbursements. If unsure, whether something fits, ping #unleash on Slack or ask your X-VIP ambassador who onboarded you.
- 4.Banking info Double-check where the money is going since the worst thing is to not get the money because of a stupid typo. And that's it. If you’re experiencing any kind of problems with your payments, just talk to @Luis, and he’ll help you out.
- 5.Notes You can also leave us a note here.
You didn't think we'd forget about this, did you? This jewel, reserved for X-Teamers on an internal or partner project, and for core-teamers, is the equivalent of USD 2,500 per calendar year (pro-rated for new hires), which is there to keep your skills current, your body fit, your mind sane, and your entertainment desires tickled. There are several categories of expenses you can use your Unleash Budget for with the general limit being a cap of $100/month/category unless otherwise specified in the category description. There are two exceptions to the category limits:
- 1.Once a year, you can reimburse up to 700 USD for anything that is valid under any of the categories
- 2.Twice a year, you can reimburse up to 350 USD for anything that is valid under any of the categories.
These exceptions do not stack for the same item.
The Unleash+ budget unlocks after you've invoiced for at least 150 hours and is usable for as long as you're on a paid project with us.
When you first join X-Team, this is the amount of budget you'll have access to during the first calendar year depending on which month you join:
Jan -> $2500
Feb -> $2500
March -> $2500
Apr -> $2250
Jun -> $1750
Jul -> $1500
Aug -> $1250
Sep -> $1000
Oct -> $750
Dec -> $250.
If you are unsure whether something you'd like to get fits into one of the categories or if it isn't included in the list at all, shoot a quick ping to your Wizard who onboarded you and they'll help you figure it out.
The only thing we ask is: Everyone in our community benefits by others sharing (including you), so using your budget ideally results in sharing something with the community. For example, if it’s a course/book, then publish a short review or a recommendation in the #courses channel; if it’s a conference you attended, you could write a blog post about your takeaways. You get the idea.
X-Team's collectibles and apparel store is called The Vault
You can purchase items by earning coins or stars.
Stars are earned from large Community milestones, like the launch of a new Season, the X-Summit, or X-Mas at the end of the year, to name a few. You could also always ask your X-VIP ambassador who onboarded you for one if you really love something in The Vault ;)
Due to international mail and customs' shenanigans, if you live in a country with a potentially problematic customs authority or post carrier, we recommend you look into the parcel forwarding service. They are essentially a middle man that accepts your shipment in (usually) the US and then uses a courier to deliver it to you, which has a much higher chance of succeeding. If you order several things at once, which could also include Amazon or other purchases, they can consolidate all those packages into a single one, so you save on shipping.
And to make things easier, you can also reimburse up to $100/month from Unleash+ for these parcel forwarding expenses!
It is always best to talk to your friends from the same country to see if they can recommend one from personal experience. But either way, here are some that we think might work for you (in no particular order):
The goal of this explanation is to help make the rate raise conversation both straightforward and fair. Raises should be predictable and balanced to reflect the effort and growth that you’ve achieved since the last raise, giving you a clear path to achieve your financial goals.
Rates can be discussed whenever, but we suggest between 12 and 24 months is ideal.
You should initiate a rate discussion with your team's manager (on X-Team’s side) at a time that reflects a significant milestone in growth. This may coincide with an anniversary, the beginning/end of a project, or a major milestone in your growth.
When discussing a new rate, we’ll want to understand what your long-term financial goals are. We want to be able to set a path for the next raise and ensure that, in the case that you're an engineer, our partner contracts can support your new rate.
Prior to agreeing on a raise, your manager will generally consult your client, your team, and any other relevant people. A new rate will be effective at a date agreed upon, either an upcoming pay cycle or the commencement of a new project.
When we consider rate rises, development capabilities are only one factor.
A true X-Teamer contributes to the success of their community, our partners, and X-Team.
These are examples of actions we expect to have seen from any X-Teamer looking for a rate raise:
The community is yours to mold.
X-Teamers strive to make X-Team a better company which works with amazing partners, hires new X-Teamers, and improves the lives and skills of our peers.
A true X-Teamer is an ambassador for X-Team around the clock, constantly looking for improvements that benefit us all.
X-Teamers are also constantly looking for ways to share their knowledge, give back to others, and improve their surroundings.
- Staying active
- Active contributor on Slack
- Starting community initiatives
- Growing as a developer
- Open source contributions
- Supporting X-Team’s future
- Developer/client referrals
- Supporting community events
- Sharing knowledge
- Mentoring other X-Teamers
- Writing X-Team blog posts
- Conference/meetup talks
X-Teamers go above and beyond to help our partners succeed. While we love to #shipit, it’s also important to understand the role an X-Teamer plays in building and supporting a great team.
- Meeting attendance
- Daily updates
- Respect & empathy
- Code quality
- Team improvement
- Process iteration
- Relationships with teammates
- Feedback from your teammates
- Knowledge sharing
- Communication & attitude
The above points aren’t exhaustive, nor do you need to check every box. We want to hear from you about your efforts and achievements, and about the ways you’ve sought to add value to yourself, our community, our partners, and X-Team at large.
We often receive questions about our policy on people visiting the teams they work with every day. We put our heads together and came up with very simple guidelines:
If the partner requests your on-site presence, you have to let your Account Manager know, not only because you should generally keep them in the loop about anything partner-related but also because they may be able to get you a sweet "travel package".
If your visit, however, is to be unofficial, outside of the partner's premises, and work-free, by all means, go grab a few beers with the team and hang out!
Equipment is only provided if X-Team's partners provide equipment to you. This can include laptops, devices, and beyond. All other equipment is the responsibility of X-Teamers to purchase and maintain.
There are two scenarios where you might contribute to X-Team's internal projects:
- 1.You have just come off of a partner team and we are still looking for your next team.
- 2.You have been hired before joining a partner team.
In both cases, the whether you get assigned to internal and for how long will be determined by the core team.
We have a variety of internal projects, all of which are critical to the success of X-Team. These are the platforms that drive the core functions of our business and ensure that X-Teamers get to work on great teams and that the community experience is the best it can be.
This guide will help explain the expectations we have around our internal projects.
- 1.As these internal projects are the lifeblood of X-Team, they should be treated the same as any project you work on. Ensure you maintain your good habits and strong discipline and remind yourself that your performance will ensure that we remain a sustainable company and community.
- 2.Work on internal projects is full-time (40 hrs/week) unless explicitly agreed otherwise.
- 3.The same high coding standards and effort that you would adhere to with a partner team are expected.
- 4.Communicate actively, join planning sessions, and keep your team up to date on a daily basis via a personal journal like any great developer would.
- 5.Follow the dev flow that exists on any project and ensure the actions you take conform to our existing standards and methodologies.
- 6.If you are not performing up to X-Team's standards and expectations (see above) after multiple Sprints and have received performance feedback following same without improvement, you will be removed from the project and are less likely to be considered for future opportunities with X-Team.
- 7.We know that the vast majority of X-Teamers know most, if not all of the above, and work in line with these expectations by nature, but it must be documented and adhered to for everyone and to address any uncertainties. We appreciate all of your work to-date and hope you enjoy the work on our internal projects!
The same vacation policy applies to internal projects as it does to partner projects. Talk to your team, talk to your project manager, and if they say it's fine, put in a Vacation Request in XHQ and add it to the gCal shown to you during Internal Project Onboarding.
We understand that you would like to showcase what you're doing to the world. Judging by partner feedback, you're excited about your work, and we love that. Even so, when you're putting your work on your CV or LinkedIn, please, keep the following in mind:
- Under employer, always put down X-Team. As you will see in the sample template below, it's perfectly fine to mention you're working on a project with the partner, but putting them down as the employer could land both you and X-Team in trouble.
- Both due to NDAs and general security concerns, please do not specify the exact stacks and/or projects you're working on. Seeing as you're seniors, giving a more high-level overview should be more than sufficient.
And always remember - we love having you here. But in the hopefully unlikely event that you at some point decide that you'd be happier elsewhere, you can rest assured that you will receive a reference from us, which will dispell any potential doubts anyone might have about your abilities, without exposing both you and us to unnecessary risk.
As one of X-Team's Senior Developers, I'm part of the team which was assigned to work together with [Partner]'s team on one of their projects, used by [millions] of people worldwide every day.
Working on this project, I got to fully leverage my [back-end] development skills along with my [noSQL] database, [data flow], and [overall security] design knowledge
Among other things, I was tasked with:
- [Ensuring seamless integration of several internal and external services, running on diverse architectural paradigms],
- [Implementing state-of-the-art security technologies and approaches],
- [Onboarding new team members],
Job security is not something you should ever fear at X-Team. As in many other areas, you'll find that we've got your back.
Your journey at X-Team is continuous. If a partner engagement ends, you will join our X-Team Originals (XTO) division, which has a ton of awesome opportunities to work on with us. While you work for XTO, we'll be looking for another great opportunity for you to join with one of our partners.
Although it is highly uncommon (98% of X-Teamers stay at X-Team for many years), there are 2 scenarios where your journey would unfortunately have to end:
- 1.Your performance with one of our partners or on any of our internal projects is well below expectations. Missing meetings, being unresponsive, poor attitude, lack of updates or delivery, not meeting expectations, or not living up to our core values are the most common reasons this might happen.
- 2.The technology you primarily work with is highly niche or uncommon in the market, making it unlikely we'll find you another opportunity within 3-6 months. This is quite rare, as we encourage you to always be learning and growing so that your skills will always remain marketable to help you continue having future roles.
If either of those scenarios were to happen, unlike most companies we still want to support you, and will invest in you with a runway payment to give you plenty of time to find your next job outside of X-Team.
The key to a strong remote team is having clear expectations, so we always strive to make sure those are in place. If you ever feel they aren't, speak with your manager to make sure they reset them for you.
Job security in our core teams is simple: meet expectations, and you never have to worry. X-Team continues to be a growing and thriving business, which makes your role here secure, as well as creates opportunities for growth in your role ahead of you.
Despite both your and our best efforts to prevent this from happening, real life can sometimes become simply too overwhelming. While we've had encouragingly few cases of burnout over the years, occasionally, it does occur. In such cases, Rest & Relaxation can be a great remedy. Some parts thereof are already covered by utilizing your Unleash budget toward Health & Wellbeing.
If just relaxing with a beverage of your choice on a beach doesn't suffice, however, we recommend you check out BetterHelp. It fits perfectly with our remote philosophy. You can talk to the therapist asynchronously via text or set up a live (video) call. The therapists are certified professionals, and you get assigned a therapist that specializes in what bothers you.
Of course, you can reimburse the therapy from your $2,500/year Unleash budget.
We hope this helps!