FullStack Labs is a leading software consultancy seeking creative and skilled developers to join our fast-growing team. Our mission is to design and develop technology that improves the lives of its users while providing an exceptionally high level of service to our clients.
We are looking for experienced developers who want to be part of a fast-paced, dynamic environment, where everyone’s opinions and efforts are valued. We hire outstanding professionals and give them the opportunity to thrive in a collaborative atmosphere that values learning, growth, and hard work.
Our team of 100+ professionals is distributed across the United States, Colombia, Costa Rica, and Mexico. About half the team is in the USA and the other half in South America. In the United States and Colombia, we hire mostly full-time employees. In Mexico and Costa Rica, we are currently hiring full-time contractors.
We're mainly a remote company but we also have small offices in Barranquilla and Washington D.C. We offer clients a "nearshore+" software development model, using a geographically blended team of developers, designers, project managers, and QA professionals, which offers the safety, security, and convenience of USA based professionals combined with the cost savings of nearshore professionals.
What it’s Like to Work at FullStack Labs FullStack Labs is a software consultancy. If you come to work at FullStack you will be a software consultant. Companies hire consultants to help them solve problems that they are incapable of solving on their own. So by definition, the problems that companies hire us to solve tend to be hard problems. Ultimately, solving problems is what we’re hired to do, and building technology is how we go about doing it. So as a software consultant at FullStack, your job will be to help us solve our client’s problems. To do this, you will need strong problem-solving skills in addition to strong technical skills. Problem-solving often comes down to being able to figure out solutions to problems when no obvious solutions exist. This ability to “figure it out” is often the most important skill possessed by our top performers, and will be critical to your success at FullStack.
FullStack provides three primary types of consulting services to clients: 1) Design and develop new web and mobile applications; 2) Take over development of existing, legacy applications; 3) Staffing and team augmentation. As a developer at FullStack, each project that you work on will fit into one of these three buckets. Some of our projects are relatively short (3 months or so) and some of our projects are long term (3 years). So depending on the length of the project you are assigned to, you may spend a lot of time on one type of project (a long term staffing project for instance), or if you’re assigned to shorter-term projects, then you may jump from project type to project type more frequently. We’re looking for developers who are flexible and willing to work on all three types of projects, and are open to working on both long term projects and short term projects.
Design & Build About one-third of our projects are design/build, meaning we design and build the application from the ground up. This includes iOS, Android, and web applications. For these projects, we typically start with a design and discovery phase, which includes designing the app and building a clickable prototype, then building a development estimate based on the prototype. We also conduct a technical discovery process to uncover hidden technical challenges and solutions, prior to starting the project. To see a detailed description of the process we use to design and build new apps, please review our Playbook, which can be found in the About Us section of our website. As a developer at FullStack, you may be responsible for building new apps from start to finish. Sometimes this will be as part of a team with other developers, and sometimes (on small projects) you will do this on your own.
Legacy Systems About one-third of our projects consist of taking over the development of legacy systems. Often these are apps that were built by other consultancies, and the client wants to move development to a new consultancy. Sometimes these are apps that were built in-house, and the client has decided to eliminate their internal development team and outsource 100% of the work to us instead. The age and technology stacks for these legacy applications can vary. Sometimes the apps are pretty old, and other times they are relatively young. Sometimes these apps are well built, and other times they are in subpar condition. In all cases, the legacy system will come with its own unique set of challenges, and the client is counting on us to dig in and improve the quality of their app, and help them solve problems. As a developer at FullStack, you may be assigned to work on a legacy system, either individually or as part of a team, so it will be important that you have the desire and necessary skills to successfully work on older, legacy systems.
Staffing / Team Augmentation About one-third of our projects consist of staffing/team augmentation. For these projects, we embed between one and ten developers into a client’s existing team, and the client is responsible for planning sprints, outlining work, etc. Often staffing projects are for larger, name-brand companies, but sometimes they are for smaller companies as well. Sometimes the client is really good at planning sprints and outlining work, and other times it's incumbent upon us to help them determine what to work on. Sometimes, staffing projects can be short term (a couple of months), and sometimes they can be long term (a couple of years). In most cases, we follow the client’s way of doing things, as opposed to our way of doing things, so we have to be flexible and adaptive and willing to try doing things their way. Also, since we’re working on an existing app, these projects always consist of working on legacy systems, as opposed to building new apps. And since we’re embedding our developers into their team, there’s a lot of visibility internally at the client, so professionalism becomes more important. An important part of your success at FullStack will be your ability to embed yourself into a client’s existing team, learn their ways of doing things, quickly get up to speed on their application, quickly start helping them solve problems and overcome challenges, and conduct yourself in a professional manner that reflects well on FullStack.
Time Tracking, Estimates, and Deadlines Building estimates, tracking our time, and meeting deadlines are an important part of the value we offer to clients. Before clients hire us, they usually need to know how much we will charge them for our work, so they can get budget approval and make sure they can afford to engage us. In order to help them determine this, we build estimates. For new apps, the estimates are based on the prototypes created by our design team. For legacy systems, we generally build a product road map and create an estimate based on that. Since clients build their budgets and internal schedules around our estimates, it’s important that we complete work within the estimated time frame. Things change throughout the project, and when they do, we update the estimate to reflect these changes. To help our teams hit estimates, we break the estimates down into sprints. When our project managers and team leads create stories for each new sprint, they assign an estimated number of hours to each story. Then for each sprint (which lasts for two weeks), we assign each developer approximately 80 hours worth of stories. We then track our time against the assigned stories using Toggl (time tracking software), which we integrate with Jira. Tracking time, working against estimates, and completing sprints on time will be an important part of your success at FullStack.
Being a Team Player Our development teams usually consist of 1 - 3 developers, a project manager, a quality assurance professional, a designer, and a product owner. At FullStack, software development is a team sport, and you will need to be a team player. The rest of your team members (and our clients) will be counting on you each and every day. So it will be important that you consistently do your best work, and help the team achieve its goals. If you’re more of a lone-wolf developer, or if you’re looking for a remote position that will allow you to work by yourself with little communication with your manager or team members, then this probably isn’t the right job for you.
Working Hours and Remote Work Our team is distributed across North and South America, and we all work during normal local business hours. Everyone is expected to work 40 hours per week - we use Toggl to help track this - and we break our time entries down by client, project, and feature, which affords our clients a lot of visibility into what we’re working on and what we’re getting done. Another great advantage of tracking time in this way is that it allows us to pay overtime when FullStackers work more than 40 hours per week. We often offer OT but rarely require it. For developers who choose to work OT, it can significantly increase earnings by 25% or more per year. Alternatively, we also offer “PTO banking” which allows you to bank your overtime hours as additional PTO.
For communication with team members, clients, etc. we use Slack, and there’s a lot of collaboration throughout the day within our Slack channels. We ask team members to be available in Slack throughout the day and be able to jump into a Zoom meeting on short notice to collaborate with team members and meet with managers. We find that face-to-face video meetings are more effective than phone calls, and we do a lot of them, so you’ll need a strong internet connection and a presentable work environment and be able to jump into video meetings throughout the day.
In terms of computers, we will ship you a Mac Mini prior to your first day with the company. You will be responsible for providing a monitor, keyboard, and mouse. You will also need a desk in a quiet/private room to work from. We require that everyone use at least one external monitor, and preferably two, with a minimum size of 21 inches. You won't be able to work from a laptop full time, as laptop screens aren't large enough to test responsiveness on large desktop screens, and we build our web apps to work across a large variety of screens sizes, including large screens.
What we are looking for
- 3+ years of professional software development experience. 5+ years preferred but not required.
- 2+ years of professional experience working with React/Redux.
- Meaningful experience working on large, complex systems.
- A four-year college degree is required.
- Ability to take extreme ownership over your work. Every day is a challenge to ensure you are performing to the expectations you and your team have agreed upon, both in regards to estimates and to the general process.
- Ability to identify with the goals of FullStack's clients, and dedicate yourself to delivering on the commitments you and your team make to them.
- An understanding of best practices and a commitment to following them.
- Ability to work through new and difficult issues and contribute to libraries as needed.
- Ability to create and maintain continuous integration and delivery of applications.
- A positive mindset and can-do attitude.
- Forensic attention to detail.
- You’re passionate about software development...it’s not just your career, it’s your hobby. You’re constantly striving to learn new things and improve. You follow industry news, regularly tinker with new technologies, and read books and blogs to keep your skills current.
- Ability to consistently work 40 hours per week.
What You'll Be Doing
- Work as part of a small team, which will include other developers, a project manager, a QA professional, and a designer.
- Complete two-week sprints and participate in sprint retrospectives and daily standups.
- Assist with building estimates.
- Interface with clients via Slack, Zoom, and email.
- Track your time throughout the day using Toggl.
- Work with modern tools including Jira, Slack, GitHub, Google Docs, etc.
- Be part of a community of developers that share knowledge and help each other as problems arise.
- Follow FullStack's detailed development process.
- All Locations
- Competitive Salary
- Overtime pay
- 100% remote work, now and post COVID.
- The ability to work with leading startups and Fortune 500 companies in the USA.
- USA Benefits
- Health, dental, vision insurance
- 401k w/ 4% match
- PTO banking
- Profit Sharing Bonus
- Colombia Benefits
- Prepaid Medical
- English Classes
- All standard government required benefits
Wrapping it All Up Being a software consultant is a fun, challenging, and rewarding career choice for developers. Your contributions are highly valued by clients, and the work you do often has a direct and significant impact on client’s businesses. You will have the chance to work on a variety of projects for a variety of clients, which will help you quickly improve as a consultant and software developer. You will get to work with modern languages and frameworks alongside some of the best developers in the world. So if you have the desire to be a part of an exciting, challenging and rapidly-growing software development consultancy, and if you are passionate about software development and consulting, please apply below.