One programmer is never enough
Programmers needed for a digital project
- Front-end developers. Specialize in user experience (UX) and user interface design (UI).
- Back-end developers. Specialize in the server, application and database structure, and technical infrastructure.
- DevOps engineers. Provide insight and expertise to combine IT and software development, promote the continuous delivery of software improvements and ensure the underlying server infrastructure is optimized for your needs.
Programmers are a unique breed. As brilliant as they are, we often take them for granted and think that they can do anything and everything. This can be the bane of a programmer’s existence. Similar to a board-certified podiatrist being asked to perform heart surgery, programmers have often spent their education specializing and honing their skills in specific areas.
Programmers needed for a digital project
There are usually three types of programmers needed for a digital project of moderate size. The more complex the project, the more programmers you will likely need, and possibly more than one of each.
Front-end programmers focus on what users visually see in a browser or application. They are responsible for a website’s user-facing code and the architecture of its immersive user experiences. The tools and languages that a front-end developer needs to know and use are varied, but a well-versed front-end dev should be adept at:
- Frameworks: Bootstrap, Foundation, Backbone, AngularJS, and EmberJS
- Libraries: jQuery, LESS
Front-end developers are akin to interior designers. They get to create the look and feel of a site or application based on the project owner’s specifications. The house they are working in is built by back-end programmers.
Where a front-end programmer uses technical skill and creativity to influence how a user sees a website or application, a back-end programmer builds and maintains the technology that powers those user-interface components. In truth, without a back-end dev, there wouldn’t be the infrastructure for the user-facing side to exist in the first place.
Back-end programmers have intimate knowledge of server, application and database structure, technology and languages. Back-end developers need to be fluent in:
- Server-side languages: PHP, Ruby, Python, Java and .Net
- Data tools: MySQL, Oracle, SQL Server
- PHP Frameworks: Zend, Symfony, and CakePHP
- Version control software: SVN, CVS, or Git
Back-end programmers are essential to creating a strong technical architecture that serves as the backbone and brain of any website or application.
There is one more type of programmer essential to a project or company of any size: the DevOps engineer. What can companies expect from a DevOps engineer? They provide insight and expertise to combine IT and software development to promote the continuous delivery of software improvements while also ensuring the underlying server infrastructure is optimized for your needs. They encompass a mix of experience and skills that includes system administration, programming, using cloud technologies and large infrastructure automation. A good DevOps engineer will be well informed about networks, operating systems, virtualization, and security. They will also be adept at other technologies such as iptables, SELinux, Chef, Puppet, Ansible, along with knowledge working knowledge of the tools and languages both the front-end and back-end programmers use.
Assessing your in-house programming capabilities
Every project should start with an assessment of your in-house skills. Is your in-house programming team enough to get your project off the ground, and across the finish line?
What to ask when assessing your staff programming abilities
- What skills are the most expensive to “learn”? If you plan to train up a dev in house, the cost of training can be $50k and take up to 1 year
- What skills are the highest risk? Examples: security and performance
- What skills are needed to “make things look good”? User experience (UX) and User interface design (UI) are both essential aspects of front-end programming. If you don’t have someone in-house that can do both that can match your style and brand requirements, outsourcing may be an option.
To be brutally honest, the chances of you having all of the programming skills you need for front-end and back-end development in one person is slim at best. That is not to put down the quality of work your valued staff members do, but it is more likely that you will find better success with programmers that are specialized in one or the other.
Evaluate the cost of temporarily bringing in an agency that can provide all the expertise you need vs. the cost of training new personnel and then meeting your business objectives.
- Does your timeline allow you to train on the job, or will you need a new hire?
- Do you have the expertise you need to keep your systems secure and running optimally?
- Will it be more cost-effective to contract out the specialties you need?
At the end of the day, only through a tough and in-depth assessment of your in-house skills will you know whether or not your team has what it needs to build to your project specs.
If you need a second opinion or find yourself needing an expert team of strategists, engineers, developers and user experience designers, reach out today and let Acro Media help you get your project going.