Java Pairs Well with Which Database?

In the same way there’s a tight bond between MySQL and PHP, SQL Server and ASP.NET, SQL Server and ColdFusion – what goes well with Java? Oracle? Being curious, I started searching in employment web sites. I searched for “Java” and one of these databases: Oracle, MySQL, SQL Server and PostgreSQL. (I put in “SQL Server” using quotes.) The sites used were: craigslist, Monster.com, Dice.com, and Yahoo! Hotjobs.

The numbers signify how many job entries were returned.

So it does seem Oracle goes with Java. Also I noticed how many people call “SQL Server” just “SQL.” Sort of confusing and hard to tell if they’re referring to the platform or language.

How to be a Web Designer (Part 1)

Web Designer vs. Web Developer

First, let’s start by defining what a web designer is. “Web designer” has the word “designer” in it, so it implies having artistic ability and emphasizes artistic tasks (e.g. coming up with creative layout, knowing about color, typography, capturing your audience, and being familiar with industry-standard software). Attach the word “web” before it, and it implies what I’ve just defined with an additional ability to know about the World Wide Web and doing things on the “web.” At the heart of a web designer, there is this definition.

There is another term that sometimes many non-tech people use, however. It is web developer. Like the term web designer, it’s got the word “web” so you have to know about the web (how it works, etc.). It also has the word “developer” in it, which comes from “software development.” Software development involves programming (a.k.a. “developing”) software, like making a Windows program that keeps track of your contact information, or developing a small program that plays audio / video. These programs, before the web became popular, used to be strictly made for operating systems, like Windows and Macs. As the web grew, they since have been developed for the Web (e.g. a forum, Google Spreadsheets, Google Maps; they are all example of web programs a.k.a “web applications”). Web developers usually tend to handle these and write the code behind the scenes to process data. They work together with web designers, who handle the overall look and feel of the pages – what the users see.

One thing to keep in mind, however, is that sometimes the roles of the two may overlap, especially for consultants. If you work for yourself, you’ll sometimes want to handle an entire project by yourself. For example, you may have a client that asks you to build a web site. So you first design the pages. Then, the client asks you to implement a forum, a chatroom, a custom web application that keeps track of the sales of his company and an events calendar that has to be in sync with his PDA. These additional tasks cannot be designed but must be programmed. So at this point, you have the option of a) doing these tasks yourself; b) hiring a programmer (web developer); c) purchasing pre-made packages that you integrate or install yourself. The same goes for a web developer. The web developer might know how to implement these, but if the client asks to make the look-and-feel look vibrant, professional, and easy to use, and the web developer has no artistic talent, the web developer would have to hire a web designer.

Additionally, the titles of web designer and web developer can vary. I’ve seen and heard web designers / developers called different things. While I don’t particularly agree with some of these titles, these are titles that I’ve heard from experience and job hunting:

Web Designers Web Developers
Designer Developer
Graphic Designer Software Engineer
HTML Developer Programmer
Web Producer Internet Engineer
Interactive Designer Web Application Developer


Core Requirements

For a web developer, you have to have a software development background in order to build web applications, and have networking knowledge to understand the Internet. Companies tend to ask for a computer science or engineering degree from this individual. Also, a demonstration of previously created applications may be asked.

For a web designer, you have to have an art background in order to design pages that contain style, good aesthetics, be capturing, and create a look-and-feel that establishes or resonates the company’s brand. Companies tend to ask for an art-related degree from this individual. Also, a demonstration of a portfolio (from print and more importantly, online) may be asked.

Competitive Requirements

It’s chaos in the web community. Competition is brutal. Just having an art background, knowing some HTML, Dreamweaver and Photoshop, is not enough. After establishing the core requirements (like earning a degree), one goes to the next level to polish up these requirements that make you a true professional in the field. Depending on how many of these you master, it could directly impact how much money you make and which doors open for you in your path. These are the skills/knowledge/traits:

  1. Computer Basics
  2. Digital Media
  3. Project Management
  4. Information Architecture
  5. Usability
  6. Internet & Networking
  7. Programming
  8. Business
  9. News Active
  10. Determined Personality

You could probably make a career out of most of these, to show you how involved each could be. Let’s go into more detail for each one.

1. Computer Basics – The more you understand about your computer, the more productive you can be. It may take too much time trying to wait technical support to fix your computer if it’s a simple issue. Also, the more you learn about computers, especially if you play with a lot of software, the more you find out about features they have that could apply to web sites you design. You’re in an IT-related field, and therefore you should at least know the very basics of how a computer works. While you won’t be a network administrator or hardware specialist anytime soon, it is much faster when you help yourself with very basic tasks rather than always relying on outside support. Also, software that is common in most work places should be a given: Microsoft Word, Excel, and PowerPoint in the case of presentations.

2. Digital Media – This should definitely be one of your strong points. By media, I mean both visual and audio. You should become very familiar with Photoshop. Depending if your role is also doing print work, you may need to know Illustrator or QuarkXpress, both industry-standard. Know also digital formats, screen colors, and typography. Animation or fancy functionality may sometimes be necessary, so Flash may be required on a project. Sometimes Flash animation may require sound, or you may even have to edit sound clips for a video being streamed via Flash, so you’ll have to learn an industry sound editing program like SoundForge. Editing a video might even be necessary, so a program like Premiere might be of use. And Of course, last but not least, web authoring applications, such as Dreamweaver and web imaging program and prototyping tool like Fireworks. To make great pages, you will need to understand the code that is needed behind them, and they are: HTML, CSS, and JavaScript. (JavaScript is a programming language on its own. Web designers are usually not responsible to have this mastered – just knowing the basics and learn to use pre-made scripts.)

3. Project Management – Your boss or a client asks you, “How long is it going to take?” What do you say? How much money are you going to invest yourself? What’s your budget? Will you have to hire additional support to make the site? How will you handle quality assurance? How many progress meetings are necessary and when will they be? What are the deliverables when the project is complete?

There are whole books written on this topic itself, and as you can see, it is essential. Not establishing a project plan (even a simple one) is one of the reasons many projects miss deadlines, are delivered with poor quality, go over budget, or even fail.

4. Information Architecture – Your boss or a client asks you, “I want to make a site about my stamp collection. I have 10,000 stamps of various types and a description for each. How do I make this site?” It is your responsibility to think about all this information and organize it in a way that is easily presentable. How could you categorize these? By year? By genre? By value? There’s a great depth of information variables to consider and it’s your job to structure them. Once this structure is complete, only then can you build a great site.

5. Usability – Once the information architecture has been established for the stamp collection web site mentioned in #4 above, you have to consider how the web site can be made so that it is easy to use. Should you use a navigation menu with sublinks? If so, will users bother clicking on the links? Will they find it confusing? The site has to be easy and intuitive to use. The content users seek on the site should be easily accessible and easy on the eyes to read.

6. Internet & Networking – Being in the IT-field, it would be an embarrassment not to know how at least the basics of the Internet. To understand the Internet, it’s very essential to understand the basics of networking, e.g.: data transmission, protocols, servers (web, database), firewalls, online security, hacking, etc. – at least what they are. These all affect web sites.

7. Programming – Understand at least how programming can affect the pages you design. Know what languages are out there. You don’t necessary have to know how to program, as this is not your job. However, the more you understand it, the better you can work with web developers. Programming adds functionality to a site. For example, when you click on “purchase order” in a shopping cart site, someone programmed that page so that your credit card gets charged and it sends an email to the warehouse so your item can start the delivery process. There are hundreds of programming languages, but the most popular languages at this time for the web are as follows: PHP, ASP.NET, Java, ColdFusion, Perl, SQL.

8. Business – The more you know about business, the more your possibilities will grow. Understanding how the business functions, may give you a clearer idea on how to put together better pages in regards to functionality. Understanding the company’s finances may help you budget your project plan if you’re the project manager. Understanding company policies and dealing with lawyers will help put together better contracts between you and vendors you plan on hiring if your project is of larger scale.

9. News Active – If you’re always involved in the web community, then you’ll understand all the technological trends on the web. There’s always talk of web design methodologies and stories that come from other web designers that are always worth learning from. Staying active by receiving daily newsletters from various web design sites really keeps you sharp and on your toes. Subscribing to printed magazine like Practical Web Design and Computer Arts show you the latest trends, and the various examples of screenshots on its pages may lead to ideas in your own pages. RSS feeds, podcasts, Twitter – there are several ways to stay up to date.

10. Determined Personality – Companies always want to see a very determined individual. One of the differences between tech people and non-tech is in the confidence of learning something new on the computer. Because hardcore techs always use the Internet (are very familiar with Googling anything, and reading ebooks, blogs, forums, etc.) learning any task becomes way easier. Some people who do not have this mindset of always searching for information might be somewhat intimidated if they are asked to learn something new. The mindset of “I don’t care what it is, I can learn this, I will learn this, and I will master it no matter what” should apply for every project.

Job Titles for I.T. Occupations

Ever want to make up a title for yourself but just couldn’t find the right one? Here’s a listing of sample job titles grouped in four types of I.T. concentrations:

  • Network Systems
  • Information Support and Services
  • Interactive Media
  • Programming and Software Development

Download this chart to see where you fit in. This chart is developed by the Education Development Center.

Also, here’s a chart from Info~Tech. This is a listing of job titles along with its description to clarify exactly what the heck the title is. Check it out.