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 Market APIs 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 Focus Security 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 Flexibility Imagining 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. WATCH BRESDIN O'MALLEY'S TECH IN 2 VIDEO

Celebrating Women’s History Month with Women in Tech

History is the foundation on which our society is built, and in March, an integral part of our society is celebrated with Women’s History Month. While women haven’t consistently been included in our retelling of history, this month’s celebrations help us correct these misconceptions, and set the stage for us to ensure these omissions don’t happen again. In recognition of this month, we asked a few colleagues to share their thoughts on working in tech (particularly at RSI) as a woman. “The feeling I get seeing women put themselves out there in a male-dominated industry like technology is powerful and motivating. Women are successfully leading software development teams. We are leading innovation, strategy, and relationship-building efforts. The hardest part is getting the courage to expose yourself. As women our natural pattern is to try, fail, learn, teach or try, succeed, learn, teach. If you don’t try you are robbing your company, business partners, team, and yourself of the sensational benefit that is the utility of the female mind.” - Valerie Thompson, Project Manager “I am grateful that at RSI every employee has the same opportunities. Here, women are valued and can grow as professionals in tech. Sometimes our thoughts can hinder our professional development. We can think that we are not good enough or it is not possible for me. Don’t let them stop you. Do everything you can for your goal. With every step you dare to take, your self-esteem grows and these thoughts may disappear. Just move forward! Remember that we deserve the same opportunities every person has. I believe that everyone can achieve what they want.” - Irina Bocharova, QA Consultant “Thanks to the women who broke rules, taboos, and barriers to entry in fields such as the formalized tech industry, we are now able to focus on our next hurdle: normalizing our participation in the workplace. We can use the tools of the past to keep moving forward. We have to continue to speak out, work hard, and expect better of ourselves and our colleagues. Every woman I work with is a reminder of how far we have come.” - Corina Willner, QA Consultant LEARN MORE

Five AWS Tools to Make Life in the Cloud Easier

With the pandemic restricting travel, causing shipping delays and creating an increased need for additional computing power, it’s become especially difficult to run your own data center. I’ve found that Amazon Web Services (AWS) is now more valuable than ever by providing everything you need to manage a data center right at your fingertips, from wherever you are in the world. Here are five AWS tools, and how I’ve seen our clients benefit from their use. CloudWatchI use CloudWatch to monitor server health for my clients, because I can search for errors across all of their servers in one spot. Another useful tool is alarm consolidation. For example, if multiple services or applications are affected by a single issue, you can receive a single notification and not be bothered by multiple alarms. ECS (Elastic Container Service) Auto ScalingAuto scaling within the ECS cluster can increase or decrease your server’s capacity based on defined conditions, while also replacing any unhealthy servers that are detected. It helps you save money by only using what you need, when you need it. One of our clients in the healthcare industry uses this tool to automatically scale up when they have a big sales event and need additional bandwidth to handle the large influx of customers. CloudFront Content Delivery NetworkCloudFront makes it easier for users to access your images, videos and data from a server location nearest to them, thereby improving speed and load times. Because the servers are distributed, CloudFront provides automatic failover in case one source is down. One of our automotive clients uses it to store all of their source files. Every time a website loads, it’s also loading many different files in the background (i.e., JavaScript files, files that tell which logos and background colors should appear, etc.) so by storing all of that information on the content delivery network, it can be retrieved more efficiently so pages load more quickly. Amazon Relational Database Service (RDS)When you use RDS, you can easily set up, operate and scale a relational database in the Cloud. The most popular providers include MS SQL Server, Oracle, MySQL, and PostgreSQL. A current client is migrating their applications from Oracle to PostgreSQL, and they’re using RDS so that they no longer have to manage hardware, backups or patching. Clients using MS SQL Server are also able to rid themselves of licensing tasks that IT administrators would normally deal with. Amazon Simple Storage Service (S3)S3 is an object storage service that provides scalable storage in the Cloud, along with managed security. A client of mine uses S3 to securely store their customers’ personal information. This client has a mobile app that leases vehicles to companies and contractors, so the driver of the vehicle uses the app to attach important documents like their insurance card and driver’s license. They needed a secure space where they would feel comfortable storing all of this personal data, and S3 has been the perfect solution. These AWS tools are great for clients of all sizes and in all industries because of their immense scalability. Whether you use a powerful Windows 2019 server or a Linux server with a free operating system and a small processor, AWS can help you handle data efficiently, and grow with you as needed. DISCOVER MORE About the Author: David Sullivan is a Principal Consultant at Rural Sourcing and has over 25 years of software development experience in the healthcare, finance, and automotive industries. He’s managed data centers ranging in size from hall closets to multi-rack, collocated telecom centers. His current focus at Rural Sourcing is front-end web application development.

Five Tips To Help You Ace Your Tech Job Interview

The tech industry continues to be an extremely competitive job market. A 2020 report from CompTIA, a non-profit IT trade association, found that there are now 1.6 million software and web developers, the largest and fastest growing category of all tech jobs. So how can you stand out in your next interview? Check out these five tips to help you impress the hiring team. Do your research Your interviewers want to know that you want this job, and not that it’s just another option to you. One way to do that is by taking some time to really understand the company’s business model and service offerings. (You’d be surprised at how many people think that Rural Sourcing is actually a staffing firm!)  Be able to describe how your desired career path in the tech industry aligns specifically with the company you’re interviewing with.  Ask insightful questions We all know that at the end of an interview, you typically have a chance to ask the interviewer questions. Don’t waste an opportunity to show that you’ve really done your research. Check out the company’s news section, or Google their name for any recent press mentions, and create a question or two around what you find. Showcase your experience… and be honest about it When you interview for a developer role, you’re going to get asked questions related to your technical capabilities. If you don’t know the answer to a question, be upfront; even better if you take the opportunity to show that it’s something you’d like to learn about in the future. That being said, know how to articulate what you do know in a clear and concise manner, and be prepared to share tech projects that you’ve worked on in the past. You can also share your experiences on tech projects you’ve worked on after hours, too, whether it was for a side business or just for fun! Don’t forget the basics COVID-19 forced most tech companies to go completely virtual, meaning your interviews will probably be conducted online. Remember: just because it isn’t in-person, doesn’t mean you should treat it with any less care. Make sure the background around you is clean, log on early to avoid any tech issues, and dress appropriately. Make sure the company is the right fit for you, too Most companies tend to have a defined mission statement or set of values that guides them. Take some time to ensure that their values align with yours (and bonus points if you find a way to mention this in your interview!) The interview process is a two-way street, and it’s important to make sure that you’re choosing an organization that aligns with both your personal and career goals. About the Author Cherilyn Hickman started her recruiting career in 2011, where she gained experience recruiting across multiple industries. She jumped into the tech scene in 2014 when she joined RSI, where she is now head of the recruiting department. For Cherilyn, there is nothing more fulfilling than helping talented folks find a work home and family. READY TO LOVE WHERE YOU WORK? CHECK OUT OUR OPEN POSITIONS!

Four Ways to Include Your Users to More Successfully Update Your Legacy System

The thought of updating a legacy system can be intimidating, especially when you have a user base to maintain. I, however, see this as an advantage. Besides select members of your organization, who else knows your product and its functionality better than those who use it? You can save yourself time, money, and a lot of headaches by actually including your users in in your legacy system update. Read on for four ways to make it happen. Segment your users In order to include your users in the process, first you need to figure out exactly which groups of users you’re going to utilize. The most important thing to remember is that you’ll want a representative slice across your user base. You’ll want to include some big and small users, and also make sure you get a range of users that utilize all of aspects of product functionality. You may need to do some data analysis and define your “casual users” and “power users” so you can work with some from each group. Get them the product sooner rather than later The quicker you can get the product in front of your users, the sooner you can get feedback. Even if it’s just a small issue like screen resolution size or element tab orders that slow down data entry, the quicker you can identify these bugs the quicker you can pivot. You don’t want to find yourself months into the process before you identify something that’ll cause your project to have to start from scratch, meaning both time and money lost. I specifically promote Agile sprints with my team for this reason. Determine your marketing research methods Whether it’s focus groups, surveys or hands-on demonstrations, decide the ways and means you’ll be soliciting feedback from your users. Taking a phased approach to product deployment can be a helpful way to do this. Even if you’re still at the stage where you can’t get the product in their hands just yet, you can communicate the types of changes that are coming and ask for feedback or questions. Once you’re farther along, hands-on demonstrations can be a great way to identify any last-minute glitches. Decide how you’ll handle user feedback People in your organization will have varying reasons for which changes they’d like to see. Once you’ve decided which changes you’re going to make and why they’re important, your users might have other opinions. What are you going to do if you experience negative feedback? Are you going to stand firm or change course? You need to plan in advance how you’re going to handle these oppositions, or you’ll be putting your project at risk for derailment. Speed to market requirements keep accelerating. Most organizations no longer have the luxury of taking 6-12 months to design and develop a solution before their users have a chance to see it. By involving your users early and often, and treating them as partners in the development process, you’re more likely to end up with a better product and happy, loyal customers. About the Author:Gary Gealy is a Senior Consultant with 30+ years of experience in programming, supervision and technical support. He feels strongly that software development is as much a craft as it is a science and as such mentoring and training are critical to growing an organization. He has developed software across a number of markets including the Insurance Adjusting, Manufacturing, Food Services and GIS industries. WATCH GARY'S TECH IN 2 VIDEO

Our Mission in Action: Stephen McKinley

Our guiding force at Rural Sourcing is our mission: to create high-quality technology jobs in Middle America cities where talent is often overlooked. Our Mission in Action showcases Rural Sourcing colleagues who represent how this mission impacts individuals and the communities in which we operate. Tech has always been in Stephen McKinley’s blood. As a long-time high school science teacher and robotics coach, he taught himself programming languages like C++ and Java, so he could bring these new concepts to his students. However, after 18 years in education, he was feeling burned out; he wanted a new opportunity, and thought that his penchant for technology might be the key to his next career. Stephen had his concerns, though. He was completely self-taught with no computer science degree, so he knew it might be tough to find an employer that would work with his lack of experience. The job search When he first started applying for jobs, Stephen found that, unfortunately, his concerns were valid. He had an extremely difficult time finding anything for someone with little experience and an informal education. Most job listings that he came across were for more senior roles. Eventually, though, he discovered an opening at Rural Sourcing. During his research for the position, he found that Rural Sourcing seemed to have a culture of learning. “There wasn’t a sense that we initially needed to be experts or masters. They wanted to help us grow.” His ability to self-teach impressed our Oklahoma City colleagues, and Stephen was offered a role as Associate Java Consultant.  A big change His first few weeks at Rural Sourcing showed Stephen he was in for a change; this former teacher was now a student. “There’s definitely a culture of learning here, so it was neat to be able to prioritize my own education.” That doesn’t mean Stephen completely left his teaching days behind him, though. “On one of my first days, I had a fellow new colleague named Emily come up to me and introduce herself, because she thought I may have been one of her teachers. Turns out I had actually taught her both honors and AP chemistry!” After settling into his role at Rural Sourcing (and recently celebrating his second anniversary with the company), Stephen has found a team of colleagues whose camaraderie and collaboration go beyond project work. “Friendship and familiarity is encouraged here.” Future plans What’s next for Stephen? Right now, he’s working towards his OCA/OCP certification for Java. In the future, he’d like to do more work with the Android platform, and would enjoy being involved with the Junior Associate (JA) program. “I’d like to help mentor young associates and show them how fulfilling a career in technology can really be.”

Software Development Trends for 2021

As we welcome the start of a new year, we also welcome the excitement that comes with new technology on the horizon. This is especially true in the world of software development. We talked to some of our developers to learn the latest updates and trends that they’re excited about for 2021, and what those improvements will bring to our clients.   “I’m excited to see the .NET framework and machine learning coming together. ML.NET (machine learning in .NET) is a ‘neural net in a box’ we can apply to many potential applications to bring the strength of neural net processing to our client applications. It’ll empower our clients to make better business decisions.” - Kenn, Fort Wayne Development Center “I’ve been helping a client transition to using Elixir/Phoenix for their codebase for the past two years. There are changes coming up in 2021 that should improve the speed of code running with the Elixir Virtual Machine. There are also more developments on the horizon within the Elixir community that will make it easier to troubleshoot errors in the codebase. I’m excited about the possibility of us gaining additional expertise in Elixir, and Rural Sourcing utilizing it as a solution for more clients.” - Matt, Albuquerque Development Center “Snowflake has really taken off lately! I’m excited about how it could help our database colleagues offer a more Agile or extreme datawarehousing approach to our clients.” – Margret, Albuquerque Development Center “Deno as the next generation of Node. It’s doing a great job of addressing the security concerns associated with Node applications, and will help prove to any Node naysayers that the technology is mature enough to adopt, even for enterprise level applications.”  - Devin, Albuquerque Development Center  “A big trend right now is API-first development. I think this is exciting for Rural Sourcing, because it gives us the opportunity to call attention to the contribution that QA can provide for our clients. QA can ensure that the foundation of a complicated system is a solid one and protect a client's brand by providing a reliably positive experience for those who are consumers of these APIs across a variety of platforms.” – Andrés, Fort Wayne Development Center “The new .NET Core means we won’t be working with two divergent stacks any more. The improvements they've made to how their platform works are really exciting.” – Eric, Oklahoma City Development Center “Kibana is a new open source dashboard that provides search and data visualization capabilities within Elasticsearch. The project we’re utilizing this technology on helps our client better understand how their data is being used, what problems are occurring, and how often. I look forward to getting to use this tech stack with more clients in the future.” – Brandon, Jonesboro Development Center DISCOVER MORE