This page is meant to be humorous.. in reality, the manager's job is to be creative and be full of ideas.. the programmer's job is to ignore every possible feature and focus on getting all the essentials running. Some programmers can be managers, but they have to step out of their multi tasking bodies for a minute and become completely ignorant if they want to get any programming done.
A manager calls up the programmer and tells him about a project he needs done. He starts going on about the project and the features and the plans, and all the good stuff.
The problem is, the manager is smart.. and he multi-tasks many ideas. The manager is brilliant, creative, and full of ideas and solutions. He doesn't stop for a second and ignore everything. The manager is not ignorant. He's a genius. But is this helpful in the project beginning stage?
The programmer and manager may know each other already and so they can talk to each other openly. They even enjoy being tough on each other, and joking.
So while the manager (John) is spitting out all the ideas and project features and project goals, the programmer stops him and tells him to shut up and get on with it.
Programmer says:
John, John, John, shut the fuck up. Stop.
Manager says..
Pardon.. what is the problem? Isn't this a great idea?
Programmer says
Yes, all of the ideas are awesome, I want to implement a lot of them. But you have to stop, and be ignorant for a minute. Ignore every feature, and tell me what you want done right now. What is the most important core part that needs to be done.
I can't do this all immediately, it has to be done incrementally. You have to tell me exactly what the most important thing is that needs to be done right now. Or you can ask me, and I will tell you what the most important feature to program is. In fact, it isn't a feature.. it's the core.
I have a computer and a keyboard here and I can't implement 500 fucking things in 8 hours today.. I can only implement one thing. Probably I'll just be able to get a small prototype database running today, that would power most of the starting stages of the project. The database connects to the submission forms that trap information from end users. We need to start on that and ignore everything else for a moment. We need data to work with and data to obtain. Without the data, the project is useless and all the other features are useless.
We need to be able to manage and edit the data easily too. Without being able to do this, graphics, and site advertisements are basically useless.
Manager says
Yes, but what do you think about this idea? We have the funding ready and the project is ready to go. Do you think my design idea is good for this part of the project, because all the marketing folks told me it is a sturdy business plan.. we just need to program the features and the system to make it work. Do you think that the site should have five separate sections for people to view, or just four? Do you like the idea that we could have an option to combine the user information into one big summary page? Is that possible even if the details are also available separately in five sub-pages?
Programmer says
Listen. Shut the fuck up. Stop it. These are all great considerations and are of course possible. It is all read from a database an you can display it any way you want.
But we have to get the back end going and we can only start talking about things like displaying data after we have some sample data and a small skeleton system up and running that allows us to verify it works in simplest form. Forget the graphics and forget the entire project. Just let me build the skeleton first. If we keep discussing the entire project, we'll never ever, and I mean never get the project on the road.
Ignore the entire project, John.. I'm not kidding. You have to ignore it. Focus, or let me focus. Telling me about 500 features will just make my job worse.. I need one feature: the core. Then those other features are easy to add on to the core.. it gets simpler after the core is built. And you know I'm excellent at building cores that are simple but extensible. All the bloated features can be added on to the core as we make progress. I'm great at programming the core and you can even throw some more novice new programmers on the simpler extra bloated features that we need to add later.
What I need is a specification sheet that shows me what columns the database will contain.. such as eye color, person's height, nose type, hair color, etc. Tell me all the items we should have in the database. And we can always add more later.. no big deal Databases are really extensible. I just need the core database specification and a few core details of how this system is going to work.
I need to know if users are going to be logging in too, but even that isn't so important yet (i.e. user name and passwords.. will the site even be locked by them?). More importantly is giving me a specification of the website and the details that we need to grab and eventually display.
Manager says
The most important part in the core should be that we need to get the information to display.. I have a list of items we want to ask the user for and then eventually display. I can send that to you along with a basic specification of what we need. The users will be submitting their details and our website will be displaying their information such as eye color, pictures, etc. How do you think we should display the data once we have gotten it from the users? How will the core system handle this? We need to run ads on the top of the screen too.
Programmer says
I told you, to shut the fuck up on the display stuff. That is easy stuff that you should not even be worrying about until we have the system core more ready. Focus on the data we are going to be dealing with, and worry about adding the advertisement system and displaying the data later.
The absolute most important part of the project is to work on the skeleton... the advertisements and display is so easy to add you wouldn't believe it. It takes literally 5 seconds to put an advertisement on a website.. it takes literally 50 hours to get a really simple skeleton working. There is no point in even worrying about advertisements because adding them is the easiest bloody part of the project. Displaying the data.. that is like eating cake. We need to bake the fucking cake first.
Manager says
I'm gonna let you play with the back end for a few days and you report back every so often and show me the progress. I'll hire the people to get the advertisements organized because we need to get companies to place ads on the sites. Obviously that has little to do with programming and the back end.
Programmer says
All is okay, I'll report back with demos every few days/weeks and bug me if I don't send you a frequent update. Everything will look rusty to you in the beginning stages though.
Manager says
Okay, and if you need to communicate with the graphics guy just let me know, for example I'm guessing you'll need to discuss banner sizes with him once we have the core working.. but as you say the ad banners are probably the least of our worries.
By the way, just sent you a stick of memory in the mail and a new spare computer in case you need it.
I will try to ignore almost everything about the project and just give you the details we need to get the most important core running.. I understand what you mean.
Programmer says
Awesome, I really appreciate the computer.
Glad we agree that we must remain partly ignorant at the right times so we can focus on the most important pieces while ignoring the less important ones. Not that we should become idiots.. just that we should become ignorant, at the right time, in the right place.. to move the project forward in increments.
The banner sizes matter a bit once we get the site display working and is not a big deal - we just have to make sure there is some code to display placeholders for the banners. That code can be added very easily in the template or in the browser output code. The graphics guy or even me and the other programmers can work with skinning them to match the site, so they look perfect. All that is of little worry and easily modified later.
Talk to you soon.
|