First we must define “in-house”. According to Investopedia, “In-house refers to conducting an activity or operation within a company, instead of relying on outsourcing.”
And then, what is a developer? A developer is, “a person or company who creates or modifies computer software”-wikipedia. Based on these definitions we can deduce that in-house developers reside within a singular company and solve problems related to computer software. In-house developers are part of an organized team constructed for a purpose, to solve the daily challenges of a specific business. A common opinion is that this team usually works towards solving problems for its own capital gain.
Companies such as Amazon or PayPal recruit in-house developers to build a team that’s created to solve problems aligned to their own business challenges. The primary purpose is not to solve for another business, but to enhance their own operations.
For-hire and outsourced seem to be used interchangeably. For-hire developers are groups or individuals who primarily solve problems for other businesses that are not their own. The work associated with a for-hire developer is usually bound by a contractual agreement which covers things such as intellectual property rights, non-disclosure parameters, and non-competition clauses.
Companies like Portage Bay Solutions consist of a team of outsourced developers. Portage Bay not only solves problems internally, but lends a helping hand to other companies who require an expert level of development to solve their most challenging software issues. Usually companies who don’t have an internal development department or those that wish not to overcomplicate their general business model, seek help from a for-hire developer.
Company Culture – In-house developers usually align with the business’s main company culture. This consistency tends to keep like minded individuals focused in a specific direction.
Direct line of communication – A face-to-face atmosphere builds a foundation of bonding and positive morale. It can also be easier for staff to stay aware of the progressions of the development stages.
Quick Support – Glitches and bugs are unavoidable so addressing them in a timely manner is key. Having an in-house developer allows for a much faster transition and problem solving approach.
Expensive – Usually there’s a larger up front cost associated with hiring a team of developers. The average salary of a developer ranges from $51k – $106k. Depending on the size of the team and their associated skill levels, such a large investment can be difficult for small startup companies to manage.
Limited Hiring – As more tech companies are emerging at a rapid pace, it’s getting harder to source the appropriate talent. Competition limits the active developer pool as larger tech firms poach potential applicants.
Limited Skill Levels – Certain companies require specialities in particular fields. A company’s need for multiple skill sets can lead to a much larger team of developers than initially intended.
Talent Options – Businesses aren’t confined to the specific talents of their staff. With emerging technologies resources can be as unique and adaptable as business models. When wanting to incorporate new and emerging technology it can be simpler to outsource than to add staffing..
Flexibility – Since for-hire developers are contractors or employees of another business, companies can work with them for specific needs and project durations without needing to handle details of hiring, training, payroll, and termination.
Recognizing Expertise – A business doesn’t always want to be in full control of every area. They can convey a basic idea of how they’d like things implemented, but ultimately leave the technical expertise and logistics to the development team.. (GIANT CAVEAT … from a for-hire developer: Communication and feedback is as essential for contractual scenarios as it is for staff situations. Handing off the details does not mean being uninvolved.)
For-Hire Developer Cons
Communication Delays – Since most communications are addressed from a distance, it’s harder to get instant help on every issue that arises. Also, for-hire developers are working on many solutions every day so businesses need to factor in time to convey their specific issues to the developer.
Turn Around Times – Multiple businesses are in the queue on any given day. For-hire developers are typically not focusing on one specific solution, but on many. An issue may come up that is perceived to be an easy fix but the developer(s) may not be able to address it as quickly as hoped.
Conveying Understanding –The old saying holds true, “the devil is in the details”. Addressing an issue is only as valuable as the details supplied. Businesses will need to be intentional and detailed in outlining their requests upfront. Forgetting viable business details could result in an incomplete product. A company will also need to be specific when expressing their concerns or issues with the software. Fortunately, a good for-hire developer will be skilled at drawing the information they need out of a client, and maintaining a good back-and-forth flow of conversation.
When it comes down to specifically solving a problem, both in-house developers and for-hire developers have similar approaches.
A common method is the “Six Step Problem Solving Model”:
Define the problem
Determine the root cause(s) of the problem
Develop alternative solutions
Select an option
Implement the solution
Evaluate the outcome
An in-house developer is usually focused on one specific program. They usually have a clear understanding of the in’s and out’s of that program and have spent a good amount of time implementing all of its features. When a new problem is presented, the developer has a much clearer understanding of where to begin. With a solid base of context developers can approach the problem at a much faster pace and use their knowledge of the program to great advantage.
Disadvantages can include tunnel-vision, flatness or sterile design implementations. And without the pursuit of new perspectives developers tend to walk a safe line in their approaches to creativity.
A for-hire developer typically works on too many programs (one too many). In some ways, this workload can be considered a major handicap. Extra time is needed when approaching a problem in order to comprehend the bigger picture being viewed. The transition in thought process must also switch when engaging new material. For-hire developers tend to pause and question their decisions more, because changing one thing in a solution could negatively affect another. Without a solid understanding of a program there is no choice but to view the problem from multiple angles, which takes time and focus.
There are, however, benefits of this take-the-time-to-think approach. Starting a solution with a fresh pair of eyes lends to catching critical future bugs, as well as seeing what changes can be made for optimization. For-hire developers tend to be a little more creative on the types of changes implemented as their problem solving approach needs to account for the near future as well as distant. The first developer knows they are likely not the only one to touch the solution in the future, so they are more apt to leave behind “breadcrumbs” for themselves and future developers, which helps alleviate the need to relearn complex logic.
Every developer must address a problem. Each type of development has its strengths and weaknesses. Both take a similar approach to problem solving. The main differences lie in the execution. Looking back at the Six Step Problem Solving Model – and pondering how each group may spend their time – can help when coming to an overall conclusion of which type of developer to pursue.
Are you an in-house developer or a for-hire developer? What problem solving approaches do you take? What is the biggest problem you faced? And how did you overcome it? What are some other methods you’ve used to come to a development conclusion? We’d love to hear from you – comment below or send us a message.
All developers are problem solvers and we all strive to find our own toolkits. Sometimes it’s not a straight path, but a labyrinth of opportunities. How we map out our destinations ultimately defines our paths to success. Keep solving problems. It’s important work.
Portage Bay Solutions is available to review, consult, and develop a range of Claris FileMaker and 4D solutions. Contact us with questions by submitting the form below, or schedule a complimentary consultation session.
Your email address will not be published. Required fields are marked *
Save my name, email, and website in this browser for the next time I comment.