What is a software developer?
Also called a programmer or software engineer, a developer writes code or software, in different languages. The most common languages are .NET and Java, although there are also database developers eg. Oracle and SQL and web developers eg HTML, PHP, Ruby on Rails and Drupal.
What skills does a software developer need?
Here are a few key skills that will make you a desirable candidate for an IT job in software development or programming:
- A solid overall knowledge of software and programming languages
- the ability to learn quickly
- the ability to interpret and follow technical plans
- a creative approach to problem-solving
- comprehension of development processes like ‘Agile’
- great communication skills
- the ability to work with people at all levels of IT, including non-technical staff
- good project management skills
- the ability to work under pressure and meet deadlines
- good teamwork skills self-motivation
- an understanding of confidentiality, data security, and data protection issues
What should you study to be a software developer or programmer?
Tertiary study in any of the following fields can help you on the career path to software development and programming:
- computer science
- information technology
- software development
- software engineering
- business information systems
Open Source Development
Open source means the source code (very simply, the building blocks of an application) is available to anyone to read or modify. There is no license cost to develop or use open source software however you can usually pay for formal support should you need assistance.
Examples of open source
As a software developer or programmer you may be required to work with open source software. A few of the most common examples of open source you may use in New Zealand IT jobs are:
- PHP – scripting language suited for the web
- Python – general purpose programming language
- Ruby – general purpose programming language
- Linux – family of Unix-like operating systems
- Apache – HTTP web server
- Drupal – content management system
- MySQL – relational database management system
There are lots of different programming languages and operating systems out there and having some knowledge about these, not always at an expert level, can be extremely useful. Here are a few examples of common programming languages that employers may find desirable:
- SQL, Java, C++, XML, Ruby, Python and PHP
- Oracle, UML (Unified Modelling Language)
- .NET frameworks (such as C# (c-sharp), ASP and VB)
Experience of project management methods like PRINCE2 will also be helpful along with a working knowledge of project development processes like Agile.
Front end development vs back end development
Essentially the front end is any component operated or manipulated by the user (the parts the user can see i.e. a web page) and the back end resides on the server, potentially unseen to the every-day user.
Front End Web Development
The frontend usually consists of two parts:
- the web design
- front end web development
Previously, when talking about software development, it usually referred only to the backend behind the scenes stuff, but more recently distinguishing between the design components of a website and the backend (behind the scenes) components has become increasingly more important.
- drop-down menus
All of this information is stored in the backend.
Back End Web Development
The backend usually consists of three parts:
- a server
- an application
- a database.
Anytime you use a website to make a purchase, book flights or concert tickets for example, you’ll generally interact with the frontend. The information input into a website by the visitor is then taken and stored in the backend, whether it’s a database or cloud storage system. That database will have been created on a server.
All of that information stays on the server so when you log back into the application to print your tickets, all of the information is still there in your account. The person who builds this type of technology are a backend developer. Their job is to marry the complex database and systems behind the scenes with the pretty user interface, the front end. Backend technologies include; Silverstripe, PHP, WordPress, Linux, SQL, Oracle etc.
- Frontend vs. Backend http://blog.teamtreehouse.com/i-dont-speak-your-language-frontend-vs-backend