5 Sites to follow if you are a Web Developer

Posted July 21st, 2009 by Ashwin and filed in Software Freelancing
Tags:
Comments


If you are into web development and do a lot of funny stuff like me, then I would recommend to follow these 5 sites.  The mode of follow – Bookmarking, RSS, Email Feed – might differ from me, but the one thing I am sure of is the quality of information.

1. Smashing Magazine


Definitely tops the list with the depth and research that goes into each post.  If you are into web design/development and not heard of Smashing Magazine, then you are missing something!  Sometimes you find the posts are really long, but its definitely worth spending the time.

Link to: Smashing Magazine

2.  Woork


You don’t find Antonio Lupetti, the author of Woork, posting very often.  But when he does, the quality is assured.  The topic of posts vary from tips, techniques, tools and everything around web development.  A must follow, to know about some interesting tools, which you might eventually start using!

Link to: Woork

3.  Nettuts


Think quality web development tutorials, think Nettuts.  I really mean it!  All the tutorials posts over there are of high quality.  I have a separate label in my Google Bookmarks just for Nettuts and the tutorials of my interest.  Just keep tuning into Nettuts often and you will understand what I mean.

Link to: Nettuts

4.  SpeckyBoy


This is one of my recent finds.  I found this blog through a guest post in Nettuts, got impressed and finally subscribed to it.  The overall quality of the content is good but it may take a while before confirming its usefulness.  But it looks definitely worth a try!

Link to: SpeckyBoy

5.  Ajaxian


Ajaxian is a simple and effective blog to keep you posted on the happenings in the AJAX world.  Sometimes the posts lack depth but nevertheless a good one to follow.  Let me know if you differ.

Link to: Ajaxian

This list is completely based on my experience with these sites or blogs.  There is absolutely nothing between the authors of these blogs and me, except that I am a reader of theirs.  Feel free to suggest more useful blogs and I will be more than pleased to add them to the list.

Woork – A must follow blog for Web developers

Posted July 1st, 2009 by Ashwin and filed in Programming, Software Freelancing
Tags: , ,
Comments


I came across the blog – Woork – by Antonio Lupetti a few months back.  It is one of the blogs that can catch your attention almost instantly.

Nowadays, when I am stuck on something during my web development projects – like choosing a font, implementing Captcha or some AJAX controls – I instantly look up to WoorkThere is a good 90% probability that you will find the relevant information there.

Just thought of sharing this info with you.  Let me know if it helps…

Top 10 “On Demand” Skills for Software Freelancers

Posted June 21st, 2009 by Ashwin and filed in Software Freelancing
Tags: , ,
Comments


If you are planning to get into software freelancing, the first thing to care about is developing the right skill sets for your job.  If you are learning something, it is better to know about the demand for each of the skill and choose the right ones that suit you.

July marks the end of an year for me, into part-time freelancing.  Based on my project hunt so far, I am sharing with you the list of “on demand” skills in this blog post.  Please note that the list is solely based on my experience and understanding of the freelancing market.  Perception definitely varies!!

The list is meant to be read in the exact order – the skill with the most demand is listed first and so on…

1. PHP


freelancingskills_1

I can seriously bet - if you are looking at 5 freelancing projects, at least one would be based on PHP.

PHP is a server side scripting language, that helps you develop professional web applications with an emphasis on functionality, usability, reliability and security.  The major advantage of PHP is that, it works with Apache Web Server which most of the web hosting solutions (like MediaTemple etc.) use.  So PHP guarantees the portability of your web application across different web hosting solutions.

If you had worked on any server side scripting language like ASP/JSP, then getting started with PHP is just a breeze.

Every server application has an associated database to persist information.  MySQL is a very common and popular database in the freelancing world.  If you have the SQL basics right, working with MySQL is straightforward.

Recommended Resources:

Getting started with PHP

PHP – A Simple tutorial

MySQL Tutorial

Once you are comfortable with the basics of PHP, I would strongly recommend to get familiar with a PHP framework like – CakePHP or Zend.  You would see that they reduce the development time by almost half, taking care of most of the boilerplate code!

2.  HTML / CSS


Though desktop applications using Adobe AIR / Silverlight are gaining popularity, web-based (browser) applications are still the norm of the day.  Since HTML and CSS are the formats which most browsers understand, they form the basis of any web application.

So, to develop a web application, using PHP or any other scripting language, HTML and CSS skills becomes a mandate.  I am sure you know the basics – but if you are serious about getting into a web development project, an advanced knowledge of both these technologies are recommended.

Recommended Resources:

W3Schools – HTML Tutorial

W3Schools – CSS Tutorial

3.  AJAX and JavaScript


AJAX was a buzzword sometime back, but now it is very commonplace.  Folks link AJAX with jazzy looking applications, but it is more than that.  Though AJAX makes your application look sophisticated, its primary purpose of existence is to provide “asynchronous” client-server communication.

Since AJAX extensively uses JavaScript, a basic understanding of the latter would help you learn AJAX really fast.  I find most of the freelancing projects in offer, require the usage of AJAX and adding it to your skill set will definitely reap benefits.

There are numerous AJAX / JavaScript frameworks for you to choose from.  Since most of them provide similar functionalities, I would recommend learning one of those and use it in most of your projects.

Recommended Resources:

W3Schools – JavaScript Tutorial

W3Schools – AJAX Tutorial

jQuery

Scriptaculous

Mootools

YUI (Yahoo! User Interface Library)

4.  Flash Applications


freelancingskills_2

Flash Applications are quite a rage still, considering their thick client characteristics.  If you have this skill, then you are in game for quite a few freelancing projects.  Also, Flash player based applications and presentations are pretty popular.

The major downside is the commercial aspect of the product – Adobe Flash, used to create Flash applications.

Recommended Resources:

Learn Flash

5.  Java


freelancingskills_3

Java is a very popular freelancing technology – since it is open source and characterized by its “write once run anywhere” philosophy.

Java is just a programming language and there are various technologies built around it.  To mention a few popular ones – Servlets/JSP (server side scripting), Java AWT/Swing (client applications), J2ME (mobile technologies), EJB (business components) – and so on.

Nevertheless, a thorough understanding of the Java Programming Language and OOP (Object Oriented Programming) concepts are recommended to get started.

Recommended Resources:

One stop shop – for all Java Tutorials

6.  CMS (Wordpress, Joomla!, Drupal etc.)


Content Management Systems are the easiest way to build sophisticated web applications, in a shortest possible time frame.  Another major advantage in favor of CMS is their simplicity and even a non-technical person would find it very simple to get started.

Though a CMS like Wordpress or Joomla! provides the basic features that every web application needs, there is always a need for customization based on the requirements.

Customization usually falls into one of these two categories:

  • Themesto customize the look and feel of the applications
  • Extensions / Pluginsto extend the existing functionality or develop a whole new one

I have seen a good demand in the freelancing market for – Wordpress Theme / Plugin development, Joomla! Theme / Component development and Drupal module development.

Again, since most of these CMS use PHP as their base technology, an understanding of it is mandatory before working with these CMS.

Recommended Resources:

Wordpress Theme Development from scratch

Wordpress Plugin Development from scratch

Crash course for Wordpress Plugin Development

Creating your first Joomla! template

Intro to Drupal

Joomla! component development is a vast topic and I would recommend you to grab a copy of this book, if you are serious! - http://www.packtpub.com/Joomla-Extensions/book

7.  Microsoft .NET


Much like the Java Technology, there is a good demand for .NET based applications.  Since they are object oriented and platform independent, .NET applications are suited for both commercial and non-commercial purposes.

Since I am not too much an expert with .NET, I would recommend you to visit their website for learning resources.

8.  SEO and Link Building


Since this is not a purely technical topic, many programmers would not find the urge to venture into it.

But there is a good demand for quality SEO and link building experts.  In short, it is all about making your site Search engine friendly and increasingly popular in the process.

Primarily the content is what that makes a site popular – but there are some optimizations one can do at the site level, to let search engines take a note of them.  This is not a skill that you learn overnight!  You learn the best practices, put them into use and keep improving as time goes on.  So it may take a while to succeed, if you planning for these projects.

Recommended Resources:

Google SEO Starter Guide [PDF]

Official Google Webmaster Blog

9.  Facebook Applications


Facebook is a social networking platform.  The power of Facebook is in its extensibility – providing a platform where different applications can integrate with the core Facebook application.

Provided this extensibility, the scope of applications that can be developed is almost infinite.  There are already numerous applications developed for Facebook – like Twitter clients, games, calendar apps, etc.  You may find projects for developing some interesting social or commercial applications on Facebook.

Recommended Resources:

Facebook for Developers

10.  XML


You might be wondering that I never talked about XML, which is a primary communication channel for a majority of web applications.

Though you won’t be developing an application just based on XML – there will be many components that are wired using XML.  So an understanding of the basics is mandatory, before you venture into web application development.

XML is a document standard.  Ancillary components that can be developed around XML would include – XML generators, XML parsers, XML-Object Mapping, Validations, XSL etc.

Recommended Resources:

W3Schools Tutorial for XML

Though I have shared most of the popular technologies in demand, this is definitely not an exhaustive list.

Feel free to add any missing ones as comments to this blog post.

If you found this useful, consider subscribing to Thoughts Unlimited for more such blog posts!