Development Articles

One of our company mottos is “Think. Code. Repeat.” At Buink, we pride ourselves on being a website development company that not only codes but thinks deeply about every project. We do a significant portion of that thinking right here in these articles. As a web development agency, our articles reflect our current mindset on a plethora of topics related to software development services.

We’re not just another web design firm; we try to be thoughtful about every aspect of our service. Our commitment is evident in the way we approach challenges, always looking for innovative solutions rather than settling for the status quo. We spend a considerable amount of energy pondering why we choose certain strategies, ensuring we never opt for a method simply because it’s the traditional route.

Our expertise spans from Laravel development to WordPress maintenance, and we’ve penned articles on everything from website pricing to deployment models, our unique value proposition, and the importance of website maintenance. If you’re looking to hire developers or seeking the best SEO agency for local SEO services, you’re in the right place. We also delve into the nuances of onshore and nearshore software development and the benefits it brings to businesses.

So, whether you’re interested in digital marketing, SEO services, or just want to learn more about the industry, pull up a chair. With our blend of technical prowess and insights, you just might discover something invaluable. And as you dive deeper, you’ll find several web and mobile development articles that showcase our expertise and passion.

Outsourcing Web Development

Outsourcing Web Development: The Ultimate Step-by-Step Guide.

Whether you’ve got a great idea and are looking for technical support to make it a reality or you’re running an established enterprise and want to remove something from your managerial plate, outsourcing web development can be a smart move.  Outsourcing your web work can also be a way to stimulate a company’s growth or evolution as you access a larger talent pool with fresh ideas for reaching and serving customers. On the other hand, sometimes a period of dramatic growth, contraction, or redirection makes it necessary for an institution to change how its workload is managed and outsourcing becomes a way to stabilize a rocky boat. Outsourcing web development can also be a way to  

  • reduce the cost of labor, office space, equipment, and insurance;
  • save time on recruiting, hiring, and onboarding;
  • prevent the need for morale-depleting layoffs;
  • minimize your risk exposure;
  • focus on your core mission and competencies;
  • and improve the quality or time-to-market of your online offerings. 

Though there are numerous benefits to outsourcing, successfully delegating your web work to an outside team can be difficult. There’s a reason outsourced web development has some reputation for substandard quality, which is that many organizational leaders don’t know how to find the services they need or to avoid the common pitfalls of entrusting an essential job to people outside their institution.

At Buink, we learned to outsource web development through trial and error and then through innovation as we went from an entrepreneur looking for cheap tech labor to a web development startup committed to providing quality services to clients. If you want to avoid the setbacks we experienced on our road to discovering best practices for outsourcing web development, you’ll find this step-by-step guide invaluable. 

There are three main parts to successfully outsourcing web development. First is defining what you’re looking for. Second is finding it. Third is establishing a productive working relationship. 

Part One: Define what you’re looking for.

Part 1 – Step 1: Name the services you need. The term “web development” can mean anything from graphic design to building a database to updating code. Are you looking for someone to design your user experience and write copy? A front-end developer to code the user interface? A back-end developer to build your database? Someone to maintain your web app? Or a team to do all of the above and more? Are you an experienced project manager or will you need help supervising a team? Do you know enough about coding to know whether you’re getting a good product? The answers to these questions will determine what kind of firm or freelancers you’re looking for. As you answer them, make a list of the specific services you need. The checklist below may be helpful to make sure you’ve covered your bases. 

✅Envisioning a new web app or site (Startup/Business Consultant or UX Designer)

✅Envisioning a web app or site remodel (Startup/Business Consultant or UX Designer)

✅Graphic design (Graphic Designer)

✅Copywriting (Copywriter)

✅Designing user experience (UX Designer)

✅Coding graphical user interface (Front End Developer)

✅Building a database (Back-end Developer)

✅Maintaining a database (Back-end Developer)

✅Building a server (Back-end Developer)

✅Maintaining a server (Back-end Developer)

✅Building an application (Front- and Back-end Developers)

✅Maintaining an application (Back-end Developer)

✅Improving security (Front- and Back-end Developers)

✅Maintaining security (Front- and Back-end Developers)

✅Reviewing code (Full-stack Developer)

✅Remodeling code (Front– and Back-end Developers)

✅Rebuilding code (Front- and Back-end Developers)

✅Project management (Full-stack Developer)

✅Security maintenance (Full-stack Developer)

✅Identifying services needed (Business Consultant, Project Manager, or Full-stack Developer)

✅Identifying best languages and frameworks for project (Project Manager, Full-stack Developer)

Keep in mind that most web development teams have at least four members: a project manager, back-end developer, front-end developer, and designer. Depending on the size of the project, your project manager may also be your tech lead. The tech lead is your MVP and needs to have some experience in all aspects of web development. He or she is accountable to manage the tech team and make sure it delivers what the client wants. Also, someone on the tech team needs to be tasked with security. Sometimes the team lead takes this role; other times a fractional lead is hired. Either way, time and money need to be allocated for a developer to ensure that your proprietary information and customer data is protected from bad actors.

You will also need someone to review code. If you have the expertise, you might want to do this yourself. Otherwise, the tech lead, project manager, or another developer will need to be assigned this job. In our early days of using freelancers, we were frustrated by the amount of time it took to review their work, but, because we consistently found needed edits, we also knew we couldn’t skip this step. After more than a decade in the business, we understand that reviewing code is a time-consuming but essential part of web development. At Buink, we review every line of code written by our developers. We’ve found this adds about 10 percent to the upfront cost but in the end saves 20 to 40 percent of the project’s expense as bugs are found and clumsy code is revised to be clean and readable.

Part 1 – Step 2: Determine which technology you will use. If you have experience in web development, you probably already did this while listing the services you need. If you’re not techy, at this point you may have figured out, for example, that you need a back-end developer to improve the security of your mobile app, but you don’t know what tools he or she will use to do the job. Why do you need to know? Because the people you hire need to be competent in the languages and frameworks your web products require. Both web development shops and freelancers specialize in various aspects of web development. If you hire a construction company to build your house, you don’t normally hire one that has only built greenhouses, and if you want new carpet in your home, you don’t hire a tiler. Often non-techy people don’t realize that web products are as dissimilar as greenhouses and homes, carpet and tile. A tiny home builder may be able to learn as he goes and build a mansion, but a general contractor experienced in building large homes is undoubtedly more likely to build a mansion on time, on budget, and to the customer’s satisfaction. Similarly, your project will go better if you find a developer or agency that specializes in the technology you’re currently using or want to use. 

So what specialties are there in web development? Front-end developers write the code for what users will interact with on their screen, usually in the languages of HTML, CSS, or JavaScript. Back-end developers typically use Python, Java, NodeJS, Ruby, C#, and PHP to write code for retrieving information from a database and sending it through an application to the user interface. Full-stack developers are experienced in both front- and back-end programming. If you’re developing a mobile app, you’ll need to consider whether you need someone who’s experienced in building for iOS (for Apple devices), which is usually done in the Swift language, or Android, which is usually written in Java or Kotlin. Cybersecurity engineers specialize in keeping data secure from hackers and have an arsenal of tools from nmap to Nikto. Depending on your security needs, you’ll need a developer adept with certain technologies. Web developers also specialize in the frameworks they use. Frameworks allow them to bypass repetitive coding tasks; they’re analogous to the carpenter’s nail gun, which makes it possible to hammer nail after nail quickly and with minimal muscle power. Different types of web products are built with different frameworks.

This is a broad overview of popular web development specialties and tools. When you dig into the details of a specific project, it is many times more complicated. So how do non-techy people figure out what skill sets they’re looking for? The obvious answer is they ask someone who knows. If you have in-house web developers, solicit their expertise in transitioning to outsourced web development. This can be a touchy situation if the employees are going to be laid off, but most professionals understand that companies need to evolve to stay competitive and will give you good advice if they are treated with fairness and respect. In this case, you may consider keeping one in-house web development manager to liaison with the agency or manage your freelancers. 

If you don’t have a trusted tech employee or colleague, contact web development shops and ask them how they would do your tasks. They will have different ideas because there’s always more than one way to engineer something. The more professionals you talk to, the more you’ll know about different options for getting your web work done and what specialties you’re looking for. Buink would love to help with this step. Contact us for a free phone or video chat consultation so we can help you identify the best technological tools to build or maintain your websites and web apps.

Part 1 – Step 3: Specify your budget and time constraints. Before you can shop in earnest, you need to set a budget and deadlines. Successful outsourcing begins and ends with clear, precise language. Words like “small” and “fast” will not serve you well. You must know how much you’re willing to spend, when you want a prototype ready, when you want the project completed, and when you absolutely must have all the bugs fixed. Once you’ve created a budget and deadlines, you can consider different strategies for getting what you need within those constraints. 

Part 1 – Conclusion:

You’ve completed the first phase of outsourcing web development when you’ve gone from asking something like, “I need a web developer to build me a new app to promote my business and I want it done on a low budget by the end of the year” to saying “I need a UX Designer to reimagine my current app and communicate that vision to a graphic designer and a full-stack developer experienced in Javascript and NodeJS so they can remodel my current application utilizing our existing database. I need a project manager to oversee this process, review code, and hold the team accountable to having the app functional by the end of October and ready for publication before the new year. I want to retain one coder to maintain the app on a part-time basis. I need to complete this project for less than $75,000 with $10,000 reserved annually for maintenance.” When you can explain what you need with this degree of specificity, you are ready for part two.

Part Two: Find a team.

Part 2 – Step 1: Consider all tradeoffs. We want it all and we want it for free, but in the end everything has a price and everyone has a price limit. To successfully outsource your web development, you must always consider the tradeoffs between cost, quality, and speed of delivery. Your individual expertise and availability, organizational goals, budget, and deadlines are important factors in determining which tradeoffs to make.

Decide how much experience you want: Web development is a high growth, high-demand industry and thus experienced web developers expect six-digit salaries. Less senior developers might be adequate for your job, but their code will probably not be as readable or scalable as someone who’s been coding for decades. If you’re building an MVP, you might hire a less experienced team, sacrificing some quality to keep your costs down. On the other hand, if you’re building a production ready app, you’ll want to pay for the best code you can afford. Once your web product is running, it’s extremely expensive to rebuild it, often more expensive than it was to build it in the first place. If you’re planning to grow your customer base, you will be wise to invest in forward-thinking code.

Decide whether you want to use freelancers or an agency. A freelancer does work for many clients on a part time or short term basis. For tax and government regulation purposes, they are self-employed. In the startup world, it’s popular to hire freelancers as fractional employees, meaning they work for a handful of companies on a part time basis. The advantage for the startup is paying only a fraction of a professional’s compensation. The advantage for fractional employees is earning a higher hourly rate and the opportunity to gain experience in a variety of businesses and industries. Hiring a fractional freelancer is economical because you’ll be paying for the exact resource you need for the amount of time you need it. You will pay a higher hourly rate, but your overall cost will be lower. A disadvantage of hiring fractional or short term freelancers is you will have to recruit, hire, and manage them yourself.  If you do not have the expertise to recruit or manage a technical team or you neglect to set aside time to do so, you’re likely to receive a product that is subpar or not what you envisioned. However, if your schedule is open and you know how to provide specs and review code, you can save money by hiring freelancers.

If you choose instead to hire a web development company, you will not have to find, screen, hire, manage, lay off, or fire employees. The agency will handle all the human resource work; all you’ll do is pay a bill. When you hire a web shop, you will probably pay more per hour for the billed work, but you will save on overhead costs. The time and expertise of the human resource manager and project manager is part of the service and will be reflected in the price. Hiring an agency also protects you from delay and lost investment if a member of the tech team quits. When this happens, the agency should have a record of the developer’s work and be able to provide a quick replacement. A freelancer, on the other hand, can leave you high and dry if he or she decides to drop the job.

It’s important to note that one can use multiple compensation strategies within a team. In fact, compensation diversity can drive better decision-making because compensation affects the way an employee finds solutions to problems. For example, equity employees work for nothing upfront but receive a share of profits and thus will think further ahead than contract or hourly employees. Equity employees are seldom a promising option, though, because most developers need a steady income; also government regulation of equity employees can be difficult to navigate. Still, it’s worthwhile to consider offering some equity to senior team members so they will invest more skin in the game.

Determine your tolerance for offshoring: Many businesses save money by using programmers from less developed countries where compensation is lower. There are capable programmers in nearly every corner of the world, but offshoring has its risks and downsides. Many people–including us at Buink–have found offshoring to be more trouble than it’s worth; thus developers in first world countries remain in high demand. 

The most obvious challenge in offshoring is the language barrier. We’ve all had frustrating conversations with offshore customer service agents who speak limited English. Good communication is key to successful outsourcing, so be wary of signing up with a team that isn’t easy to talk to. While less obvious than a language barrier, different cultural norms can also be a hurdle to collaborating effectively. Another significant challenge with offshoring is the time difference. If you’ve had trouble getting a hold of busy professionals in your own time zone, imagine how hard it can be to get in touch with professionals in faraway time zones. It can take days to have what would normally be a ten-minute chat as you wait a whole day between replies. Some offshore companies adjust their schedule to accommodate clients in other parts of the world, but the challenge is never entirely removed, especially if you’re located in the western hemisphere, opposite from the low-cost tech hubs in eastern Europe and Asia. 

Last but not least, offshoring makes taxes more complicated and business contracts more difficult to enforce. Holding offshore developers accountable if they steal proprietary code can be nearly impossible. So while the cost savings of offshore outsourcing can be significant, the risks are greater than they are with domestic outsourcing. You will need to spend more time on documentation and, in the event of a contract violation, legal fees. If you’ve lived in the country of a prospective offshore shop or are fluent in the shop’s native language, you’ll be better equipped to deal with the challenges of offshoring. 

While many people in the business world value personal relationships built through face-to-face conversation, others are satisfied with virtual communication so long as the time zones and language barriers don’t hamper it. For these people, nearshoring is a good option. Nearshoring means outsourcing to a nearby region or country where the time zone, language, and cultural differences are minimal and less likely to disrupt your workflow. 

Within each of these choices–entry-level or experienced, freelancer or agency, offshore or domestic–there are hybrid options available. For example, you might find a web development shop located in your country that hires some offshore programmers or you might decide to use a programmer fresh out of college but hire an experienced developer to review his or her code.

Part 2 – Step 2: Learn to effectively screen candidates. From more than a decade of recruiting and hiring developers, we’ve discovered some important principles for finding effective employees. When candidates respond to your job posting, beware the jack-of-all-trades. There’s a mythical creature we call the amazing, technicolor dream coder who lives in his parents’ basement. Though he’s inexperienced, his genius qualifies him for any computer-related job. This mythical creature exists only in our imagination. The reality is that building software is a lot like building a physical structure. There’s no substitute for experience, and to construct a building, a variety of tradesmen are needed from the plumber to the electrician, and some buildings will also require a welder and glazier. Similarly, web development calls for various specialties. Again, it’s important to have a basic understanding of what technology is needed for your web products so you can find people who specialize in those languages and frameworks. Only hire someone who can “figure it out” if you want to pay for on-the-job learning and will be satisfied with jimmy-rigged code.

Learn to differentiate competence from mere confidence. When evaluating job candidates, it’s often tricky to distinguish between confidence and competence. Our filters ask questions about experience and expertise in several different ways–for example, to rank their ability compared to others or describe their confidence at completing an imaginary task–in order to expose the overconfident applicant. For example, if an applicant ranks himself as an expert in a language with which he has no experience, unless he has a lot of experience in a closely related language, that is a bright red flag. Like all people, computer engineers are sometimes poor judges of their own capabilities. If you don’t know how to code, you should consider learning to at least read code. Learning to read code is not as difficult as many imagine it will be, and once you know how to code you will be better equipped to recognize competent developers.

Portfolios, ratings, and work samples are more valuable than degrees or references. At Buink, we tried hiring computer science grads from an Ivy League university and found them incapable of coding to our standard. Next we tried using third-party testers and found their tests to be too focused on the theory of coding rather than the practice. Finally we created our own test, which was simply writing the kind of code we bill for. The time required to take tests can deter job applicants, so we guarantee work for those who pass our test. Occasionally we bypass testing if the developer has extensive experience and can point to past projects of high quality. 

Tech leads need to be fluent on all fronts of web development, including the business side. He or she is like the general contractor who must be able to direct and evaluate the subcontractors’ work while keeping an eye on costs, schedules, and customer satisfaction. This multifaceted skill is especially difficult to measure; past experience and good reviews are your best bet for predicting success in this role. Websites like Upwork and Guru connect you with freelancers that have been reviewed and rated by clients. The ability to leave a bad review is the best insurance against shoddy work. The reference system is an artifact of the 20th Century as online ratings paint a more accurate picture of a product or service’s quality. 

Watch out for extreme attitudes and incompatible values. There’s a school of coders who disparage some of the most utilized coding languages in the world that millions of computer programmers, organizational leaders, and consumers have found to be the most efficient tools to build their websites. This school overlaps with the cadre of coders who only want to use the latest technology, even when an older technology can get the job done more efficiently. We pass over candidates who exhibit these attitudes because the best developers have the humility to understand the value of tried and true tools as well as the innovative mindset necessary to adopt new technology when it will bring a return on investment. It’s also common to find developers who invariably recommend rebuilding software rather than remodeling it. Remodeling may be less fun than building from scratch, but it’s usually more economical, and so we look for coders who show a flexible, resourceful approach to engineering.

Watching out for extreme attitudes goes along with looking for people who share your values. Remember that hobbies are not values. It doesn’t matter what your employees do in their free time; it matters how they approach their work. Some organizations emphasize teamwork and have an egalitarian feel; others demand long hours and a commitment to growth; some institutions are inventive and open to risk; others have more risk-averse missions. Of course, every organization depends on the integrity of their workers to be successful in the long term. Carefully define your organization’s values and look for candidates who name these values as their priorities and exhibit through their actions that they mean what they say.

Be picky. An incompetent or dishonest freelancer is a huge liability. It’s more efficient to spend time searching for candidates than cleaning up after bad hires. After years of honing our hiring process, only about one percent of applicants make it through our initial filters and are referred to our hiring manager, and about half of them will pass our test and be hired. Of those hired, approximately one quarter become a long-term member of the team. This is because it’s not enough to know how to code; we need developers who can code consistently, take feedback, improve, communicate with team members, and meet deadlines. 

Part 2 – Step 3: Look for an agency that is responsive and transparent. Pricing and delivering an ongoing, customized service is many times more complicated than pricing and delivering a physical, standardized product. For this reason, reviews and ratings are an essential tool in selecting a web development agency. Websites such as UpCity, Sortlist, and ZoomInfo offer business listings with ratings.

Other than reviews and ratings, the best way to judge whether an agency will be an amenable business partner is how amenable they are while you’re in the shopping stage. If an agency responds to your inquiry with an automated reply or takes a long time to get back to you, you should keep looking. The agency representative should be easy to reach and willing to discuss your project specifically. If the agent is reluctant to describe in detail how the company would handle your work both technically and organizationally, keep shopping. Good engineering requires more than good engineers; an engineering team needs a clear system for communicating goals, delegating tasks, avoiding duplication of work, and resolving problems. Prospective outsourcing partners should be able and willing to explain their work flow systems. Ask them about their chain of command and chain of communication as well as the technology they use to make sure projects are completed on time and on budget. The best web agencies will be proud of how they do business and happy to explain these things.

It’s equally important the agent explains in detail how his or her company prices its services. If an agency sets a fixed price for a project, that price will necessarily include a large profit margin because the agency is assuming all the risk of going over budget; when they run the risk of losing money on some projects, they must make a large profit on others or they will soon be insolvent. Conversely, when the agency bills you for time and materials, you are shouldering the financial risk and the price should be comparatively lower. Hybrid options–a fixed price for some services and hourly rates for others–splits the financial risk between the agency and the client. Ask agencies about billing options, why they bill the way they do, and how they compensate their employees. 

Last but not least, ask agencies about their security protocols. Keeping your company’s and customers’ data secure is crucial to your success; a customers’ trust, once lost, is difficult to regain. Furthermore, companies can face legal liabilities if they do not handle their customers’ data carefully and ethically. All computers with access to your code should have antivirus software. Few people, just one if possible, should have access to a live server, and access should require two-factor authentication. Passwords should never be shared and should be frequently changed. Additionally, project managers should keep separate coding environments for software developers, testers, and deployers.  Highly valuable, sensitive data should also be protected with security applications that scan for vulnerabilities. Open code is generally considered to be secure since it benefits from crowdsourcing scrutiny, meaning security holes are rapidly identified and filled. However, even products built from open code can be hacked and therefore must be carefully protected.

Security concerns is a common reason people give for choosing not to outsource their web development, but if you find a company that has strict security protocols, consistently enforces those protocols, and is willing to include security agreements in their contracts, then you can responsibly entrust your code and data to that company. 

When discussing these topics–engineering strategies, workflow protocols, pricing, and security–ask hard questions about what might go wrong and how the company will respond in foreseen and unforeseen circumstances. How quickly can the agency replace a team member who isn’t performing to your satisfaction? What happens if a team member quits? What happens if the project gets behind schedule? What happens if there’s a data breach? Transparency is key in a long term business relationship, so don’t settle on an agency that doesn’t readily communicate about any aspect of the business relationship.

Part 2 – Conclusion: Once you’ve formed or found a team of reputable professionals who are experienced in the necessary languages and frameworks and can clearly explain how they will do your work within your budget and timeframe, you are ready to hire out your first web development task.

Part 3: Establishing a productive relationship.

Part 3 – Step 1: Commit gradually. As in romantic relationships, in outsourcing it’s also foolish to make big commitments until you know your partner well. Start by outsourcing a small task and see how well the freelancer or agency handles it. If you find yourself becoming overly anxious to remove web development from your to-do list and thus tempted to dive into the deep end, remind yourself that premature commitments often lead to expensive, frustrating experiences. Outsourcing means trusting others to do your work and trust is built gradually over time.

Part 3 – Step 2: Make thorough business contracts. Just as good fences make good neighbors, good contracts make good business partners. A business contract establishes clear rules of the road so that what starts out as a promising collaboration bears the promised fruit. Tedious as it may be, legalese is an important tool for making sure everyone knows exactly what’s expected and what will happen when things don’t go as expected. Even the best professionals are humans; they will make mistakes. Protect yourself and your institution from their mistakes with a legally binding contract that includes a non-disclosure agreement. Have your contract written or reviewed by a lawyer experienced in intellectual property law.

Reputable web development agencies will want to sign a business contract to protect themselves. At Buink we use one standard contract for all clients, which was written by lawyers, reviewed by several venture capital firms, and refined over the years. We are willing to edit our contract when clients make suggestions that will benefit all clients going forward, but we do not customize our contract for individual clients since all our business contracts are for the same type of service. Customization is therefore, at best, a waste of everyone’s time and could open the door to making legal mistakes that create trouble for all involved.

Err on the side of over communicating. Communication is the paramount principle of successful outsourcing. Visualize your project from the beginning to the end and tell the agency representative or freelancer your every expectation. Do not surprise them midway through. Though outsourcing may free up some of your time, you are still a crucial member of the web development team as the resident expert of your organization. 

Business leaders often overestimate how well engineers will understand business generally and their business in particular. You must budget time to review the team’s work and provide feedback. Maybe you’re in the habit of keeping judgment to yourself; there are times when it’s best to do so, but this is not one of them. This is the time to be vocal about your opinions. Your complaints will keep the team on track and prevent larger problems. If it’s a competent team, they will expect this and adapt quickly to your feedback. Over time, they will probably need less feedback as they gain understanding of your plan and preferences. 
Part 3 – Conclusion: Learn from failure. Few things in life go well on the first try. Knowing how to outsource is a learned skill and comes with a learning curve. You will need to make adjustments as you go, perhaps changing out one of the team members or asking for revisions to the business contract. If your first attempt doesn’t go well, take time to evaluate what went right, what went wrong, and formulate a plan for doing better next time. Think of each attempt as an experiment. It may have cost you something, but you also learned something in the process that can ultimately bring a return on investment.

Compensation Diversity | The Successful Non-technical Leader

This article continues the discussion on tips for non-technical founders. You can check out all the tips in our free Guide to Tech Projects for Non-technical Leaders.

The five most common ways to compensate developers are: equity only, low salary + equity, salary, high hourly (fractional gigs), fixed bid.

The option you choose is going to be based on your budget. 

If you have no budget, then your only option is to offer equity. This option sounds good on paper but you may run into legal issues about wage laws. In addition, it will drastically slow your speed to market because the developer will probably have to hold a day job and work on your project on the side. It also drastically lowers the probability that you’ll find help.

If you have a large budget, the conventional wisdom is low salary + equity, but I found that companies can get much further by reserving salary for resource developers and bringing in the lead people on a fractional basis. This is where it is good to find that amazing technicolor dream coder and give him some golden handcuffs with salary + equity. 

If you have a small budget, your best bet is going to be fractional all the way. You can still build a team (surprisingly well in this gig economy) while only engaging the exact resource you need for a given task. You’ll pay a higher hourly rate, but you may actually save money by using the least expensive resource for any given task.

The biggest mistake I see startups make is focusing on only one compensation strategy for the whole team. I recommend what I call compensation diversity because the compensation models attract a very high diversity of thought on how work should be done. They aren’t always in line with each other, and this tension leads to great decisions.

If you found this article helpful, check out all our tips and tricks by downloading our free Guide to Tech Projects for Non-technical Founders.

If you need hands on help with your project, Buink has years of experience managing and completing technical projects on time, under budget, and with a high level of quality. Contact Buink today.

How To Create An App (2023)

People used to say “One day every business will need a website.” That day came and went long ago. Now every business needs an app. Most people spend a lot of time on their phone every single day; apps take advantage of this, allowing organizations to reach their customers, members, and donors in a continuous way that just wasn’t possible until apps came along. An effective app can build your brand and reputation, strengthen your relationship with customers and supporters, and increase the number of transactions you make. Below are ten steps for creating a great app.

Step 1: Solidify your vision for what the app will do. You may have several ideas swirling in your head. Keep in mind how your app will support your larger business or organizational goals and write down your ideas, prioritizing them in order of importance. Is the app itself the product or is it a means to making sales? Or is the app’s purpose simply to advertise your brand and build loyalty? What will the user gain from the app? Entertainment? Information? A service? Once you have a clear idea of what your app will do, you’re ready to consider aesthetics.

Step 2: Give your app a name. It’s time to choose a catchy name that matches your brand. The best app names are short, easy to remember, easy to pronounce, and convey to the user what the app is all about. If the name of your company or organization fits this description, it’s best to stick with it. If your company name is a mouthful, a shortened version or nickname is a better bet. If your business already has a website, the app is like the website’s hipster niece or nephew – a newer, less formal representative of the family. In this case, especially when your app will offer a more specialized experience than the website, it can work to ditch the old brand name for something original so long as you take care not to confuse the user or undermine your larger brand.

If you don’t already have a company or brand name or you’re looking for something new, distill your idea down to a few key words and look up synonyms for these words to see if any of them are appealing. Before you settle on a name, use a domain provider like Namecheap or GoDaddy to find out if the domain name is available because you’ll want that domain name to market your app. These providers can also give you ideas for names related to your keywords. 

Step 3: Define your look. After choosing a name, the next most important step in branding your app is choosing a great icon. If you already have a logo for your organization, it will probably work well as an app icon, and having your logo on your customers’ homescreens is an advertiser’s dream come true. If you don’t have a logo already, you’ll need to create a graphic symbol for your app that matches the feel of your product or service. Logos should be visually balanced, not too detailed, able to scale up or down in size, and rendered in black and white.

Font and color are also important elements of your visual brand. Choose one or two fonts to be used throughout the app. While there are always exceptions to the rule, more than two fonts can make your app feel disconnected. Google offers several free fonts you can choose from. While choosing a font, remember, less is usually more.  Similarly, choose a few colors to represent your app. In web development, the rule-of-thumb for colors is to have one color fill 60% of the space, another fill 30%, and a final accent color fill the last 10%. You’ll notice that the dominant color for most apps is white, off-white, black, or off-black. Deviate from these conventions at your own risk. Think carefully about what vibe you want to give the user. Vivid and light colors feel fun and casual while darker colors feel more serious. Black and dark blue seem businesslike when paired with white, but can evoke an aura of risk and suspense when paired with warm colors like red and orange.  

Step 4: Decide whether to use no-code app development software or build an app from scratch. Now it’s time to get technical and consider the engineering that will go into your app, weighing the costs and benefits of your many options. As with creating a website, building an app can be as simple as plugging a logo and some text into a template or as complicated as engineering a database. 

If timing is your highest priority, your first question will be How long does it take to build an app?” Using a no-code application development platform is the fastest way to build an app and can be completed in an afternoon. Writing code for a new app is a longer process that takes anywhere from a few weeks to more than a year, depending on the app’s complexity and the efficiency of your development team.

Nearly everyone is constrained by a budget and wants to know “How much does it cost to build an app?” The answer to this question is similarly broad: many app development platforms allow you to build an app for a monthly fee or free, while writing code for a new app will cost tens of thousands of dollars, or even hundreds of thousands for a very sophisticated app.  

Can I really build an app for free? The answer is yes, but you probably will have to pay to have it published. Many companies advertise free app building, but their free services only get you started. These platforms almost always charge a monthly subscription fee to have your app published in an app store. Some also charge fees for phone or email support, for publishing your app without their logo on it, and for hosting an app on their server. You’ll also have to pay a $25 one-time fee to publish your app in the Google Play Store and a $99 yearly fee to have it in Apple’s App Store. So while it may be true that you can *build* an app for free, you must consider your end goal and all the services you’ll need to reach it before you can calculate the true cost of your project.

Nevertheless, the cheapest, fastest way to build an app is to use a no-code app development platform.

For small organizations that offer a traditional product or service, utilizing app-building software may be the best bet. Companies such as Quixy, AppyPie, Bubble.io and Zoho Creator offer low- or no-code app development and publishing for a low price. They have app templates for categories from food to fitness, retail to religion, education to events. Building an app on one of these platforms involves dragging and dropping your preferences into one of their layouts and can be completed in literally a few minutes. App-building platforms usually have online and phone support available if you need help using their service.  

Building an app from scratch takes more time and money than using an app-building platform but can be a wise investment.

The advantage of no-code apps is the ease with which they can be created and a low price tag, while the obvious advantage of custom-built apps is that you’re not boxed in by prefabricated architecture; your app can be built to match your vision and meet the needs and preferences of your users. 

There are also technical advantages to building your own app. Custom-made apps are generally more powerful, responsive, and secure than apps built from a template, making for a better user interface. Beyond user experience, if you write your own code, you can amalgamate your app with your existing information systems. For example, you can engineer your app to communicate with your accounting software. Also, you can update it as needed to fit the changing needs of your users and organization. If you use a no-code app developer, you do not own the app’s code, and when it comes to the app’s security, storage, and maintenance, you are at the mercy of the app development company. Integrating the app with your business’s IT system, maintaining the app over time, and expanding the app to meet the demands of a growing user base can be difficult or impossible when you don’t have access to your app’s code. Being reliant on code that you can’t even see can become a technical nightmare.

All in all, using a no-code app development platform might be compared to buying off-road vehicles to serve a community without roads while writing your own code is like building roads. Building roads is an expensive but worthwhile investment for a community of any size or longevity. Similarly, custom-written code is pricey upfront but lays the technological infrastructure necessary for efficiency in the long run. If you have a substantial customer base or plan to grow your customer base, building an app from scratch is probably worth the expense.

Step 5: Decide whether you want to build a mobile app or web app.

Web apps were born during the software as a service (SaaS) movement; they are software programs that utilize a web browser to operate on any mobile device no matter its operating system. Web apps are stored on a remote server and require an internet connection to work; they are not downloaded to the user’s device. Some of the world’s most popular web apps are Google Drive and Facebook. Mobile apps, on the other hand, are software programs that are downloaded onto the user’s device and run on the device’s hardware and software. (Many web apps, including Google Drive and Facebook, are now also available as mobile apps.) Most no-code app development platforms make web apps, though a few can be used to make mobile apps. 

What are the advantages of web apps over mobile apps? Web apps are usually cheaper to create than mobile apps for a few reasons, one being that they can be used on any platform (Windows, Linux, Mac, etc.) because they interface with any modern browser. This means 

you only have to write one code to make your web app available on all mobile devices. On the other hand, if you want your mobile app available on all devices you’ll have to write two sets of code, one in the Java programming language for Android devices (Google) and one in Objective-C for iOs devices (Apple). Web apps are also cheaper because you do not have to publish them in an app store (see cost estimates in Step 4). Furthermore, web apps are often easier to maintain than mobile apps because they only use one codebase and thus do not run into compatibility issues. Another plus with web apps is that users do not have to accept updates.

What are the advantages of mobile apps over web apps?

A primary advantage of mobile apps is the ability to place the app’s icon on the user’s screen, giving the user one-tap access to the software. This is also a marketing boon for the app’s owner; the icon is visible to users every time they get on their device. Many app icons include a badge, a tiny number next to the icon telling the user how many new notifications he or she has received since last opening the app. The badge functions as a miniscule but often highly effective invitation to use the app. 

Since mobile apps run on the hardware and software of the user’s device, it’s also possible for the app to run faster and have more sophisticated functions than web apps, such as accessing the device’s camera, phone contacts, or GPS (all with the user’s permission, of course). Also, mobile apps can work offline and are more secure than web apps. Web apps are inherently more susceptible to hacking because any user can inspect how it’s interfacing with the browser, providing the tech-savvy user with clues as to how the code is written and might be exploited. Web apps may appear and function differently in different browsers, whereas mobile apps maintain their user interface across devices. Also, mobile apps need to be published in an app store, which means they’ve been reviewed by the store and found to be reasonably secure. While this makes them more expensive than web apps, it’s also invaluable for marketing. 

There are a few different types of mobile apps: Native apps are applications created for one particular operating system and are installed directly onto a mobile device. The term “native app” is often used interchangeably with “mobile app,” but there are other types of mobile apps that fall into the subcategory of hybrid. Hybrid apps utilize a browser engine within a native app and are coded with HTML, CSS, and JavaScript. The benefit of these apps over native apps is you can use one codebase for both Android devices (Google) and iOS devices (Apple) while accessing almost any native feature. Sometimes hybrids are web apps placed inside a mobile app for the sole purpose of being published in the app stores. 

At Buink, we usually recommend building hybrid apps using JavaScript frameworks like Vue and Capacitor. These frameworks serve as a bridge between your app code and the Android and iOS operating systems. This method drastically reduces developer time because you can write most of the front-end code only once, and it will work on all devices while retaining most of the advantages of native apps.

Identifying the most efficient technology for building your app can be difficult. Consulting with a computer engineer can save you mountains of time and money. At Buink we are ready to answer all your questions about web development software and find the best way to construct your app.

Step 6: Assemble your development team. (If you decide to use an app-building platform, skip this step and continue with Step 7 below.) 

Assuming you are not a coder, you will need to hire one as an employee or contractor. Contractors are usually paid at a higher hourly rate than permanent employees, but you won’t need to provide a contractor with benefits as you do an employee. Hiring a contractor is usually more cost-effective than hiring an employee unless your organization has an ongoing need for code development and maintenance, in which case you may want to find a quality coder to be a permanent part of your team. As you lay out a time frame for building your app, remember to include recruiting and onboarding. Finding, screening, interviewing, and testing applicants will take at least a couple weeks. Next you’ll have to prepare an offer or contract, wait for a reply, settle on a start date, and bring the coder up-to-speed with your organizational structure and project goals. Of course, applicants sometimes withdraw their application, fail tests, or get a better offer elsewhere. The hiring process almost invariably takes longer than one expects, usually six weeks or more.

How can I speed up the app-development process?

Web development companies can quickly connect you with talent and scale your team in real-time. If you want to bypass the recruiting process, you can hire a web development company to provide you with contractors or temporary employees who have the skills you need. There are tens of thousands of web development companies that can connect you with the right talent within a few days or weeks. Utilizing a web development company means you can scale your team in real-time to match your project needs and budget constraints. You can bring in additional coders to speed up a project; you can let them go at a moment’s notice without ceremony or fall out; and at the project’s end, you can retain a coder to maintain the app as needed. Many web development companies also offer graphic designers and writers to help you plan and create the optimal UX. 

How can I tell if a web development company is good at what they do?

Finding a quality web development company is crucial to the success of your project. The best web development agencies combine the nuts and bolts of good engineering with the organization and ethos of a well-oiled institution. For example, the most efficient development companies not only have coders who specialize in various aspects of web development (front-end, back-end, security, digital marketing, etc.) and can point to completed sites and apps that exhibit quality engineering, they can also explain their workflow system. Do they have protocols for minimizing relay time between coders? How about a way to ensure their coders keep changes separate from each other to avoid inadvertently blocking more important changes? And how do they keep the entire team in-the-know as the project progresses from initial idea through redesigns to the final product?

Buink Web Development has developed a proven formula for faster onboarding. 

At Buink, we’ve developed a system to onboard developers to a codebase that is new to them. On the same day we connect you with a contractor, without any training from you, we’ll have the contractor running your code locally and jumping in to make edits. We’re able to accomplish this for two main reasons: 1) We only connect clients with developers who already know the software and languages the client is already using. Buink has a large bench of coders with a wide variety of skills and experience, which enables us to be picky about who we put on a project. 2) We use a combination of proprietary code and open source technology (Docker) that allows an incoming developer to run one build command, wait a few minutes, and then see the code base in action locally. 

If the development company’s representative cannot easily explain the company’s processes or exhibits a condescending attitude toward those who don’t understand computer engineering, this is a glaring red flag. It’s important for non-technical leaders to have trusted technical partners who can explain computer engineering in layman terms and help them weigh technical tradeoffs. If the company representative willingly explains the various options for getting your job done, what problems might arise on your project, and what exactly you’ll be billed for, then you have probably found a competent web development team. 

For more information about choosing the right tech team, download Buink’s free Guide to Tech Projects for Non-technical Founders

Step 7: Create your app. Ready. Set. Go. It’s time to actually build your app, either by following the instructions in a no-code app builder or giving instructions to a software engineer.  If you have hired a coder or partnered with an agency, make sure you fully explain what you want; make no assumptions that they “get the idea” because nobody can read your mind–not even coders. Ask for updates often and if they don’t seem to be coming in a timely manner, schedule a recurring appointment–usually weekly or biweekly–with your development team to check in. Ask for a report on the team’s progress and give direction and feedback. Continual communication will keep the project moving in the right direction. If you get stuck while building a no-code app, most web development platforms offer help through instant messaging and phone calls, though this may incur a charge when using an otherwise free service.

However well you plan, there are sure to be some hiccups along the way. You can prepare for setbacks by including wiggle room in your timeline and informing everyone involved that the finish date is only an estimate. If you expect delays, you will feel less frustrated when they come along. 

Step 8: Test your app. 

You’ve created a concept, given it a name and flavor, and found the technology and talent to bring your ideas into reality. Now is the fun part when you get to see your app in action! App development platforms usually have a test feature and checklist to help you identify any problems. However, it’s important to test the actual app on several devices before you take your app to market. Download all the versions of your app (Android, iOS, web app, etc.) onto every type of device and see how it works. 

What should you look for when testing your app? First, test to see that none of its functions cause it to crash. Second, make sure all buttons work properly. Third, check that all features are performing properly. Fourth, see how it performs when connectivity is poor. Fifth, double check that none of its features are hidden or seem hidden to the user. Sixth, confirm that the app’s visuals are showing up correctly on all devices. Seven, check that the organization and navigation within the app feel natural and efficient. Finally, verify that your app name and description adequately explains itself to potential users.

Once you’ve identified and fixed any obvious flaws, enlist some beta testers. Their feedback is essential because their minds are fresh, ignorant of what went well or poorly during the creation process, of how much it cost to make the app, and of how the business is hoping users will employ the app. They will bring an entirely different set of expectations to their experience, giving you invaluable insight into how your app will be perceived and used in the real world. The more testing research you can do, the less problems you’ll have down the road and the more likely your real-world users will have a smooth, rewarding experience on your app.

Step 9: Publish your app. Now that you’ve fixed and refined your app, it’s time to share it with the world. 

How do you publish Android and iOS apps? For both Apple’s and Google’s stores, you need to create a developer’s account, which must be owned by the owner of the app’s contents; in other words, you can’t use your web development agency’s account. It’s usually necessary to have one account for each app. 

To be published on the App Store, you must subscribe to the Apple Development Program, which costs $99 per year. Before your app is published, Apple will review it. First you will provide Apple with information such as the app’s name and icon, its category, a preview or screenshots, a detailed description of the app’s features, and key words to be used in the App Store’s search engine. Within a few days, Apple will email you to inform you that your app has been made public or that it was rejected. In this case, you can contact the App Store’s Resolution Center for feedback before improving and resubmitting your app.

Google Play Store is the number one platform for Android apps with more than one billion active users. After putting your app on the Google Developer Console, you must submit information that will show up on Google Play, including the app’s title, a short description, a long description, graphics (photos, screenshots, etc.), contact details, and your privacy policy. When you’ve finished writing your store listing, you will upload your APK (Android Package Kit) file, which contains all the ingredients of your app, then follow the instructions on the Developer Console to transfer and publish the app. Assuming your app is approved, it will be live in a few hours, though Google has indicated that going forward they are going to be more careful in reviewing apps from new publishers. 

While the Google Play Store is by far the largest app store for Android devices, there are many other Android app stores such as the Samsung Galaxy Store and Amazon Appstore. The more places your app is published, the more users you’ll get. With every app store, choose your keyword descriptors very carefully as these determine your ASO (app store optimization). Also, follow the rules of the app stores because they may eject your app at any time if you are not in compliance with their regulations. 

How do you publish web apps? Publishing a web app is much easier than publishing a native app. The app simply needs to be hosted on a web server with a link to a web domain. Most no-code app developers will host your app if you pay a subscription fee. If you choose to go this route, you should nevertheless set up your own domain name; otherwise your app is tied to the app development company’s website in search results, which may make it hard to reach the people most interested in the services your app provides. The most time-consuming part of publishing a web app will be getting it to show up in search results. 

Step 10: Maintain and improve your app. When you build a bridge, sew a dress, or publish a book, you create a final product that is cemented in place for a long time. With apps, though, there’s nothing final about the final product. After you’ve published your app, it’s time to watch your app’s KPIs (key performance indicators) using the analytical tools provided to you by the app stores. User ratings and comments are also important feedback mechanisms for finding glitches and weaknesses in your app. They might even give you workable ideas for adding features that are key to your app’s success. 

No matter how good your feedback and KPIs, to keep your app clean and secure you will need to update it at least a few times a year. Also, to keep users engaged with your app, you should regularly upgrade and add to your content. Be sure to advertise and explain these additions with push notifications or home screen pop ups so the user perceives them as improvements rather than unwanted, confusing changes. You can update your app as often as you want, but a major overhaul of a native app might require registering a new version with the app stores. 

Finally, keep an open mind about your app. The most successful inventors and entrepreneurs often say their winning idea was not their first idea or even the second or third. Just because it’s your favorite idea or you spent a lot of time and money on it, doesn’t mean it will be the most valuable to the consumer. When something doesn’t work well, try to figure out why. In the end, every organization has to learn through trial and error.

Why Hire Buink?

As a web development company, we are dedicated to providing high-quality and innovative solutions for our clients. Our team of experienced and talented developers is skilled in a variety of programming languages and technologies, including HTML, CSS, JavaScript, and PHP. We take a collaborative and customer-focused approach to our work, ensuring that every project is completed on time and to the highest standards.

In addition to our technical expertise, we also offer exceptional customer service. We are committed to maintaining open lines of communication with our clients, and we strive to understand their unique needs and goals in order to deliver the best possible solutions. We are also flexible and adaptable, and we are always willing to go the extra mile to ensure that our clients are completely satisfied with our work.

One of the key advantages of hiring us for your web development needs is our experience. We have completed numerous successful projects for a wide range of clients, and we have the knowledge and expertise to handle even the most complex web development challenges. Our team is also highly skilled at using the latest tools and technologies to create modern, responsive, and user-friendly websites that are optimized for search engines and mobile devices.

Another reason to hire us is our commitment to staying up-to-date with the latest industry trends and best practices. We are constantly learning and improving our skills, and we are always on the lookout for new and innovative ways to enhance our web development services. This means that when you hire us, you can be confident that you are getting the most cutting-edge solutions available.

Overall, if you are looking for a reliable and experienced web development company that can provide top-quality solutions and exceptional customer service, you should consider hiring us. We have the knowledge, expertise, and dedication to help you achieve your web development goals.


I have a confession to make. It is true that we try to keep up with the latest industry trends. As such, this entire post, including the image was made by Artificial Intelligence. We would not have posted were it not all true, but if you want to know why to hire us from our humans, check out how we can help you unleash the internet for your business. Reach out, we’d love to help you with your next web project.

Budget Time For Approvals

My first tech project as a non-technical founder was a deals site, like Groupon. I hired a dev team and it turned out to be an over budget, low quality disaster. I’ve talked about it before, but for the purposes of this article, I’ll just say that I remember being frustrated at the development team because of the time required to review the supposedly finished work. Reviewing deliverables took forever, much more than I anticipated it would. 

Granted, they were particularly bad at delivering high quality code, but I’ve since learned that the product team, probably you, the non-technical founder, needs to budget time to review deliverables to make sure they satisfy the business goals. There just isn’t a way to delegate this, particularly at first.  Someone needs to be available for this.

If your developer team is good, they’ll adapt quickly to your preferences and values, and optimize for them, but it will still take time to review every change and make sure it is working as expected. Even with good developers, there are many opportunities for miscommunication or misunderstanding. I’ve yet to meet a developer who never missed a request. I know you’re likely one of the most busy people on your team, but you have to realize that you’re the resident expert on your business and you have to work closely with your team lead and project manager, otherwise you have to delegate that to someone equally expert on your team.

So, when you’re ready to start your next tech project, just remember, you can’t throw things over a wall and expect it to come back perfect. The only way to breach the wall and approach perfection is to budget the time.

This article is part of a series of articles designed to help non-technical founders find success on technical projects. For all our tips and tricks, download our free Guide to Tech Projects for Non-technical Founders.

If you need help with your next project, Buink has years of experience managing and completing technical projects on time, under budget, and with a high level of quality. Contact Buink today.

The Importance of Code Review | Non-technical Leader Tips

I’ve been on big teams working for nationwide brands where no one is formally responsible for code quality. It was a nightmare. Everyone was writing on the same codebase and one bug would halt everyone’s progress. The end client didn’t know the difference because it was all hidden under the pretty user interface, but it caused lots of problems and inefficiencies. 

One of the responsibilities of your lead developer should be to review every line of code that is merged into your main codebase. We have tools and technologies like GIT version control that make it easy to see every line of code that changes, down to line endings.

Just because a developer gets through your filters, passes your coding test, and makes it on to your project, doesn’t mean they’re going to be able to provide value to a project long term. Not only do they need to be able to write code well, they also need to be able to take feedback, deliver consistent value, write readable code, improve consistently, communicate clearly, and meet deadlines. The way you find out if they’re doing well is through code review. 

Code review adds about 10% of cost to the project but it probably saves 20-40% by catching potential bugs, opportunities for improvement, and overall readability of the code.

For a benchmark, unfortunately, about 1/4 of developers who make it onto a project fail after they’re assigned to some real tasks and go through consistent code review.

This article is part of a series of articles designed to help non-technical founders find success on technical projects. For all our tips and tricks, download our free Guide to Tech Projects for Non-technical Founders.

If you need hands on help with your project, Buink has years of experience managing and completing technical projects on time, under budget, and with a high level of quality. Contact Buink today.

Hiring Developers | Mindset & Biases

We’ve talked about filtering well and testing developers, now let’s talk about some things to look for when interviewing.

It is actually rare that developers can understand and implement business goals effectively. There just aren’t many joint CS and Business programs in the world. 

If you’re looking for a technology leader, one thing you’ll want to check is the way they think about the languages, frameworks, packages, tools, and other technologies they recommend. 

Are they able to look at things through the business’ eyes?

They’ll be making decisions that will affect you for the life of the company. Once a piece of code is written and running, it is very costly to re-build, sometimes even more costly than it was to build originally.

When choosing a tech lead, make sure they’re looking at things through the eyes of the business. Make sure they’re choosing languages, frameworks, and open source packages when appropriate. If not, you may not have the right person on board.

Biases to Avoid

Here are some possible red flags to watch for:

  • Adopting technologies too early for business. New things are shiny and interesting, that doesn’t mean they’re right for the business.
  • Building vs. remodeling. Developers almost always recommend to rebuild vs remodel when it is rarely the best decision.
  • Underestimating. Everything seems easy till the rubber hits the road.
  • Dismissing languages. Writing off whole languages as if they’re dumb. PHP is an example of this. It is the most widely used language on the web and several of the largest websites use it. Including WordPress, Wikipedia, MailChimp, Facebook, etc. 
  • Dismissing frameworks. Writing off frameworks because they’re dumb. WordPress is the most widely used CMS on the web yet developers incorrectly think they could do it better, cheaper, and faster. 
  • Extreme positions or opinions on things. Some examples of this are that everything needs to be written in components. Design should always be mobile first. Extreme test driven development. The truth is, every decision has tradeoffs, try to understand them. 
  • The list could go on!

This article is part of our series on tips for non-technical founders. Download our free Guide to Tech Projects for Non-technical Founders.

If you need hands-on help with your project, Buink has years of experience managing and completing technical projects on time, under budget, and with a high level of quality. Contact Buink today.

Introducing Website Maintenance Plans

I’m excited to announce our new website maintenance and support contracts!

Over several years of working with many technical and business leaders, I’ve found that codebases that get too stale become increasingly risky. 

Fresh Code Is Better

By “stale” I mean codebases where no one does any of the following things regularly: builds, updates, tests, audits, fixes, or add features. Your codebase needs regular maintenance and support to ensure it can overcome the risks of being live on the internet. 

Most business leaders think of the internet as a great opportunity for growth, which it is, but there are also many risks online! One of the most common risks is an open source package reaching its end-of-life (i.e. no one is supporting it with security and functionality updates). We use open source packages of code to drastically reduce the cost of building web assets, but they must be updated from time to time. Just because your codebase works now, doesn’t mean it will continue to work indefinitely without regular attention.

Let’s Dispense With The Hypotheticals

An example of this happened just a couple months ago. One of our clients let their codebase get stale while focusing on other aspects of their business. After a while, their marketing team needed some changes for a campaign launch. We jumped in to help them accomplish their business goal, but quickly found that their codebase would no longer build because the version of PHP (a programming language) had reached its end of life. What could have cost as little as $500 ended up costing around $5,000.

Other risks may include malicious attacks by nefarious individuals or state actors. Just last year, the city where I reside had a ransomware attack that cost them $1 million dollars! Had they had a support contract with regular security audits and code/data backups correctly, they could have walked away with very little work from the good guys instead of handing over a large payment to fund the bad guys.

The Solution Is In The Plan

To better serve our clients, we thought long and hard about website maintenance and support packages that would keep our client’s codebases up to date and lower the risks online. I highly recommend signing up for one of the paid plans. They’ll save you money in the long run and help ensure that we’re ready to help in the event of an emergency. 

Let me know if you’d like to get started or have any questions.