We have both web and software developers here at SYPO. But, what do each of them do? We interviewed Dan Crossley, one of SYPO's web developers, to find out.
The job of a web developer
- What reasons do people have for approaching you to carry out work for them?
- Sometimes we have people approach us with an idea, who are simply looking to discuss it with a developer to get an idea of how feasible it is. Other times we get people who have lost touch with previous developers who are looking to get a partially completed project back on track. We also have some customers who come to us to provide support and new features for existing live projects.
- What processes might the customer have gone through before meeting with you/ contacting you?
- We receive projects that are in many different stages of completion, from an idea to an almost completed project that requires some tweaks or fixes before going live. Therefore there is no single answer to this question. We might have customers who have just had an idea which they'd like to discuss with us, or customers who are in possession of a part-completed project who would like our help to complete it.
- How do you establish what the customer requires of you?
- Ideally we'd meet the customer to discuss their requirements, getting a broad view of the project aims and objectives. We can then work to determine the best way to meet these objectives.
- Are there any particular tasks that you would carry out for every customer?
- Regardless of whether we receive the project from its beginning or whether we receive it partially completed, it's always nice to talk to the customer to get an overview of the aims and objectives of the project. While it may be possible to perform bugfixes on a part-completed project without an overarching view of what the project does, often we'll be asked to perform further work on a project to add further features in the future which requires us to understand the specifics of the project. Additionally, there are a few things related to time-management and planning that I will perform for every customer, such as compiling a list of individual tasks and sub-tasks that need to be done on a project, in order that we can be sure the final product ticks all of the boxes for the client. Beyond that, every project is different, so from a development perspective every takes that we perform is done in response to the project requirements.
- Please could you describe a typical day at the office?
- It's rare that any two days will be alike, as working on and quoting for different projects might have you working with a variety of different programming languages, frameworks and technologies from day to day. We may have meetings with customers either at our office or on site, but most often a day will consist of working through the list of tasks that I have created for a project, or investigatory work for a quote.
- How would you describe your job to a non-technical person?
- I write the instructions that are followed by both our servers and the user's computer in order to take data, and present and manipulate it in a meaningful and useful way, either on a website or as part of a desktop program.
- Please could you explain what you think is the difference between web design and web development?
- Web design is centred around what the user sees; the design of the site, the layout, and to some extent the interactions that they have with the site. Web development is where we take the design and actually make it function. In some cases there are content management systems (Concrete5, Magento, Wordpress) that manage much of the functional side of things for you, but in the case of sites with more bespoke requirements we will often build the site from the ground up using a framework such as Laravel.
- Are there any differences between what you actually do and what people think you do at work?
- I think that TV and Film portrays any computer-related job as hammering a random bunch of keys for 5-10 seconds, followed by some kind of miracle. Unfortunately, this is not the case, we have to mash a slightly less random bunch of keys for significantly longer, but I like to think we do still reach the miracle in the end. Much of our work involves breaking down problems into individual actionable tasks, discussing and planning out methods of achieving those tasks, only then will we sit and write the code.