What is a developer?
What is a developer?
And no we are not talking Property developers, we are talking about Software developers.
For a start let’s agree what software is for;
To solve a specific business problem defined by a specific user
Speculatively for a group of potential users
Now developers are a highly opinionated lot and the industry is highly fragmented and so you’ll find subtly different interpretations of the same terms but we wanted to give you an overview. Some of these aren’t even developers but often get lumped into the same bucket.
Before we get into the individual developer explanations let’s go with the high level “groupings”.
When someone says they are looking for a “Developer” they usually mean one of the following
Proprietary Developer - This is a company that has developed their own software/technology platform that solves a business problem e.g. Salesforce CRM Software, Xero Accounting software, Hubspot Marketing Automation software, the list endless.It may also be something that you could plug into your site/app or product rather than the entire service e.g. Paypal or Apple Pay, a shopping cart, etc.
Consignment Developer - This is a developer who will build what you want, a “gun for hire” for want of a better term.
Enabler - now this is technically a Proprietary developer too but this covers those companies that have built their own products to keep an ecosystem ticking over e.g. Analytics providers, Advertising networks
Now Consignment developers tend to fall into one of 2 camps
Freelance developers - as you would expect, individual developer working on their own.
A company that has developers that can work on your projects.
Web Shop/Web Development Shop
Mobile Developer/Mobile Development House
Independent software vendor (ISV)/ Software Publisher - builds, develops and sells consumer or enterprise software although they retain ownership.
System Integrator - Specialize in bringing together different subsystems into an overall system and making sure that the entire system functions properly. For example, if you have in-house back end system, let’s say your customised employee database, and were looking to utilise a new onboarding tool for use by your personnel you would need those systems integrated so that the HR tool could access your new employee information. Systems Integrators deal with highly complex, and typically back end, systems.
Right, now to the individuals within those companies (this list is by no means exhaustive):
Programmer or Coder
This term can be used as a catch all to describe anyone involved in writing computer software, for example a software developer, Web developer, mobile application (app) developer, software engineer, software analyst, embedded software developer or computer scientist. This can be insulting though as it is often considered an oversimplification.
Software or Computer Developer
Basically a person who writes computer software however, the process involves many components. They are the brains behind the conceptualisation, research, design, prototyping, computer programming (coding - see why we need a glossary), documenting, testing, bug-fixing and maintenance of computer software.
Software Engineering claims to apply a more process driven approach to software development in order to introduce better quality control. There is ongoing debate as to whether this is actually the same as a software developer but simply more focused on the methodology they use e.g.
Waterfall method (a non-iterative sequential process where a project is seen to flow downwards, everything is set in advance and changes require the process to stop and be redefined).
Agile method (soon to be "agile") describes a set of principles and “sub” methodologies where the requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. It is really about constant iterations, delivering quickly, adaptive planning, and continuous improvement.
Apps can be written for specific systems e.g. Windows, iOS or across many platforms for example mobile phones and computers. App developers usually specialise in specific platforms to develop on e.g. iOS or Android, or Windows, Salesforce etc, each of which has different programming languages and relies on that language to bring out the best of the system on which it operates.
This is a computer programmer who specializes in developing app for the World Wide Web, or applications that run on a distributed network (this effectively means that the computer programming and the data being worked on are spread out over more than one computer. Usually, this is implemented over a network e.g. from a web server to a web browser.
Embedded software development
This developer focuses on writing software to control physical products e.g. a washing machine controlled by an app. It is typically a specialised skill as it requires the development process to be integrated with the development of the actual physical product to be controlled.
This person needs to be skilled with computer programming but is often expected to have a better understanding of business and the commercial decisions surrounding software development. They are often expected to dig deeper into the relative returns of undertaking development projects.
This person specializes in analyzing, designing and implementing information systems. They are required to ascertain whether specific information systems will achieve the desired business outcomes. They also liaise with the key stakeholders, software vendors and programmers to ensure that the outcomes are met. Their role is to effect system change, not simply to create a product.
While they have to be familiar with a number of programming languages they don’t usually get involved in the actual development.
Like a building architect would need to take into account what the building requirements are, what materials are needed, where it has to interact with its environment (e.g. water, gas, roads) a systems architect defines what architecture is needed for the product, what components and needed, the interfaces (Services) and what materials and resources will be needed. Typically they will work on larger or more complicated projects.
The architect has to ensure that that architecture will support extensions or modifications in the future and is actually “buildable”. This role requires a broad set of skills - software, hardware and systems, but also may be expected to be familiar with a specific industry and its associated challenges and services.
So who is in Exicon’s developer network with over 3000 developers and how do we classify them?
Exicon’s database is comprised of over 3000 companies - proprietary, consignment and enablers.
We work with companies, namely they must be a Development House, Development Shop, Web Shop/Web Development Shop, Mobile Developer/Mobile Development House, Software House or an Independent software vendor (ISV)/ Software Publisher. We do not work with freelancers as most larger companies struggle to get vendor approvals to work with them.
Each of these companies has an average of 12 developers/engineers (see what fun this is:)) in house. They must be incorporated as a business and have published code in the past 12 months.
We qualify them based upon a variety of factors including their industry experience, their expertise, their technical specializations, their location and their relative price points.
If you are looking for a specific development company to solve your business problem or you are building a developer network for your company check out how we can help you grow your community.
You can Request Demo if you're interested about building a developer community.