|Join Nairaland / Login / Trending / Recent / New|
Stats: 1174978 members, 1487664 topics. Date: Thursday, 12 December 2013 at 07:59 AM
|What Makes A Good Software Developer? by Fdeveloper(m): 2:57pm On May 22, 2007|
I have often spent a lot of time debating this issue with colleagues so I thought I would offer my suggestions and see what other points of view Nairaland developers have.
For me, there are a few points that makes someone a good developer which I would summarise as follows:
No Substitute For Experience
At the end of the day, a certain level of technical skill and knowledge is mandatory and in my experience whilst theory is all well and good there is absolutely no substitute for experience so a good developer has to have his/her hands dirty. Having said that, the experience I’m talking about has to have been constructive and varied. I mean just because you have been doing something for a very long time doesn’t necessarily mean you have been doing it the right way.
Plan Before You Code
I’m a firm believer in having an overall design before I start writing code and at the very least, I think a good developer should have an overview of the solution showing the various system components, data repositories, data flows etc. To do this, the developer must have a clear understanding of the requirements to ensure that the design satisfies them. In other words, a good developer should not just be concerned with writing good code but perhaps more importantly he/she should be concerned with designing a solution that meets the stated requirements.
Test To Destruction
I believe the testing process (both component and integrated) should form a part of the project right from inception and a good plan will allocate plenty of time for testing once the initial development is complete. With almost any software project you care to look at retrospectively, you will discover that more time was spent testing and debugging than writing the initial code. Don’t just assume that your code will work the way you intended, test it to prove that it does.
I am no different to perhaps the majority of developers in that I don’t particularly like writing documentation however I believe it is a necessary evil as anyone that has had to take over a project will appreciate. I am talking here about 2 forms of documentation the first being helpful comments in the code and the second being written documentation setting out the system architecture.
Attitude Is Important
I believe that a developer’s attitude is sometimes just as important as the level of skill he/she possess. Imagine you have to work in a team where all the developers are very defensive and don’t take kindly to criticism, I would suggest that in such an environment, the rate of output would be slow and even though the individual components may be perfect, they may not all work together to give produce the ideal solution . I believe that a good developer should have an open mind and be willing to listen to alternative suggestions and accept justified criticism of his/her design or code. After all if you are sure of your design, then you should have no reason to get defensive, you just calmly explain why you have done what you have done keeping in mind that there may always be a better way.
Never Stop Learning
Software development is a very dynamic environment with new techniques and methodologies evolving at a very rapid rate. Whilst it’s not necessary (or indeed possible) to keep up with every single new initiative, I believe it is important however to put aside some time during your working day to do some research and hence keep your skills up to date. Your research may even lead you to conclude that a particular methodology is not worth learning in detail but the key point is that you have made an informed decision.
Know Your Limitations
It’s often said that there’s a very fine line between self confidence and arrogance. Even the best programmer in the world cannot possibly know everything so for me, a good developer is confident about his/her knowledge but is also very quick to admit to a lack of knowledge where it exists. In my view, there is no shame in ignorance, the problem arises when given adequate resources, you don’t do anything about it.
Good Enough Is Not Enough
It is very tempting once you’ve got your solution working to forget about it and move on to the next challenge however I think a good developer will come back to the solution after a while and take a critical look at it to ensure that it cannot be enhanced in anyway. I also believe this should be done even if any enhancements you implement will never be used as the main benefactor of the exercise is you the developer.
I should conclude by making it clear that the above are just my opinions on what makes a good developer in an ideal world and on occasions I myself struggle to adhere to all the sentiments I have expressed above. That being said, I would be interested in hearing what other Nairaland developers think.
|Re: What Makes A Good Software Developer? by boraddo(m): 8:40am On May 23, 2007|
yea, i totally agree wit those points , add Simplicity to the list, .because most
|Re: What Makes A Good Software Developer? by MAYORIN1(m): 7:09pm On May 23, 2007|
Good article man, WHat else needed to be said , nothing
and above all
KNOW HOW TO SELL YOUR(SELF) SKILL
|Re: What Makes A Good Software Developer? by Ka: 12:45am On May 30, 2007|
Good stuff, Fdeveloper.
No Substitute For ExperienceAlso, the nice thing about experience is that it helps you build up an unconsciously build up a catalogue software development patterns so that you can much more quickly understand code and figure out an appropriate way of solving a design problem.
Plan Before You CodeThe other thing you also need to do is to think not just about what you're supposed to do, but about what you might do after that. In other words, you have to try and predict how your software might need to be extended so that you can design it to be easily maintainable.
DocumentationThe trouble with formal architectural documentation is that it gets out of date pretty quickly. The next best thing is 'in-situ' documentation (or code comments, if you like). These shouldn't simply say what you have just written but why you have written it - there's nothing more frustrating that seeing some seemingly useless code that you're scared to touch because you have no idea why it was written in the first place.
Attitude Is ImportantWhile it's good to keep an open mind, sometimes, you'll meet 'religious evangelists' who believe that their way is the Only True Way. You'll learn to recognise them by the absolutist language they use and the vehemence with which they condemn sinners. Their arguments may have merit, but learn to cross-check what they say to compensate for the excessive bias.
Good Enough Is Not EnoughI used to think like this too, but the realities of the commercial world mean that I simply don't have the time to revisit code that's 'good enough'. The best I can do is to make a note of what I might do if I had the time, but hey - life's too short to be spent obsessing over one piece of code when there's a whole world of software out there waiting to be developed.
|Re: What Makes A Good Software Developer? by minniepoe(f): 3:30pm On May 31, 2007|
Aside from experience, a software developer needs to have a good understanding of the requirement specification/function specification and from that, draws up the technical specification.
yeah i agree with planning of codes but prior to this understanding of the spec is necessary.
the issue of testing, i do not totally agree in a developer testing his/her work, there should be a software tester that would do an intensive system testing. yeah, a developer can do a unit testing but a tester needs to do the system testing as a whole.
a developer should also bear in mind that an automated system/application is meant to make work easier and less cubersome so should strive as much as possible to build a user friendly application. if a requirement is not good enough, challenge it.
i guess every other points you have made as well
|Re: What Makes A Good Software Developer? by Banderas(m): 11:53am On Jun 01, 2007|
I personally am of the opinion that first and foremost, to be a coder you simply need to have an analytical mind. Otherwise you'll get stuck in the ever widening community of mediocre and failed developers.
Experience and a good amount of research (read books, visit forums) also help. You need to understand the way the language works, otherwise you may end up writing "heavy" programmes which bog down the resources, and run like a loaded lorry.
|Re: What Makes A Good Software Developer? by Dynast(m): 4:22pm On Jun 04, 2007|
God job gurus!!!!!!!!!!!!!!!!!!!
|Re: What Makes A Good Software Developer? by owindies(m): 5:27pm On Jun 06, 2007|
Can I add one: "Love what you do".
I've met too many developers who are only working in the industry for the money or because their parents made them study computer science. They're the defensive ones who churn out low-quality work and then turn into terrible managers.
|Re: What Makes A Good Software Developer? by Fdeveloper(m): 5:24pm On Jun 12, 2007|
Many thanks for the comments guys, you all make very interesting observations.
|Re: What Makes A Good Software Developer? by my2cents(m): 2:14pm On Jun 13, 2007|
So, my boss shares this website with us at work the other day and I didn't get to read it till yesterday. Then it hit me, "hey, I have seen a post about this on Nairaland"
Here's the link: http://samizdat.mines.edu/howto/HowToBeAProgrammer.html
The title has "short" in it, but it is anything but that (55 pages, printed out). In other words, you probably want to read this while escaping from coder's block . Nonetheless, it is a good read and I just thought I should share. I will consider this my "do a good samaritan deed each day" post.
|Re: What Makes A Good Software Developer? by IG: 8:36pm On Jun 14, 2007|
@Fdeveloper, you've said it all, I couldn't agree more.
|Re: What Makes A Good Software Developer? by naijaway(m): 5:43pm On Jun 16, 2007|
i like this thread fdeveloper and you said right.
|Re: What Makes A Good Software Developer? by candylips(m): 11:02pm On Jun 16, 2007|
One more point.
Learn by reading other peoples code
|Re: What Makes A Good Software Developer? by trini_girl(f): 11:33am On Jun 17, 2007|
I don't see anyone mentioning interaction with the end users. they're the ones you're developing for, and should be a part of your overall development process. There are 3 different types of testing, there's unit testing, which you do yourself, user acceptance testing, and system integration testing where you test how much integration to an existing system will cost (cost analysis, risk analysis, etc), since all development is supposed to be done in a cloned test environment, and then there's post implementation review (6 months post production)
Developing software is not just programming, it's part of an information system, and as such the human factor should always remain priority. End users resent developers who leave them out of the development a new system, and usually reject it no matter how good it is and stick to their old system if they don't feel included, or if no steps are taken to ensure that the solution is user friendly.
We should always remember that the end result is customer satisfaction.
|Re: What Makes A Good Software Developer? by Seun(m): 4:46pm On Jun 17, 2007|
I don't see anyone mentioning interaction with the end users. they're the ones you're developing for,You're absolutely right. This is the most under-rated aspect of software development. Software must be useful.
|Re: What Makes A Good Software Developer? by nigeria1: 10:45pm On Jun 17, 2007|
the secret is, to go to school, It is not a try and error thing, All you nigerian assume because you get computer, you are now a programmer, It does not work that way,
Go to school and you would be good, Yorubas say soup that is sweet it is not cheap. Computer would change the world, and Nigeria,
I do not think any Nigeria school can offer good software development program, What I know now, in programming by paying to go to school abroad , even my prof when I was in Nigeria , they do not know it, So now imagine if they teach, They can not meet international spic.
what we need to do is create a program that allow Nigerian abroad to transfer knowledge to Nigerian in Nigeria. No other group of people would do it , Only us abroad, because this is what they use to eat, you want take garri from them mouth, May be a 1 or 2 month program funded by Nigeria govt, ticket, accomodation, and pay in dollar .
|Re: What Makes A Good Software Developer? by nigeria1: 2:36am On Jun 18, 2007|
You know after thinking about this, I want to improve computer use in Nigeria, I would give N10,000 every month to any person, who have the most posting On http://NigeriaONE.com
and I would give N150,000 to the person that have the most post in the year 2007
|Re: What Makes A Good Software Developer? by Seun(m): 7:58am On Jun 18, 2007|
the secret is, to go to school, It is not a try and error thing,Oh, come on, give me a break. How many lecturers in Nigerian universities are good programmers? And how many of those good programmers among them are good teachers who can impart this knowledge? Yes, people need to learn in order to become good programmers, but there's a lot of information on the Internet for those who have the time and patience to learn. The problem is that most Nigerians just can't afford the time it takes to learn.
One brilliant way to learn to program is to read a lot of well-written programs and imitate them. Bill Gates said so.
|Re: What Makes A Good Software Developer? by my2cents(m): 10:50am On Jun 18, 2007|
If we start doing things because someone says so, and not cos we say so, I don't think the world wd b a good place.
Having said that, it is my opinion that to be a programmer, school isn't necessary. In order to be a good programmer though, school is necessary. There is a difference b/w a programmer and a "good" programmer:
A programmer can think logically and represent that thought in code. A "good" programmer does what a programmer does and has a reason for it (for example, what language works best in a particular situation, what construct to use and why (for example, using a particular looping structure could result in data being returned in nlogn time as opposed to logn time, aka "Big O", etc).
just MHO anyways. Just the way one man sees it all. Just my 2 cents on the matter
|Re: What Makes A Good Software Developer? by Fdeveloper(m): 2:26pm On Jun 18, 2007|
I'm 100% with Seun and my2cents on this one
I have always believed that in Nigeria we put way too much emphasis on academic qualification and often ignore the practical hands on experience that an individual may have. I'm certainly not advocating that it's not a good thing to have a relevant qualification but having said that I have met a number of people who have a degree in computer science but don't really understand the real world environment and worse still lack the motivation for self learning. As has been said, a good developer should have a proactive attitude to learning.
trini_girl link=topic=55056.MSG#msg1210880 date=1182076416:Very good point!
|Re: What Makes A Good Software Developer? by nigeria1: 5:48pm On Jun 18, 2007|
seun, it is the same odua blood that flows in me, that is in you. you are a young man. 23 years old, Do you want a honest advice, or you want me to lie to you, Do you know you are not a programmer, You are not even a computer guru, I am not trying to bring you down my brother, I want the best for you, I have been watching you for awhile, And I tell you again , the secret is not the internet but in going to school, I have gone to school at least 3 time abroad and have taken course by the side at least another 10 times, even today, I just came from a class, you find even 50 year old going to retrain here. doctor , lawyer , engineer. we all retrain every year.
seun I want the best for you,
Look My prof in computer science in Nigeria was Prof Ibiyemi, (dean covenant univeristy ENGINEERING. This man is smart, but i would tell you, I do know somethings more than him now, because i live abroad, Prof Ibiyemi reads in his toilet, he lock himself out of it once , I had to climb to help him get the keys, and i saw books and books in his toilet, with book mark, And if i tell you, I now know something more than him, you can imagine, Prof Ibiyemi is among Nigeria first 3 best prof of computer engineering, that is if he is not the best Nigeria even produced.
seun do you want me to test your programming skill, tell me about you, may be i may help, what do you want to because in life, Nigeria needs people like you and it does not come cheap to train people,
You see,I have been to school over here at least 3 times, and have taken over 10 courses, The govt and company over here have paid alot of money to educate me indirectly, and I would assume they would pay more 10 million naira in my life time to always retrain me, Look they pay more than the salary of a prof in Nigeria to educate my child, a years. That why we pay high tax over here, they make us pay high tax, but we can see what they use the money to do. not like Nigeria, where they steal the money. I would rather pay high tax and enjoy for good govt services, than pay less, they have the best system in the world. For every one dollar we make , we pay back to tax about 40% to the govt, Salary tax is about 25 to 30 % and Vat or GST and PST is about 14 %. making at least 39% or 50% in some cases, Good life cost something, but they have good govt, do not forget, I believe the best. The federal does not take all the money like in NIgeria, most of the tax are by the state, The problem with Nigeria. is that federal want too much power and take 50% of the money, State should collect VAt and not federal govt,
If you are here, They would try to retrain you , it look like you like computer, Nigeria govt should get involve in training of expert, Nigerian abroad are the best expert they can use, because computer is going to be the only important thing in future, It goes beyoud having nairaland.com seun, Take my advice my brother, Odua blood is what flow in me, so you are my brother. I would love to set up an IT company in Nigeria, but it is hard to live in Nigeria, Even if you have all the money in the world, Nigeria is a difficult place to live in , That why we need good govt and men with Ideas, Yar Adua would be doing wrong to generation to come, by appointing anybody that is more than 50 years as minister, Let a new generation try to change Nigeria. We need change, not the same thieves who have stolen from Nigeria. I hear is about to appoint into govt. If they have no solution before, how can they have now. Our hope lays in Nigerian abroad, but it is hard to come back home, Japan, china, india are using their own people abroad to develop thier economy, Really if I am Yar Adua , i would pick most of the minister from abroad. You need to live in the develop world to see how it function and and transfer it to your country, Only Nigeria abroad can transfer skill and expericence to Nigeria. See how Iweala perform, Our mind have been retrain to think like Oyigbo people, and we can achieve what the Oyigbo can do, and put it in place in Nigeria.
You see the owners of google.com, They have PHD in computer science, Bill gate company when he started had computer graduate that help him develop some of those software, The only edge bill gate had was that his father was rich. so bill gate was able to pay for this PHD holder to pilot his company, Do you know how many PDH holder that works for bill gate, Look at the profile of the co owner of Microsoft, and look at their degrees,
Do not look at bill gate as your yard stick, If his father was poor, bill gate would no nowhere,
It is books, books and books, go to school seun, you would become an expert someday, This is the same advice, i would give my brother,
|Re: What Makes A Good Software Developer? by Fdeveloper(m): 12:55pm On Jun 20, 2007|
@nigeria1, I think you have completely missed the point. Nobody is saying that Prof. Ibiyemi is not a brilliant man but that does not mean that an individual has to be lectured by him to become a good programmer and I am positive that as able as Prof. Ibiyemi is, he certainly can't teach you everything you need to know about current real world programming methodologies. The point is that education and learning is certainly a good thing but it is not an absolute requirement to being a good programmer.
Incidentally, not that I'm defending Seun as I know he's perfectly capable of doing that himself but I'm curious to know how can you say with such certainty he's not a programmer and/or computer guru?
|Re: What Makes A Good Software Developer? by nigeria1: 8:41pm On Jun 20, 2007|
No man built a house without foundation, I am sorry, Programming demand certain basic principle, which you only get in the class, example, please tell me what are heritance?
at least you need prof ibiyemi for about 80% for you to be a programmer, it is a difficult field, ask an engineer ,80% would tell they hate programming. Yes anyone can go to the internet to get information and claim he is a doctor, But are they really doctors,
|Re: What Makes A Good Software Developer? by greatfiso(m): 2:12am On Jun 21, 2007|
can u see how confused u are like the book are turning ur head.
u just yarning off point -- Nigeria is a hard place , u want to develop Nigeria! what has all that blan bla dash got to do with this topic?
Sha go get ur phd so seun can employ u like Gate did.
oh sorry we dont even need people like u that dont believe in Nigeria and it people.
|Re: What Makes A Good Software Developer? by greatfiso(m): 2:16am On Jun 21, 2007|
how old are u self, cos u sched in covenant university u most be a small boy and a second class citizen in another man's country.
|Re: What Makes A Good Software Developer? by Fdeveloper(m): 9:42am On Jun 21, 2007|
Well sadly all your time with Prof. Ibiyemi and your training abroad clearly didn't do much to improve your command of the English language. Of course, English is not my first language either but having said that in addition to your bad grammar, I think you'll find the correct spelling of the term you alluded to is "Inheritance".
Inheritance is a feature of Object Oriented Programming (OOP) whereby a class can acquire (i.e. inherit) the objects, state and behaviour of another class.
By the way for your information, I'm a self taught freelance programmer who has worked with many blue chip companies in Europe, US and Nigeria and I have a degree in Business Administration (i.e. NOT computer Science) from a Nigerian university. I should make it clear that I'm certainly not arrogant enough to claim that Prof. Ibiyemi cannot teach me anything as I'm absolutely sure I can learn something from him, however my point is that I didn't have to go to university to learn programming.
I don't believe anybody has ever claimed that you can become a doctor simply by using information available on the internet and in anycase that is not a good analogy. I can practise development on my machine without putting anybody's life at risk however I need live patients to practise medicine which is why medical school is mandatory.
P.S. Incidentally, you won't believe how easy it is to find a spell checker and/or thesaurus on the internet or would you be happier if I just recommend a good tutor?
|Re: What Makes A Good Software Developer? by trini_girl(f): 8:34pm On Jun 22, 2007|
i think nigeria1 overestimates himself and his abilities.
I'm assuming here that you meant to type INHERITANCE? Please correct me if I'm wrong. Perhaps along with all your "class" learning for programming you should incorporate proper grammer and penmanship as well.
No class can teach you the intricacies of ADO DB, PHP, JAVA etc. However, they can teach the principles of coding, how to write good code (code structre, commenting etc). Even when you pay to learn these languages it is IMPOSSIBLE to teach every single thing that you encounter as a coder on a daily basis.
That's why the have verion controls, updates and support documentation to fix errors etc.
A person can have a B Sc, come into the work environment and not know diddly squat about the how to do what they need to do. So please, you assume too much and are coming off as knowing very little.
You think professional hackers went to Hackers College? Information Technology is such a dynamic and ever changing field of study that it's impossible to know all within the confines of a degree. Not discounting the importance of a formal qualification, but it all depends on your own personal goals, and your personal aptitude, intelligence and displine to succeed as a coder/programmer.
|Re: What Makes A Good Software Developer? by trini_girl(f): 8:43pm On Jun 22, 2007|
VERY WELL SAID! LOL!!
|Re: What Makes A Good Software Developer? by dakmanzero(m): 9:07pm On Jun 22, 2007|
I am a programmer/software developer.
Yes, I have a degree in computer science.
I come from a family of medical personnel (call me the family black sheep) and grew up surrounded by them.
I will say this:
a) It is not possible to become a good doctor by freelancing or teaching yourself.
b) It is very very possible to become the greatest programmer on earth without ever earning a degree.
This is not to denigrate the value of computer science as a university degree course.
It is still valid, especially as a prerequisite to advanced computing theory. Computer science provides a foundation for advanced research fields that are closer to pure mathematics than Code writing.
It's use to *professional programmers* is however limited.
To draw an analogy- You wouldn't study zoology, biochemistry or microbiology to become a doctor. Those are research fields, theoretical in nature, just like Computer Science. What you will do is study to an advanced level and write textbooks that Doctors will read.
So medicine,law and accounting are NOT theoretical research fields like computer science. They are professional fields, courses that serve as an induction to a 'cult' of professionals. The neccesity of this is, in those fields, it is impossible for a layman to judge the ability of a professional, therefore the professional is graded based on his ability to assimilate a large, mature, and largely static and unchanging body of knowledge.
Perhaps in a century's time,The rate of advancement in computing will slow down, and there will be a similar large unchanging body of knowledge and clear cut method of grading individuals before inducting them to the 'programmer's cult'. However for now, such a thing does not exist. Technology is changing so fast that what was law today is nonsense tomorrow. As a result, if a person takes a 'snapshot' of the current IT trends, he can prance about calling himself a 'programmer' and no-one will be the wiser.
Also, coding has not become such a mature field that programmers cannot afford to make mistakes. If a surgeon screws up, his patient dies or is disfigured. If I mess up my code, I tell the user to stop making noise over the phone and I deploy a patch. As long as coding is still at a stage where such a lack of professionalism is acceptable, we cannot deny that the nearest self-taught programmer will equal or exceed the skills of the finest MIT graduate, especially when it comes to such braindead tasks as web development and database administration.
The closest we have to such accrediatitions are the certification courses offered by major corporations. But the rate at which they are upgraded and expire is indicative of the speed with which the 'body of knowledge' changes.
So, I'm sorry my friend, but even though prof Ibiyemi may be a bonafide genius, I know some kids who will design a better website than him any day, if only because they have more time to surf the web and copy-paste webmonkey.
|Re: What Makes A Good Software Developer? by nigeria1: 11:27am On Jun 24, 2007|
greatfiso, Sorry, I never went to covanant university, My prof Ibiyemi use to teach in my former school before he got the offer aat Covanant university, and my degree was in ele ele.
Seun I notice so much lies going on this site, people claiming what they are not, On the issue of inhetance, I know that the so call Fdeveloper pick up the information from google search because no real programmer would define it that way, To test your skill that you claim ,
deisgn a simple software, that would display the name of each state governor in Nigeria, when you enter the state on a text , and now bring out the information , and would calculate the total number of reps in the house for each state if you increase the number of reps by the viarable of 4, 5, 6, Please i want to download it and see, if it works, don't worry about bugs, This should not take you 30 minute , use any platform you like, and allow it to be enable for touch screen ,
Hackers, only download software and use it, Most Hackers sometime, went to school, they just use their skill to rob the system that they work in, Me I do not want to turn to crime, God is against it.
Seun if you like do not go to school, It is your decision, You know what the word of God says "that the heart of man is bad , that who else can know it, "
|Re: What Makes A Good Software Developer? by trini_girl(f): 2:48pm On Jun 24, 2007|
Apart from using this forum to promote your silly little website, I don't see your purpose. You add nothing to this thread. What you have shown though in increasing measure, is your enormous capacity for assinine arrogance and by extension ignorance by every foolish utterance and poorly constructed contribution.
Since even though more than one person showed you how to spell a simple word like inheritance you couldn't even copy and paste it correctly.
Seun is doing quite well to ignore you and not keep the company of critical narcisstic fools. No one here cares to prove anything to you, we are mature adults. Perhaps you should try the "Games" forum.
|Re: What Makes A Good Software Developer? by Fdeveloper(m): 9:19am On Jun 25, 2007|
@nigeria1, trini_girl has said it all and I certainly don't feel the need to enter into a pointless question and answer session with you as I am confident in my knowledge and you are yet to prove to me and most other contributors to this thread that you even understand the basics of programming.
It may have escaped your notice but I would take this opportunity to remind you that I started this thread to exchange ideas with seasoned developers and not enter into a competition with individuals such as yourself. I would also suggest that you take a look at some of my past posts on this forum following which a reasonable person (not sure if this would include your good self?) can get an indication of my level of competence.
author=nigeria1 link=topic=55056.msg1232505#msg1232505 date=1182680871]NigeriaONE.comI would be eternally grateful if you would enlighten me as to precisely how a "real programmer" would define inheritance which incidentally I notice you still fail to spell correctly?
You know what, I admit that you are a far better programmer than I am having had the benefit of Prof. Ibiyemi's instruction and since I don't have a degree in computer science, I am wrong to call myself a programmer. There. Happy now?
|Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health |
religion celebs tv-movies music-radio writing webmasters programming techmarket