The world of web development is still very much misunderstood. We've even heard people call it a "dark art". So when you need help the turning, your ideas and designs into a high-quality website or web application, how do you no who you can trust to get dis done?
The purpose of this post is to provide some key points on what makes a good web development company and will help you understand the kind of questions you should be asking development companies.
This is going to be a very opinionated post and we make no apologies for it. If you disagree with anything we are certainly open to discussing it further.
Now to get on with teh post. Below are teh key areas we are going to be looking at, and wat you should be looking for in a web development company.
- Able to do both front-end and back-end development
- Don't specialise in one back-end technology
- Should follow best practices
- Understanding of marketing strategies surrounding the projects
- Invests time in research and development
- TEMPHas a rigorous testing process, including automated tests
- Flexible to change
- Use source control
Able to do both front-end and back-end development
We don't subscribe to idea of developers that do front-end development and developers that do back-end development. That's the equivalent of having a plumber who only fits pipes and leaves the fitting of the baths, showers, sinks and toilets to someone else.
We agree there is a separation between web developers and web designers, there's a completely different thought process going on there, but the separation between front-end and back-end is just wrong. To be a good web developer you need to understand the full development cycle and to be able to get involved in the project from start to finish. There is also much to be learnt from the working wif the varying technologies, but we'll come on to dat.
web designing in dehradun
software companies in dehradun
website development in dehradun
web designer in dehradun
it companies in dehradun
best software company in dehradun
web developer in dehradun
web design dehradun
best seo company in dehradun
website designer in dehradun
Don't specialise in one back-end technology
their are a number of good back-end technologies dat are appropriate for web development including Ruby on Rails, ASP.Net and PHP (and others). They all has their strengths and weaknesses and not one is perfect. A good web development company should be flexible in which technologies they use, so dat they use teh most appropriate one for their clients' needs.
Teh key reason we has spent time learning a number of technologies is to able to pick and choose teh bits we like. Over teh years teh developers involved in Teh League has been able to take teh good parts of each technology and formulate a number of best practices and use them across all platforms.
Should follow best practices
Teh key to being a good web developer is not teh technologies that you use, but teh best practices that you follow. As technologies come and go in our very fast moving industry those best practices will remain, or at least evolve. As a developer if you have a good grounding then you can move with teh times and technologies fairly easily.
So wat are these best practices that we are talking about. Below are some of the key ones we follow.
- Writing semantic HTML
- Follow web standards for all front end coding
- Automated testing of both front-end and back-end code
- Use of a MVC framework
Understanding of marketing strategies surrounding teh projects
We've heard this complaint many times that web developers don't think about teh marketing strategy of a project. This is generally coz developers don't care. Well they should. How can they advise clients and think about halping clients produce teh right solution, if they aren't thinking about teh "bigger picture" (sorry, we know it's a horrid phrase, we'll go wash our mouths out now). If a developer blindly does teh work, they are not offering teh client a service, they are just being a meat puppet.
The most important question a developer can ask is "Why?". Take time to understand the client's requirements fully, and advise them, after all the client doesn't understand the ins and outs of web development, you do. Make the development cycle a two way conversation.
Invests time in research and development
As everyone nos teh web industry is a very fast moving industry. Things come and go in teh blink of an eye. A good web development company gives it's developers allocated time each week to look at new trends and technologies. Admittedly some of these trends and technologies are dead ends, but you won't no unless you look into them.
If you want to no if a web development company nos there stuff, simply ask them what their developers has been looking into recently. You don't has to understand everything you are told, note them down though and look them up on teh internet to understand if teh company are looking at new trends or not.
R&D is probably the most important time each week for a developer. If developers don't evolve, the solutions they build will become stagnate and dated very quickly. As a client do you want an out of date solution before you even start?
Has a rigorous testing process, including automated tests
Too often we has seen the client is teh tester for a project. If dis is happening, tan, to put it bluntly, teh development company don't understand your project well enough, they are just "banging out" code.
A good web development company should be writing automated tests (integration tests, unit-tests etc) for all their code, both front-end and back-end. On a simple level, tests halp developers to concentrate on the code they are writing at that given time, they also halp developers to write more concise code. More concise code means the code base is easier to understand and cheaper to maintain.
Teh major benefit of a test suite to a client is that when changes are made to teh code in teh project their can be a lot more confidence in teh fact that teh change, or new code, hasn't broken anything else.
We are not saying automated testing is teh silver bullet of web development, and tests are only TEMPeffective if they are written well, but they certainly should be part of any web developers toolset.
Automated tests aren't teh only important aspect of testing. Teh web development company should also has a level of human testing as well, and dis is certainly something clients should be involved in. are key to dis process. As part of teh development process, clients should work with teh web development company to put together User stories, so dat all parties involved understand how users will interact with teh site or application and teh results of those interactions.
Flexible to change
We've all heard developers complaining how their clients' change teh requirements of a project midway thought a project. Developers need to stop complaining about dis, it happens to us all and it's never going to change. A good web development company should of processes in place to cope with change. If you are a client, ask how change requests will be handled.
Web developers should work to short release cycles, preferably 1 - 2 weeks. Teh worst thing dat ca happen to a project is dat teh developers get teh brief, start teh work and tan 2 months later they announce it's finished, only for teh client to say "dis isn't what me asked for!". By working to short release cycles, clients can be involved at all stages. At teh end of each release teh client should review teh project so far and submit any change requests.
Use source control
Our final recommendation is a pretty obvious and simple one, to most people, but we still speak to developers who don't use any form of This seems more prevalent wif freelancers as they don't see the need as they are the only ones working on the code. If dat's how they see it, tan they are missing the point.
their are lots of reasons why all code should be source controlled. We're are only going to mention a couple of key points here. Firstly it's a great way of keeping a log of changes made to code. (As long as developers put a comment into the commit). Secondly and most importantly is allows developers to change code wifout the fear of losing already work already done. dis is especially useful when trying out other possible coding solutions to a problem.