Choosing the Right Software Developer

The need for software development is rising each day. So much of our communication, especially when it comes to business and marketing, involves computers or cell phones. With the rise in demand, there is no shortage of options. How does someone with virtually no programming knowledge go about finding the right software developer?

First, as always, do your research. Even knowing what it is you are looking for in a developer takes a bit of education. Finding the right developer that can turn your idea or project into a usable software application may seem daunting, however there are a few points you need to consider.

First, cheaper isn’t always better. Consider the end result of your project. If this is a quick and dirty, temporary timeline, being cost effective might be your biggest priority. On the other hand if you are looking for quality programming, user friendly features, or extra bells and whistles don’t be swayed by low prices or quick delivery times. Demanding experience and references, and making sure you follow up on these will help to ensure you are happy with the final work of your developer. Find examples of what you’d like to see your project look like and what you don’t like then make sure you can communicate these properly to your developer. Being able to convey your vision and having your developer be clear on what you want and what you don’t want is the most important step to take before having anyone commit to the project.

Communication is pivotal when hiring someone to turn an idea into a reality. If you know the developer you are working with is able to communicate problems, ask questions, and most importantly, understand what you want, you will save yourself a lot of headache and make the experience pleasant. Experience, price point and delivery time won’t be nearly as valuable as finding a developer you can communicate with.

You also want to know that if you need to, you can reach your developer. Obviously you won’t be the only client that developer has, however, having someone available to work through problems right away or discuss questions or concerns you might have is going to go a long way to a smooth delivery and a superior end result. Unfortunately it isn’t just about finding the right developer, it’s your idea and you’ll need to be involved every step of the way so this is definitely something to consider when choosing your developer.

Open Source Software – an Educator’s Overview

I have always been keen on taking advantage of free offers. Given the choice between a fast food meal with a freebie or one without, I’ll plump for the mystery envelope every time. It’s human nature, and marketers know it well.

Even in 1979, when I bought my first home computer, there were user groups who supplied type-in listings for a nominal charge. When I bought the first of a series of Atari ST computers in the ’80s and ’90s, I was a regular customer and contributor to a public domain (PD) software library. Fast forward to the end of the ’90s and I was distributing the source code to a number of simple educational flash games to other teachers over the internet.

So that’s my credentials. Like many others, however, I have received much more from open source software than I have ever put in. For the uninitiated, it is worth explaining a few definitions here:

Shareware Software: is free to try, but there is a moral obligation to register your software with its creator and receive upgrades and support in return for a fee. The evaluation period may last for a reasonable length of time after which some features of the software may become unusable.

The Public Domain: if the creator of a work relinquishes all his rights to his intellectual property, it enters the public domain and can be used by others to create derivative works or profit from it without payment of any fees or need for some form of license.

License: many creators who wish to share their intellectual property with others will give away limited rights that allow the user to do a range of things – but still maintain overall control of the way their work is used. Many open source software developers will use the GNU Public License (GPL) as a framework for stating how their work can be used.

Open source software does not have to be synonymous with poorly written undocumented utilities that nobody else wants. Here are a few of my favourites:

Open Office: a fully-fledged office suite, word-processor, spreadsheet, presentation software and graphics package. The fact that these programs will export both PDF format to be read by Adobe Acrobat reader and SWF flash files for use on the web makes them incredibly useful to me. They are the main application software that I use on my laptop.

The GIMP: an image processing package with enough features to rival Photoshop. For younger artists, my daughters love Tux Paint with its variety of stamps and special features.

Moodle: an open source content management system specifically designed for educators. There are plenty of other open source CMS packages available for blogging or running your own web portal.

Software Development Technology – Higher Education

The need for educated individuals to work on developing computer software for a variety of reasons is growing as technology grows. In order to fully be capable of working in this industry students must earn a higher education in software development technology. Technology and computer based schools offer degree programs for interested students. There are a number of things one should know prior to enrolling.

1) The opportunities in higher education are specifically designed to generate well-rounded students that can contribute to computer software development. Computer software is related to everything from multimedia interfaces and design procedures to operating systems. Higher education offers students the chance to enter a degree program in software development technology or applications development. Students should expect to find that most programs of this nature are undergraduate degrees. Graduate degrees typically focus on the engineering side of software development leaving students with multiple degree options in software engineering. The undergraduate degrees are a great way to enter the industry prepared for entry-level careers.

2) An associate’s degree challenges students to develop necessary skills in logical and algorithmic analysis. Study dives into design techniques, programming systems, and working with relational databases. Curriculum is concentrated on looking at all services and applications students need to know for development practices. The main overall goal of a program at this level is to have students gain practical programming techniques with the use of superior problem-solving skills. Graduating from a program usually requires around 96 credit hours, which include courses on programming, web design, software development lifecycle, and web scripting. Students learn how to work with personal and business computers. On a personal level a course examines how to operate systems. Concepts and terminology on all hardware components and the function they serve. This knowledge coupled with software development technology skills prepares students for the work they will conduct in the industry.

3) A software applications development bachelor’s degree program teaches students the skills needed to pursue careers in areas like software design, development, programming, management, and process design. A foundation in programming skills is formed preparing students to work with different computer languages and platforms. Colleges integrate this information with theory and method of software engineering procedures and standards. Many bachelor programs like this one could require students to complete approximately 180 credit hours. Education is broken down into courses that focus on general education as well as core courses. With degree specific courses students learn about application design, programming, web service, software development, database design, and program implementation. To widen knowledge a course on contemporary world culture can be taken to address the impact of electronic communication and globalization. The course centers on how fast technological advances has influenced the world. Students are able to continue education or enter into a career as a software engineer or a software programmer.

Students can step into the fast growing industry of software development by learning how to use the latest technology. Accredited programs are designed to prepare students for the industry in both technique and software-based programs. Full accreditation is provided by agencies like the Accrediting Council for Continuing Education and Training ( http://www.accet.org ) to programs that offer a quality education. The world of software development is available to students through a higher education degree.

DISCLAIMER: Above is a GENERIC OUTLINE and may or may not depict precise methods, courses and/or focuses related to ANY ONE specific school(s) that may or may not be advertised at PETAP.org.

Copyright 2010 – All rights reserved by PETAP.org.