Web Development is Software Development
Wednesday July 30th 2008, at 4:17 pm

When I sat down to write this blog, I only intended for it to be rather short. But then it grew and grew.

Since I’ve been graduated and at Partners and Napier, I’ve realized several things about the field that I’m in. The most prominent is that a web developer wears many hats: software developer, systems analyst, technology expert, and UX.

how well did RIT prepare me?

Overall, my Information Technology education at RIT has taught me well in all of these areas. But, I do feel that the “web developer” concentration lacks in a few fundamental ways. The first, is that it is merely a “concentration.” I don’t think that quite does it justice, as concentrations within the IT major only account for 2-3 specific courses. To me, the web development concentration (and most of the others) should be separate lines of education within GCCIS; much how ANSI is. There is just too much extra material to cover in a few courses to become a student specialized in these areas.

My second comment about the web development concentration, is that it does not teach the fundamental code management practices that will be necessary for maintaining large and complex websites. Nor does it place emphasis on what the title of this blog is: the fact that web development is very much akin to software development.

and on with the show

Make no mistake: When you’re talking about web development, you’re talking about software development, and then some. There are several major points I am going to make in this blog:

  1. We know more than HTML, and HTML is not programming.
  2. A web developer should be as competent a programmer as a computer science major or software engineer.
  3. We should have extensive knowledge of web technologies, and methods of application development on the web.
  4. Web developers must be highly versed in systems analysis and design.

Wow. So I just made a crapload of assertions. Let’s look at them each.

1. We write more than HTML

Let’s dispel that notion right now. In fact, a web developer is far more than a kid who can simply write HTML. A web developer can oversee the creation of a site from initial art concepts, to technical implementation, to QA testing and client acceptance, to final production launch. We can make GUI decisions, design the database, and architect the code. Knowing the markup language HTML is only a fraction of a web developer’s skills, and most will know more than one programming language.

2. A web developer should be as competent a programmer as a computer science major or software engineer

Why? Since I just dispelled the notion that we’re only capable of HTML, let’s also dispel the notion that a web developer is either a lousy programmer, or simply can’t program at all.

true web developers must be able to program in an object-oriented paradigm

Web applications require just as much thought, planning, and architecture as any other aspect of software development. Because of this, writing quality and robust code is essential. What good is your code if other developers can’t understand it, or extend it? Not only that, but writing applications that interact with a database is a regular process for a web developer. The PHP engine, for example, is extremely robust and very fast at run-time. Yet, this is not an excuse for sloppy or inefficient code.

version control is a must

Web developers must properly use version control, and this is another aspect of software development. Take the following scenario:

You have just launched a site. Let’s call it Sally’s Cookware. You’ve done all your QA and bug testing, the client approved it, and so you launched to the live server. Scheduled in a month, is the launch of a 2nd version of this site, including many more features.

Two weeks later, you’re happily well into development of the 2nd iteration of Sally’s Cookware. Suddenly, your project manager blasts into your office; Sally’s Cookware has a serious bug. There’s an error in the tax calculation under certain circumstances, and thousands of customers are being under-charged on taxes. This needs to be fixed NOW.

But, oh wait, you’re not using version control. In fact, you haven’t got a clue what it means. In this situation, you’re screwed (rather hard). Your current code is two weeks into development; it’s still buggy, untested, and unfinished. How are you supposed to stop what you’re doing, revert to the original code as it was at launch, fix the bug, and then continue development on the 2nd iteration? Well you could, if you had version control.

At RIT, this is something that’s taught in Software Engineering, but not in web development. Why? While you’d think that IT’s Web Site Design and Implementation course would teach these important aspects, it does not. RIT’s Information Technology department, and the web development concentration, lack these vital teachings.

The solution to my above scenario is to use a version control system like Subversion for web development. When using a tool like this, we can save and put aside our current two weeks worth of work, revert to the original launch state, fix the bug, deploy it to the live site, and then continue working on the 2nd installment of the site. Being able to do this, however, requires the same code management practices that software developers learn.

Delving further into the specifics of using version control with web development is beyond the scope I intended for this blog. But here’s an awesome article about it, conveniently titled: Using SVN for Web Development. If you’re still interested, there’s a great book titled Pragmatic Version Control using Subversion. It isn’t a typical dry or boring read (the Pragmatic line of books are good like that), and I actually read through the whole thing in about 4 hours.

3. Extensive knowledge of web technologies, and the impacts of application development on the web

As web developers, we are often uniquely responsible for not only server-side programming, but also for client-side programming. This means ensuring that our interfaces and layouts work for everyone. Regardless of browser, operating system, screen resolution, or the weather outside. We have to test it in many configurations, and ensure that it works just as well for Joan and her Mac as it does for Bob and his PC. This is not unlike the fact that software developers must ensure that their applications run on computers with an infinite number of system and hardware configurations (unless you’re Apple). What happens if the user doesn’t have Flash installed, or JavaScript enabled? Is our application prepared to gracefully handle those situations?

always something new

On top of being aware of all the current caveats of client-side front-end development, there is always something new out there. Some new technological acronym like AJAX or CRACKER-JAX is always on the horizon. And it’s our job to stay abreast of these new fads. Sometimes fads become trends, and trends end up becoming a new de-facto standard. We must decide which to follow, and which to not. Wrong decisions can cost money.

4. Web developers must be highly versed in systems analysis and design

Starting with requirements gathering, to concept, to architecture, to database design, to coding, to usability testing, we need to be capable of it all.

Why can a developer make GUI decisions, and why would we participate in the design process of a website? Because the artists may design something that is too technically difficult to implement in the time or budget allotted. Often by making simple adjustments, time and money can be saved during the programming phase of the site. It’s not my job to drive the creative direction for the site, no more than it is for the artists to program the site. Yet, a developer’s input is critical during the design stages. We must ensure the design is technically feasible, and we do this by working in synergy with the art team.

The notion that a web developer is involved from start to finish helps keep projects on time, and on budget.

in conclusion…

Web development is a unique beast. It requires expertise from a lot of different areas, and it is always changing. It’s for those two reasons that I enjoy it so much.

TwitterFacebookDiggStumbleUponDelicious


Action Chess
Thursday June 5th 2008, at 10:55 am

This is probably one of the coolest things I’ve ever seen:

http://lab.mathieu-badimon.com

Nice.

TwitterFacebookDiggStumbleUponDelicious


MyCheeseKitchen
Friday February 29th 2008, at 9:09 pm

This has been up for a bit, but www.mycheesekitchen.com is the newest site that I manage. It is a community recipe website, focused on cheese recipes. This was done for our client Sorrento. If you have any cheesy recipes you want to share with others, submit one! You can get a free recipe booklet out of it :) Our 2008 plan is to continually roll out new features one by one, get user feedback on them, and continue tweaking it.

We’re going to open up a “developer’s blog” soon, so that users of the site can communicate directly with me, and tell me what they like and don’t like. It’s a perfect example of brands wanting to interact directly with their customers.

TwitterFacebookDiggStumbleUponDelicious
Tags: ,
Posted in Uncategorized | No Comments »


6 Guidelines to Online Social Marketing
Wednesday October 24th 2007, at 8:02 pm

For those of you that don’t know me that well, my final quarter at RIT was an independent study under Professor Liz Lawley, their resident guru of all things online and social. The resulting thesis was the culmination of a year’s worth of interest and research, and finally a formal study under the guidance of professor Lawley.

Recently I decided to sit down and attempt to draw out some core messages of my research. And after reading Glenn Gabe’s 7 Drivers of Word of Mouth Marketing, it inspired me to stop being lazy, and actually compile my thoughts. I took a “best practices” approach in essence, summarizing at a high-level how a business or individual should be prepared to enter an online social marketing (OSM) campaign. So here they are. Comments are more than welcome.

 

 

1. Genuine, genuine, genuine: Don’t be fake.
You can never be genuine enough.  Truth and honesty are the best tools here.  No fake blogs, fake personas, or paid opinions.  Use only the honest truth in the entirety of the campaign.  A genuinely good product trumps a genuinely bad one.

2. Where’s my value?  Find the objective value.
Why do you deserve my time by me discussing you, your product, or your brand?  Be it sharing a viral video, or saying how cool your new product is (of my own volition), those are discussions by the consumer.  In the case of spreading a funny video, the video itself is the value.  To me, further value is gained when I share it and discuss it.  You must provide the catalyst that will fuel my discussion.

3. Empower the (right) people: Men aren’t interested in your birth control product.
Give the Right People™ the ability to share, post, host, and blog the value that you have provided them.  It’s not enough to give someone a free Kodak camera, and hope they talk about it.  But giving lead photography editors of well-read magazines a free camera, is better.

Reach out to the Influencers.  By talking to them, they will do the work of reaching the majority audience.  An Influencer is an individual whose opinion regarding a subject-matter is respected, and who wields a large network of friends.

4. No gimmicks: Do versus did.
Are people discussing the advertisement, or the product?  “Did you see those caveman commercials?  They’re so cool.”  “Did you hear about Subservient Chicken?”  We want people to know what a company does, not the latest advertisement they did.  “JetBlue provides a unique and exceptional customer service experience.”  This is something they do, and it is ongoing.  Focus people on the do, not the did.  No subservient chickens.

5. Embrace negative feedback: You’re not perfect.
If you’re opening a dialogue with your customers, be prepared to receive criticism.  But that’s not enough.  Be prepared, and willing, to correct your mistakes as well.  Negative feedback is not a punishment.  Don’t think you can provide people a forum in which they can criticize, with the intentions of ignoring them.

6. Engage your customers: Do you treat them like family?
Don’t be afraid to talk to them.  If you want to partake in their conversations, then you’re going to have to ask nicely.  Make them feel special.  Understand them.  Value their opinions and time, and tell them so.

TwitterFacebookDiggStumbleUponDelicious
Tags: ,
Posted in Uncategorized | 2 Comments »


Kodak “Winds of Change” AIO Printers
Thursday June 28th 2007, at 12:22 pm

In a new Kodak video (also featuring Steve Tom), Kodak continues its self-deprecating theme. Like the original Winds of Change video that went viral, my employer Partners+Napier has devised this little gem for you as well. It’s funny because I remember seeing Steve Tom around our offices recently, and I couldn’t wait to see the next finished product.

Kodak is debuting a line of printers that will sport amazingly cheap ink. How cheap? Well, it’s cheap enough to get Mr. Tom all excited again. Check out the video below.



TwitterFacebookDiggStumbleUponDelicious
Tags: , ,
Posted in Uncategorized | No Comments »




MYFAVS
web development • software engineering • digital strategy • social media • interaction design



CURRENTPLAY
Lead Web Developer



EXPRESSEDWITH
PHP · Joomla · MySQL



work n.
exertion; labor; toil.


play n.
activity for amusement or recreation.




copyright © vince cardillo 2012