![]() |
Interesting post to read. With a lot of useful information for folks on both sides
Myself I wrote my first programs in 1969, and started working as a programmer in '75. Multiple titles from senior to manager to director up to 1986. And then to full time consulting work after that. From a hiring prospective I do take a close look at the type of projects that they have worked on. An OOPs game programmer might work OK in a graphics enviroment, not so much in a business enviroment. And in Canada the educational tracks between university & college tend to be pretty different. Case study - college - Inventory DB system Case study - university - Towers of Hanoi Quote:
And even though I've been in the management levels a few times I much prefer cranking code to trying to figure out how much I have to budget for pencils for the next year. Doing CBAs & ROIs for systems specs is about as close as I like. Quote:
Quote:
And then there are those programmers that insist on doing everything with single character field names like $f = $x + $a. Really time for a Gibbs. Quote:
Or one time the xVP explaining to somebody that he only has to tell me he needs "something", and I wander off for a few days and it's done, or a team has all the specs and are working on it. Quote:
But then I'm in the process of retiring, and only taking on a few projects for long term clients. There are a whole bunch of other areas that have started to catch my attention. Also partly because I'll be working on critical projects and likely to do 20hr days & +120hr weeks. I remember one project where I put in about 80 hour over 4 days. It was worth about $20 million a year extra profit to the company. Or maybe I'll just be demolishing a bunch of smaller projects that aren't worth the time to spec individually. Plus, quite often I'll fly half way across the country. So I charge an hourly rate based on $100hr + whatever expenses like hotels, meals, plane, etc. that I have to pay directly. |
I've heard the "why php" from programmers before. My question is "why not?" So many of the common scripts are written in it, and it works great, and it's something that most of us who know anything about programming at least partially understand. It's this familiarity that I want on my web server. Now if it's some stand-alone app then it's not such a big deal, but if it's on my server or my money-making sites, I want to be able to understand it and possibly change small variables or whatnot.
Also this has been touched on, but I think having well designed databases with optimized queries and efficient code is very important. Otherwise your $XXX-X,XXX month lightning fast server could crawl. Learning about a programmer's ability to optimize code/db's is important. "Just working" isn't always good enough. |
Great post :)
|
Quote:
|
Quote:
I think PHP gets a bad reputation because it is so easy to learn and very lax on structure (ie. you don't need to declare variables and types among other things) that it amounts to a huge number of unqualified programmers using it without actually knowing the fundamentals first. :2 cents: As for database / query optimization, I think that is EXTREMELY important. I have seen code from many people even here on GFY, who others recommend as good coders, who had no idea what an index was or how to use them. They have never heard of InnoDB or the EXPLAIN command (talking MySQL here). They didn't see a problem because their code worked with a 5000-row table, but once that table grew say to 50,000 rows and began to crawl, their answer was "most people will never have that many rows". Read a lot of case studies about database structures and sql queries, performance tuning and ask people more experienced than yourself for help/advice. It doesn't matter how good your code is if your database is the bottleneck. |
Quote:
You quite often see coding that looks something like this with test arranged in order: Code:
switch ($someField) { Very simple concept, that has major performance issues when dealing with high volumes. I've even written code that modifies this testing code based on current data being used. |
Quote:
It's the same with database fields, a lot of people use the field default size. For a simple example, I've seen people who know the maximum character length of a username on a site is say 20 characters. They create field as varchar(255). Or they know they use 2-letter country codes, but instead of char(2) they use varchar(255). That starts to add up once you are talking a large site with heavy traffic and millions of records. |
I'll outline some flaws in this article
70k per year? Did you just look this up on MonsterJobs for the avg going rate of some entry level PHP programmer or something? I believe so. You talk about the low cost programmers and high cost programmers, try to explain the difference.. I'll point out more real bits of information below but then you say to hire them and give the GOOD programmer some $70k after saying its okay to pay someone $150/h If they are $150/h, you for one are not going to hire them.. that is $250k/year 50 weeks in a year (2 weeks vacation unpaid) 5 days a week 8 hours a day... Seems you are already underpaying your great programmer... The fact is, everyone wants a great programmer or cant pay for one.. This is why the business is bad... Because, if you needed to hire an electrician, you are STUCK paying what they charge.. you have no real choice.. but for some reason when it comes to programming, you want the best of everything for the lowest of cost (Manilla Phillipines wages)... You end up getting what you pay for.... in the cases where you get a functioning script.. you end up down the road with massive security problems and no exception handling becase they dont work for quality.. they work to get the job done as fast as possible, doing only the bare essentials of the code.. which is the reason noone wants to work on other peoples code, and you will rarely ever find a good programmer who will accept you're fix up crap.. they dont need your $50_$150 crap projects. They like anyone else care about their future. Which brings in the next problem,, Any good programmer has learned... They are the valuable part of the company, without them nothing good gets accomplished... What do they see?? They see sales people who do nothing but sit on their asses and get a few phone calls going, making 3 times the pay... And guess what, when the programmer is done with the automation the company and everything is running great,.. The programmer is thrown out the back door because he is now expendable. Who wants to pay him the bucks when the job is complete to hang around and manage it.. we can get some minimum age punk to do the task So no programmers just work for anyone.. If things are well done and programmer is doing work and appreciated comes the next problem. MUST DO EVERYTHING HIMSELF AND EVERY LITTLE PART OF IT AND EVERY BIT OF TESTING AND THEN HE BLOWS HIS HEAD OFF See what happens is mr manager, calls the shots and starts getting projects completed with programmer... They work together and do some great stuff.. Manager now starts getting lazy and doing other stupid stuff, no longer wanting to sit down and get stuff done... Instead starts giving programmer all the tasks.. Every bit of all tasks.. do this, ok ddo that.. i dont want to do this so do that... Programmer says.. yeah i see whats going on here.. I do all the work, manager gets all the glory and programmer says no thanks bye bye and company falls to shit when they dont realzie progammer made job secure for himself and not going to answer how does this work when he leaves.. Programmers are underpaid, underappreciated, 10 times more intelligent then your best worker..... start paying them or continue with the headches and failed businesses. |
Quote:
Quote:
|
Quote:
I am entitled to more than my opinion.. I have worked for 3 companies on this board and 120 companies worldwide in the past 30 years... So let me tell you a few things. Bitter experiences? lol... I never flaked on one job and never lost a employer in 30 years... I have quit many. Everyone still wanting me back. I guess that makes me superior, not bitter. Learn the difference. You call my post a rant.. I call you a joke, Hows that? Lemme guess you can't take what you dish out. Fuck with the best, you will lose. You best be ready to be schooled by the experienced when you enter the deep waters. |
Real programmers wouldn't even consider working for places such as being hired on this board... It's high stress, high demand, LOW PAY.. and being shit on... dealing with usually morons.
The real programmers are working for the retail firms.. For example Leapfrog makes children games, some you may have played with.. You get a job in this company you get 3 times the pay.... You get a super relaxed working environment, which everything is done in complete specs and outlined A-Z before a line of code is written, You then you have like 3 months to complete the work, compared to here, something they want in like 48 hours.. Then you analyze it properly another 3 moths of testing... It works, the units are made and the money comes back for a job well done...... But here, you guys want shit written overnight, with no docs, no info given, I want a back end to do this... (OH OK MAAM) And you allow no research time paid for, You expect it to work perfectly out of the box as you imagined like we can see that.. The shit you never even thought of has to be made and included, at no extra cost of course.. and on top of it, if there is a technical problem from a 3rd party plugin,module, or server or operating system found (which happens about 2 times a day in web development) usually leads to 8-16 hours of debugging test, unpaid for of course... No real programmer takes these jobs.. quit fooling the world. Kids take these jobs.. They are not programmers, and they give us real programmers a bad name. |
very nice article and a good read varius...my compliments!
|
Quote:
Secondly, while I'd love to engage you and trade witty banter back and forth, it is obvious you don't have the vocabulary for such repartee and I shall try and keep the thread on topic; some people have found this discussion helpful, other such as yourself will not. Feel free to troll elsewhere so that the discussion here can continue in a POSITIVE manner :) |
Quote:
|
Very good post will.
|
Quote:
|
Nice info maybe I can get discounts like this.
|
Even an old dog like me could learn from this thread... been a programmer 26 years and still going strong. Good info, imo. :) I've never worked for anyone on this forum, but perhaps someday.
|
Nice thread!!
|
Very informative, wish I read it months ago.
|
Great Post!!
It helped me a lot. |
This is a very cool story bro -- I could not have figured this out using common sense alone.
|
Quote:
And nice write up btw, thanks! |
Thanks for writing it !
|
good job. very good article. very educational. hope you keep up the good job.
|
That is a really interesting article.
|
I once...
I once hired a programmer ($50 an hour) First day he called in sick, third day he was an hour late.... There wasn't a 4th day, I fired him.
|
Fabulous work done by you mate ... Needy thing for me ... yeppppy :)
|
top class work!!
|
gfelife is da best
Quote:
|
Nice
Helps me put things in perspective for my partner ;) Thanks! |
While its certifiably true that peoples experiences are varied and things change as time goes on, I read this and while some of it was true I wanted to do the community a service and nitpick a little and give my perspective as I found some inaccuracy in it when compared to my personal experience as a developer.
Please take these with a grain of salt as just my 2 cents; No offense is intended. == How Much Should I Pay? == * In my professional experience 70k/year USD is very low. If you check the job boards or speak to technical recruiters, or go to any "what should I be makeing?" sites online you find that anything under 80k is considered "jr" developer and they have a lot of options to move up and get higher pay after the first year or so. This is further backed up with the fact that the average developer per anum pay in my area is in the range of 90k/year-110k/year (USD) in my area based on experience. I have personally made 140+k/year, so either I was overpaid or I am really good, I'm just not sure. * Security is an easy fix, just have them sign something. Most good developers are decent people and either way, the threat of a lawyer works wonders as long as you are not hiring an offshore guy with more to gain by screwing you over than somebody who is in your country and knows you can show up at his house if things go south. * Indian firms are worthless. Most of them that I have seen will not even handle porn due to religion/social issues, as people there are really repressed and its not uncommon for people to be stoned to death for it based on the stories I have heard. I do not know how accurate these stories are, and I welcome feedback from others with experience, but "common knowledge" seems to suggest its rare. * The ABC example is partly correct but you are forgetting that the A from India sometimes can never do what the more highly paid C can do, becouse the A may simply not know enough. In addition, faults in craftsmanship in what they give you can in turn create what is known in software development as "technical debt" from the creation of inferior work. This is defined as basicly anything that makes it harder or more expensive to modify, use, change, or add features to the code later on. Its also the real cost that a lot of people dont think about. I have seen companies DIE due to having too much techncial debt in the form of WTF code... in fact - full disclosure! - I make a good part of my living fixing it. == How Do I Know if a Programmer is Good or Not? == I agree that the professionalism is key and I agree with most of what was said here, but I disagree that having somebody do a bunch of free work for you is the right thing to do. Its one thing to ask that they show you how to merge a single linked list, or know what a prefix tree is and how to use it correctly, maybe do some set theory, but a small project for free is another thing. This can also be a turn off because lets face it, they dont know they can trust you; its not uncommon for people to try to take advantage of programmers by having them do "just one simple thing" as a "test" when that was really the only thing they needed or wanted done. Yes it happens, I have seen it happen, and it sucks, but some people have the mistaken impression that good developers are dispossable so we - remember I am a developer - have to protect ourselves. It's a more common practice to have another developer test the person to test ability, as with common OOP details, the pro's and cons of a given technology, write some SQL to do a basic join, discuss the perf issues with using varchar instead of char in mysql, etc. In the end, it takes a software craftsman to understand if another person claiming that title can do good work. If you want to test them, hire them for a small thing and let them know it could lead to more work. Certifications suck and are worthless. I have seen people who couldnt code themselves out of a wet paper bag claim to have certifications that are supposably hard to get, only becouse they either cheated on the test or becouse they stole the credentials or faked them outright. In the end your best bet is to hire somebody for a fair wage, and keep them them happy by having open and honest communication with them. == The Importance of Specifications == A good dev could use #1 but would come back to you and ask for at least #2. Its often best to think of a developer as a translator; He (Its almost alwasy a 'He', but there are rare exceptions) is taking your english sentences and translateing them into a language that the computer can understand. With that in mind, keep in mind that a small sentence that you think is simple in english, may not be once translated to the realities of code. And a good develper will tell you when this happens. A bad one will hide it, be scared, etc. Look for open and honest communication, even if you don't understand what the guy is saying. And if you do not understand, say so. A good developer will be able to tell you in English. Milestones and breaking things up into smaller chunks is the best way to go and lets people focus on the 20% of work that gets 80% of the solution. == How Can I Keep My Programmer (Happy)? == I agree with most of this. Revenue or profit-sharing are a GREAT solution and way to keep programmers around, but as a developer I also need to remind you - even if you do not want to hear it - that vested interest/partial ownership in the company is the BEST way to make sure things are smooth sailing as developers have a lot of options. A developer who owns a company will do anything to help it grow. == Closing Notes == Anybody who says they have learned it all is an idiot. Don't hire them. I keep a pile of books I buy used from amazon on my table at all times, waiting to be read, and I read them when I get time at night, for this exact reason. I do not know everything, but I know enough that I enjoy reading and self educating. Your developer should be the same way because a day without learning something is a wasted day. |
I've been a programmer for more than 30 years.
This was a decent article, well thought out and accurate. Most clients take programmers for granted or they think that this shit happens by magic. Depending upon the Development Environment, it can be smooth sailing or it can be some of the most frustrating hours a person can endure. I cringe every single time I have to work in a Microslop environment. I'm putting the finishing touches on an Access Database project I've been developing for more than three years (single-handedly BTW) with only small, tiny crumbs to stay alive. I hope to make several million dollars when we finally do get to sell it. Most of my headaches in this and previous projects have always been as a result of Microcheeses inability to create good, consistent Operating Environments and/or Development Environments. I'm having to do a 11th hour new design feature to get around Microphlegm hideous Operating Systems. The system has a companion spreadsheet that I developed to pull data from the Database (spread sheets are much better for 'displaying' than databases) over the network. The problem is that this spread sheet is installed on 17 different machines pointing to single BACK_END. There's nothing wrong with the design as it runs PERFECTLY on about 9 of the machines on the remaining machines there are reference issues, missing code libraries, and other factors such as dependent files not in their previous locations for Microscum in their less than enchanting 'infinite - no limits' wisdom decided to change locations of these files in different versions of their crappyass Operating System XP, Vista, Windows 7 are ALL different in how they are configured. Not to mention that machines within the same OS are different if the Service Packs and updates are not the same. It's a nightmare sometimes. Most people have no idea the level of frustration that developers have to go through when designing a new program. For me, when I'm working with Microsoft (and I've been doing that since BASICA on the original IBM desktop machine), I spend about 30% of my time fixing, finding workarounds, searching for solutions to their inconsistent crappy stuff, and beating my head against the wall because I can't make a difference in the world to tell people to STOP BUYING Microsoft's CRAP! Long story short, be kind to your programmer because you don't often know the HELL he/she's been through to get your product off the ground and if at all possible STAY AWAY FROM anything to do with Microsoft. I've coded more than 1.7 MILLION lines of code in 11 different program languages on machines as tiny as a Radio Shack hand held in the early 80's to IBM Mainframe Clusters and Cray Super Computers. All of my most severe, dismal experiences have come from working with Microsoft. Some environments and/or languages are better suited to accomplishing programs than others. For example you would never want to write a 3D graphics program like Maya using ADA or COBOL or .NET. So, when considering projects consult with your programmer regarding the platform that you will be developing on (if you have a new proj starting up) so that you can get the best bang for your buck! The big project I'm working on is solely my design (with input from experts in the field) and it succeed or fail based upon the design and my ability to implement it. So far, our demonstration / showcase system has been running on more than 50 machines for about 3 months now. If I wasn't doing my own thing, with my own company, I would on the lookout for jobs that do have an ownership stake in the company. Cheers! |
Great post! Finding a good, and trustworthy programmer has always been a tricky issue
|
I love these posts. perfect for us newbies.
|
As a professional developer, I can attest to the fact that submitting proper requirements to the programmer goes a very long way. I became a programmer because I like programming, not because I like reading minds or because I like interrogating people to find out what they meant.
When giving requirements to a programmer, remember the following... Be as specific as you can without telling the programmer how to write the code. You want to give the coder as much info as you can. Invariably, you will miss something. I don't mind asking a few questions about an assignment, but when I get a vague requirement that forces me to do all the legwork figuring out what is required, it always starts the project on a bad foot... |
Worth reading! thanks :thumbsup
|
good post, now i know my old programmer wasn't good, he didnt match up to some of the "How Do I Know if a Programmer is Good or Not?" rules
:thumbsup:thumbsup |
Great information.
|
I don't think this applies just to the adult industry. Any webmaster across the industry would appreciate it.
Cheers for the info! |
All times are GMT -7. The time now is 10:21 AM. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
©2000-, AI Media Network Inc