The Company We Keep

 “Associate yourself with people of good quality, for it is better to be alone than in bad company.” - Booker T. WashingtonI’ve never been shy about voicing my opinion when it comes to the importance of being a socially conscious company. Gordon Gekko’s “greed is good” mantra may have been the corporate world’s adage in the 80’s and 90’s, but “good” looks a lot different now, and at Rural Sourcing we’re only as good as the people, companies, and communities we surround ourselves with.Mission firstOur mission since Rural Sourcing was founded has always stayed the same: provide meaningful employment opportunities for marginalized communities by creating roles for software developers in mid-sized cities throughout Middle America, thereby closing the Digital Divide. By doing so, we provide a great value for our clients while our software developers enjoy the high quality of life they’ve come to expect by living outside of major tech centers like Silicon Valley. This mission went into overdrive when we received the support of Bain Capital’s Double Impact Fund.In good companyBain’s investment in Rural Sourcing is part of what they refer to as Double Bottom Line Investing (DBL2). In other words, there’s a focus on both the traditional bottom line of financial performance (there’s no mission without margin), but also an equal importance given to the positive social impact of a company. Other companies in the Double Impact portfolio include Broadstep, HealthDrive, Penn Foster, Rodeo Dental and Arosa. Whether it’s through affordable dental care for children living in low income communities, or affordable in-home care for the elderly, or accessible online education for any socio-economic demographic, the Double Impact companies all have one thing in common: they’re doing well by doing good.I encourage you to take a look at Bain Capital Double Impact’s Year in Review and see why we’re proud to associate ourselves with a group that takes giving back as seriously as they do their bottom line and why we believe in “No greatness without goodness.”

Albuquerque Development Center Spotlight

Known for its beautiful scenery, Spanish history, and the International Balloon Fiesta, Albuquerque is home to our fourth development center and nearly 200 of our colleagues. Development Center Director Margret Bailey shares what makes ABQ so special.Always learningThe culture in our Albuquerque Development Center is “a crucible for leaders of all varieties,” and personal accountability combined with the Rural Sourcing focus on teamwork, collaboration, and collegiality produce an ownership approach to everything, “which is fantastic if you want a center full of smart, confident trust-but-questioners,” says Margret. In ABQ, everyone is encouraged to be themselves wholeheartedly, whether that’s by drawing comics, 3D modeling and printing, or sharing your passion for neurolinguistic programming. All of our colleagues truly enjoy learning from each other, which facilitated the creation of the Maker Space, where colleagues lead workshops including acrylic painting and tie-dying. Senior Consultant Mark Winchell even taught the center how to build a functional camp stove from aluminum cans!Trick or treatWithout a doubt, the most popular center holiday is Halloween (in fact, it sometimes involves a month of activities!) Horror movie lunch trivia, costume contests, and pumpkin decorating rounded out last year’s spooky season celebrations. ABQ also loves a little healthy competition, especially against colleagues in other centers, and had a great showing in the firmwide lip sync competition this year. Caring about the communityCommunity engagement is important to everyone in ABQ, especially when it promotes STEM education. CodeClubs.org is a non-profit organization founded by Paul Perez, a Principal Consultant in ABQ, which partners with Girls Who Code and local schools to bring coding classes to kids ages 11-18. Senior Consultant Bresdin O’Malley is now the Executive Director of the organization, and the entire center loves to get involved either through teaching or spreading the word at local events. Margret shares, “The scale to which our colleagues devote themselves to these activities is impressive. I’m very proud of our center’s involvement with the community.”To learn more about Albuquerque, read up on our featured ABQ colleagues Abdul and Brandy.

Need for Speed

2020 has set a new precedent for businesses across the world. The pandemic has thrown fuel onto what was already an increasingly cutthroat business climate, thanks to higher demands from customers, new entrants, and more competition than ever before. In order to meet these challenging circumstances, organizations need higher velocity in every area of their business. While many people view “speed” in the context of “speed to market” only, there are other aspects that are just as critical to business success. Having consulted with our clients during this extremely unprecedented time, here’s where I’m seeing the “need for speed” in action.Speed to MarketA big factor for success in the corporate world will always be speed to market. The first mover advantage is a luxury that not all businesses have, yet the majority will always strive for it. Whether that’s introducing a new product or service, or expanding into new markets, or simply adding new functionality, it’s a very common goal across industries. We’ve seen that the onset of the pandemic has escalated the need to rapidly address changing customer needs, preferences and market conditions. This has further accelerated an already heavy focus on the need for technology to respond and innovate quickly.Speed to SavingsIn the end, it’s all about the bottom line, which is why speed to savings is another crucial area in the need for speed. It can be achieved by lowering costs, doing more for the same investment or the same for lower spend, or through increased efficiency. Businesses have always sought improvements that boost the bottom line, but in the last quarter, we’ve seen expectations grow for that to happen even faster. It shouldn’t come as a surprise that companies are especially conscious of their bottom line right now, and seeking to avoid any waste that they can.Speed to ValueIn today’s economy and business environment, pivoting has become the name of the game. Whereas speed to savings is focused solely on cost containment, speed to value is about better leveraging capabilities and resources to drive new opportunities for growth. Due to the pandemic, we're seeing many clients looking for new ways to leverage their technology investments to create incremental revenue when possible. Take ParkMobile, for example: their popular mobile application helps customers find, reserve, and pay for parking, but with sports, concerts, and other special events canceled, they sought a way to offer the same level of usability to their customers on their existing platform, while helping out in a time of need. Customers were able to use the app to donate to one of a hand-selected group of non-profits located in the cities where ParkMobile operates. The company matched a portion of the funds, which came to a total of over $30,000 raised for charities. Customers utilized the new functionality that we helped bring to the market in just two weeks.  The pace of business rarely slows down, and now more than ever, the need for speed is at an all-time high. With many businesses wanting to innovate and pivot while meeting customers’ rapidly changing needs, doing so as quickly as possible is essential to survive in this business climate. Learn more about how we’ve helped our clients achieve their “need for speed” by reading these results: Pharma Company Outsources Full Support to Rural Sourcing Saving 40% and Supporting Healthcare Clients During the Pandemic

Mobile Development Center Spotlight

Located on Alabama’s Gulf Coast, Mobile is home to our southernmost development center as well as nearly 200 of our colleagues. Development Center Director Trey Sparks tells us all about life in “The Port City.” The home of Mardi GrasWhile many people associate Mardi Gras with the city of New Orleans, Mobile was actually the first city to observe the event all the way back in 1703. Mobile residents are very proud of their history, so the annual Mardi Gras celebration is simply a can’t-miss event (make sure to have a moon pie!) Another unique happening in Mobile is called the Jubilee. It’s a natural phenomenon where crab, shrimp, and other fish all swarm the shore at the same time in Mobile Bay. With such easy-to-catch seafood, it definitely draws a crowd.Development center funJust like in Mobile Bay, food brings everyone together in our Mobile Development Center. What’s been the most popular event? “Anything that consists of food or beverages will most likely win every time: we’ve had events like the mimosa mingle, chili cookoff, and macaroni and cheese cookoff,” says Trey. Nerdlympics is another popular event because our colleagues love a little healthy competition.Colleagues coming togetherWhen it comes to what makes Mobile special, Trey says it’s the people. “Our colleagues are definitely the heart of our centers. They make it a point to ensure that there’s a strong culture of collaboration and inclusion, and they’re not afraid to speak out for the good of the group, or even for the benefit of one individual.” That’s why the Mobile center has such a deep involvement with the local community. In addition to working with the Ronald McDonald House and Angel Tree, through The Salvation Army, Rural Sourcing also holds a spot on the advisory board with the University of South Alabama. Trey says, “Even though we share many of the same values, it’s impossible to try to fit our colleagues into a mold when describing them. We really benefit from working with individuals from different backgrounds, experience levels, and personalities.” To learn more about Mobile, read about our featured MOB colleagues Nina, Savannah, and Jaforrest.

The Top 5 Reasons to Build Your Next Application Using Angular

Recently, my colleague Wes Dollar explained the benefits of building an application using React. Now it’s my turn to discuss Angular, the other giant in the application platform space. As a developer, one of the biggest headaches I’ve encountered is going down a path and realizing you should’ve done something using a different approach. Every application I’ve ever worked on has at least a few things we wish we had done differently. That’s normal. But deciding on the tech stack for your application is arguably the biggest, most fundamental decision you’ll make when it comes to building an application, and one you absolutely must get right. So why should you use Angular instead of React? While the final decision rests solely with you and your team, here are a few of my favorite features of Angular.Angular is a full-fledged frameworkOut of the box, Angular has everything you need to build an enterprise-level web application without the need for additional libraries. Component-based routing, data-binding, API interaction, and dependency injection are just a few of the things that come with Angular that often need to be solved with additional libraries when using other tools such as React. Modular architectureIn the early days, when you were building a web application, you more often than not had to duplicate (and maintain) code if it needed to appear in multiple places or pages. This made even the simplest change tedious and time consuming as you would have to make the same change in several places. Angular uses a more modern modular approach. Angular modules are a collection of related and reusable components, services, directives, pipes, and more. Modules make organizing your code by functionality simple, leading to a cleaner codebase that’s easier to understand and maintain.  For example, let’s say we have a dashboard page and an admin page. These would be great cases for feature modules. Modules can also be lazy loaded or even loaded in the background which reduces the user’s time to interaction (the amount of time before the user can use the app). Consistency – there’s an Angular way of doing thingsThere are often several different ways of doing things in Angular, but there is usually a highly suggested way, especially when it comes to building components, modules, and services. Angular makes these suggestions in their style guide, which can be found in their documentation. This is extremely beneficial for larger teams because it shortens the onboarding process, reduces the time it takes to fully understand other developers’ code, and makes it easier to maintain a large codebase. Angular developers can usually hop from one Angular codebase to another and feel very comfortable. This also makes researching edge cases a breeze, because more often than not, someone out there has solved whatever problem you’re facing.Angular uses TypeScript which helps the development processTypeScript was developed by Microsoft and is a typed superset of JavaScript that compiles to JavaScript. Have you ever spent what seemed like hours debugging something only to find you made a typo in your variable name or were expecting a different payload from an API call?  TypeScript helps editors (like VSCode and others) with autocompletion. Its transpiler helps with debugging, and its use of types and interfaces helps with improved code quality and understandability. TypeScript also gives you access to new JavaScript features before they are supported by major browsers. Robust ecosystemIf you spend more than 15 minutes with Angular, you’ll truly understand just how robust their ecosystem is. This includes their incredible documentation, extremely active codebase, community support, code generation tools, and UI libraries. If you didn’t already know, Angular is developed and maintained by Google. You can imagine when you run into a problem and need to research (Google) something related to Angular, it’s usually not hard to find what you’re looking for. This leads to more time writing code and who doesn’t like that?Other favorite features:Tree shaking – Unused code is removed at build time, leading to smaller code bundles. Ahead of time (AOT) compilation – Angular (by default) compiles your app and libraries at build time.  The browser loads executable code instead of needing to compile the app first.Differential loading – Angular produces both a modern (ES2015+) and legacy (ES5) JavaScript bundle at compile time.  When users load your application, they’ll automatically get the bundle they need.  Users with modern browsers won’t have to pay the “polyfill tax” that older browsers require.  This means smaller code bundle and reduced load times.  Component based routing – Rather than fetching a new page from the server, Angular loads different views from memory which feels near instantaneous to the user.  This is why an Angular app is known as a Single Page Application (SPA).Testing – With the modular structure, unit testing different components are simple and easy to do without the need to include additional libraries.Security – Angular has several built-in protections for things such as cross-site scripting attacks and sanitization.Deciding the tech stack to use for your next application is a big decision, and both React and Angular have their respective benefits. That’s why, as Wes mentioned in his blog about React, only when you consider your team, goals, and the project at hand to know which tool will work best for you.About the Author: MacGregor Thompson is a full-stack developer and Microsoft Certified Professional with six years of experience building rich web applications. He has a passion for software and delivering the best user experience possible. He embraces challenging projects and staying on top of ever-changing technologies. In addition to JavaScript, he specializes in Angular and TypeScript.

Jonesboro Development Center Spotlight

Jonesboro, Arkansas is the home of Rural Sourcing’s very first development center, established in 2004. We talked to Development Center Director Darrell Runyan to learn more about what it’s like to live, work, and play in “The Natural State.”The importance of giving backCommunity involvement is core to Rural Sourcing’s corporate ethos. There are many community engagement projects that Jonesboro colleagues have been proud to be a part of over the years, including efforts in the business and educational communities, as well as at non-profit organizations. Darrell himself is a frequent speaker at schools where he teaches about what it’s like to work in technology, and is also on Arkansas State University’s curriculum advisory board. Jennifer Rorex, the Human Resources Manager in JBR is a Goodwill Ambassador for the Jonesboro Regional Chamber of Commerce and is on the Home Selection Committee for Habitat for Humanity. The entire office has also enjoyed volunteering for the organization. Besides being a community of charitable people, Jonesboro is also a thriving agricultural and industrial center, and is home to large production facilities including Post, Unilever, Nestle, and NicePak.A family-like atmosphereBecause of the Jonesboro center’s longer history, many of the colleagues in JBR have worked together for a very long time. This has created a family-like culture, where everyone knows each other and their families, and they enjoy spending time together at work, and out of the office. Darrell shares, “Colleagues here love to play games together and celebrate holidays, even random ones like ‘National Chocolate Cake Day.’ And even though our NERF guns haven’t been used as much recently, they’re still in the office. If it’s your birthday, watch out for the birthday NERF bullet!”Hometown prideIn Jonesboro, you’re working with a team who truly loves what they’re doing, and brings a lot of passion to the table. Darrell says, “Many of our developers graduated from right here in the Northeast Arkansas area, and not only do they love what they do, but they love where they do it.” To learn more about Jonesboro, take a look at our featured JBR colleague Rosemary.

Integrate AppSec for a True DevSecOps Culture

With developers and security teams pushing themselves for quicker production times, higher velocity and increased cost savings, I’ve found that one way to achieve all of these objectives is by creating a DevSecOps culture in your organization. If you’re currently viewing security as individual, one-off issues or in a reactive fashion, you’re putting your system at serious risk for an attack – with huge cost implications. And while some companies see developers and security as teams who operate best when they’re working separately, many have discovered that integrating AppSec into DevOps will actually improve their performance at every level.Here’s how to get started:Overcome resistance to changeI’ve found that “not wanting to change” is usually the biggest reason organizations are hesitant to integrate DevSecOps. Change takes time and effort. Developers and security must work together, and there tends to be a learning curve on both sides. Developers need to learn how vulnerabilities are introduced into the development process, and the security team needs to understand coding to provide examples (e.g. input sanitization, parameterized SQL inquiries). Be aware of the time this takes, but be assured that it’s worth it.Foster a culture of opennessDevSecOps is a true cultural shift dependent on communication, and you’ll be selling the concept short if you look at it any other way. By having an open flow of communication between your development and security teams, you’re promoting a culture of collaboration and continuous learning which is necessary when integrating functional areas. One helpful tip is to develop use and abuse cases. These provide illustrative models of not only how an application can be appropriately used, but also where ‘bad actors’ can exploit the application.Make security your default settingWith more high-profile security breaches than ever, sustainable security needs to be top of mind. After all, a crucial part of DevSecOps culture is having security integrated within all DevOps practices. Conduct regular scans, risk assessments, and penetration tests, and don’t forget: the majority of successful cyber attacks happen due to human error.Encourage developers to become security-awareOnce developers see how vulnerabilities can be exploited in real time, it’s very easy for them to understand the importance of application security. I've seen this many times when working with developers; once you sit down with them and start performing a penetration test, or demonstrate concepts like cross site scripting, SQL injection, or command injection, they understand the implications and want to produce secure code. Sometimes it just takes a little collaboration with the security team to help accomplish this.Once security is integrated into DevOps you’ll see the time-to-production speed up. Having security as part of the development process reduces the need for additional penetration testing, as well as dynamic and static analyses to ensure the security of the application. With DevSecOps, it’s easier to spot vulnerabilities much earlier, so you can avoid costly delays.Having an integrated team means developers can write secure code from the beginning, and the security team can spend more time on key initiatives like vulnerability management and endpoint security. Achieving a fundamental shift in your DevOps approach can seem overwhelming, but by integrating AppSec, and therefore prioritizing collaboration and openness, you’ll soon be reaping the benefits that accompany a DevSecOps culture.About the Author:Joe Sullivan is a principal consultant at Rural Sourcing in Oklahoma City with over 20 years of experience in information security. He helps develop the company’s security consulting services and the teams that provide them. Over his career, Joe has worked in incident response, penetration testing, systems administration, network architecture, forensics, and is a private investigator specializing in computer crime investigations. Joe also teaches information security classes for the SANS Institute.

Benefits of APIs for SaaS Organizations

APIs are transforming the development world by solving the age-old problem of moving information from one application to another. What started as walking punch cards down the hall or mailing disks to each other has evolved into a suite of modern application programming interfaces. With APIs, you get a seamless transfer of flexible data and a layer of security between multiple applications. They’ve become so convenient in recent years that they’re now the popular choice for enhancing or adding new features to any application or cloud service.Similar to outsourcing data or applications, by leveraging APIs, companies are able to focus on their point of differentiation, and then partner with another organization to take advantage of what they do best. By doing this, you avoid wasting precious time and resources building something that’s already been done. (And by someone who’s better at it!)  After working with many clients on their journey to becoming API-centric, I’ve become a huge fan of APIs, and can speak to the many great features they provide organizations. Below are my top three. Quicker Speed to MarketAPIs provide a quicker solution to introducing new features or changing existing behaviors, even in a large enterprise situation. Their purpose is to help a consumer access a new service or software that would otherwise take them months to build in-house, so they’re designed to be quick, well-documented and easy for developers so that they don’t stumble with integration. Greater Security FocusSecurity within an API allows data to travel between applications securely and efficiently by providing a proxy, or wall, between the two applications that can be secured using a tool such as OAuth or APIKeys. The data can also be manipulated in new ways making it easier to consume on the receiving end, such as turning an XML file into JSON. This creates a cleaner code base with less time troubleshooting and more time to focus on the company’s needs. Additional security features include monitoring incoming and outgoing requests, hiding your public IP address, and filtering and redirecting requests. With complex webs of slightly different formats, how do we smoothly incorporate data from a variety of sources, or relay instructions from one application to another? An API takes care of that for you. More FlexibilityImagining every possibility that your users will need from an API is an almost impossible task, however, APIs offer many choices to create a flexible multipurpose platform. Allow your API to accept as many formats as possible and then have the API manipulate that data into a format that can be handled within the system. Simultaneously, you can specify the data to be case-sensitive or allow multiple forms of data input.Much like the SaaS model, APIs have shown us that the best way to do business isn’t necessarily by doing everything in-house. By taking advantage of the technology that APIs provide, your developers can focus their efforts on other projects that are in your wheelhouse, and will move your business forward.About the Author:Bresdin O’Malley is a senior consultant who’s been fighting software-related fires as a full stack developer for over six years. Her other super-powers manifest while gardening on her urban micro-farm, and hiking in the mountains with her dog pack.

5 Cons of Offshoring

When it comes to outsourcing software development, the offshoring business model has grown exponentially as organizations look to reduce costs, streamline processes, and reap the benefits of specialization.While there are benefits to offshoring, many organizations have learned that there are drawbacks, as well. Before you commit to working with an offshore development partner, take a look at 5 cons to offshoring.What's the Difference between Offshoring and Outsourcing?Before diving into the disadvantages of the offshoring model, it’s important to understand the differences between offshoring and outsourcing. In recent years, these two terms have been used interchangeably because some of the aspects of these processes are present in the other.Outsourcing is a practice used by companies to transfer portions of work to outside suppliers rather than completing it internally. The most significant factors for outsourcing usually relate to cutting costs and reducing internal infrastructure Outsourcing is an “umbrella” term, and while the process has been used for years in functions like accounting and legal, it has become wildly popular in software development and support.Offshoring happens when you relocate the work to a different country and is a form of outsourcing. An example of offshoring would be when a company from within the United States works with a company located in India or China for a specific project. So, offshoring is always outsourcing – but not all outsourcing is offshore. Make sense?5 Cons of Offshoring1. Time Zone Differences and ProximityOne of the biggest disadvantages of offshoring is time zone differences. Many offshoring companies operate within a 5-12 hour difference from their client, meaning work schedules may need to be adjusted to accommodate your offshore partner.Furthermore, unless your offshore partner commits to staffing late night shifts that work with your company’s time zone, you may have to wait for responses from the offshore staff. These time differences can also lead to lengthy delays in project deadlines as both companies struggle to accommodate each other. Thinking about visiting your offshoring partner? This could be difficult considering the distance, costs, and time spent traveling to an overseas location. If regularly meeting with your partner and having face time is essential to your company, offshoring may not be the right fit for your business’ needs.\2. Communication and Language IssuesWhen working with a company from a different country, it’s usually safe to assume that most people on your team speak English as a second language. When working with someone who natively speaks another language, this can make communication and collaboration a unique challenge even if they speak English with relative proficiency. So, even though a team can speak English very well, that doesn’t mean that communication will be as smooth as it is when communicating with someone who is a native speaker.3. Cultural and Social DifferencesEven if the language barrier can be overcome or minimized, an overseas team can have cultural and social practices that you’ll have to accommodate.For example, if you contract an agency from India, they can have up to sixteen public holidays a year depending on their regional location. Couple that with the United States’ ten public holidays, and that is twenty-six days a year that rarely coincide. While a handful of team members might tolerate Christmas Day conference calls, it’s more “Bah, Humbug” than “Happy Holidays.” So, you must consider the impact of the fragmented calendar during the project and how it’ll affect your deadline.Work styles will also exhibit social differences. For example, it’s considered acceptable and expected for a North American worker to be assertive and straight-forward. However, this is not always the case in other cultures which view the employer-employee relationship very differently. These cultural variations dilute the valuable input and feedback loops expected in Western business, creating an increased potential for offshoring issues to arise.The discrepancies in cultural and social practices can also lead to misunderstanding of complex business problems. This in turn leads to business and personal misunderstandings, and challenges that wouldn’t be the case when everyone on a team has a similar overall business dynamic.SEE OUR VALUE COMPARED TO OFFSHORE4. Geopolitical UnrestThe unstable political climate in prominent outsourcing countries can cause increasing geopolitical risks for businesses. For example, Ukraine is a popular outsourcing location, but is frequently a victim of political unrest which can  flare up without warning. This is true of many developing countries that are generally go-to’s when looking to outsource work.Whether the issue is a government shutdown, military coup, riots over an election, or pressure involving drug cartels – all of these “far away” issues could quickly become much more real when your project or business is directly impacted because of the fallout.5. Displacement of U.S. JobsCritics of offshoring note that the level of unemployment in America increases as more jobs move overseas. For example, if you outsource jobs to India, one of the disadvantages is that there’s less opportunity and open positions for qualified Americans, which can hurt the national economy and livelihood of cities and towns across the country.By choosing a provider in the US, that creates more open positions for qualified local individuals and helps to bolster our economy rather than sending money overseas.An Offshoring Alternative: Onshoring within the United StatesFortunately, there’s no need to look overseas for quality software development outsourcing. A simpler and more effective outsourcing alternative is onshoring.Onshoring offers improved communication and increased productivity between both parties, while still working to reduce costs. It also eliminates the risks of compromised IP and data, geopolitical uncertainty, and contextual misalignment.For example, a company located in Los Angeles or New York City can reduce costs by contracting services from a company located in smaller cities in Middle America, where living costs and prices are much lower.The blend of finding quality talent at an affordable price point is quite advantageous for companies located within the United States. By working with a company located in the same country, both parties will benefit from more convenient time zones, faster and cheaper business travel, and easier collaboration.Rural Sourcing: The Nation's Leading Onshoring PartnerIf you’re looking for an onshore alternative for your organization’s IT solutions, Rural Sourcing can help. As the leader in domestic IT sourcing, Rural Sourcing’s innovative domestic model eliminates the obstacles of data security, IP protection, political concern, time zones, distance, language barriers, and more. We help keep jobs in the United States, and provide high-quality work at a fraction of the price of providers in major metro areas.With development centers strategically located throughout the United States, Rural Sourcing provides world-class solutions for organizations across various industries including pharmaceutical, healthcare, high-tech, insurance, and consumer & retail goods. Get in touch with us today to learn more about our capabilities, and to see how we can help your business outsource responsibly and economically without compromising quality.NEED HELP? LET'S TALK.