Programming Misunderstood



  • First off - I really like my job, I swear I do. Unfortuneately however, I have the pleasure of working for a company where the only programmers are me and one other Jr guy. The rest of the company are mechanical engineers, technical writers, and mainly dumbasses. I am routinely asked to create large web applications, and when I tell them it could take a year or more I get the look. You know, the look people give you when they don't understand how it could possibly take so long - the look they give you when they think you're bulllshitting them. Then each time - at least 4 or 5 now, I have to explain that we actually write code and that programming is not easy. I went through a similar feeling about 10 years ago when MS FrontPage was the big thing and everyone thought they could do web applications development, but this is worse for some reason. 

    I feel a little guilty because they do pay me well, but they have made no effort whatsoever to actually understand what the hell I do all day and it's gotten to the point where it's hurting my morale a little. I'd be lying if I didn't admit that on occasion the thoughts of a job hunt crosses my mind. I just wanna be respected I guess, is that too much to ask?



  • @tlowder said:

    I just wanna be respected I guess, is that too much to ask?
    Yes.



  •  I work in a somewhat similar company.  The company employees less than 20 engineers, mostly mechanical, a few MEs who hate using their computer for anything other than CAD.  The entire company exists, in one way or another, to support these engineers, because they're the ones designing the products that get made on the shop floor.  

     However, I see a couple differences between our companies 1) Our IT Department now has 4 full time developers and 2 temporary workers, as well as 1 guy for the networks.  By the end of the year, we'll have a help desk person as well as 2 or 3 SAP process specialists (long story, we just merged with another company and they run SAP, so we will now run SAP).  2) The majority of our company understands that we're not going to just sit down and spit out code.

    For example, I was hired in April of '07 to rewrite their quoting software.  It should be done around Oct 1 of this year (18 months).  Yet I haven't gotten pressure to get it done earlier or asked why it's taking so long. I think part of that has to do with my boss doing a good job of showing the company managers the value of IT.  He has done this by having an IT council with every department manager being part of the council.  They meet every 4-6 weeks.  They go over what's being developed in our big systems, long term plans and then talk feature requests.  He uses this time to show progress made on bugs, and features.  He doesn't just come in and say "that will take 3 weeks" but has emperical evidence to show them.

    It's hard enough for bad developers to understand why it takes so long for software to get written, so you can't expect other people to just "get it".  Identify some big wigs in your company and talk to them, get one or two projects to work on for them. Make them super high quality, and keep detailed data of how long it took you to do each part.  If you can show them that it takes 1 month to write an aspect of their feature but it's exactly what they wanted and works more or less pefectly, then you'll likely have more buy in.



  • Yeah, it's painfully common.  Who here hasn't offered to do a hobbyist website or website for a one-man entrepeneurial business and been asked to make the site look like Amazon.com.   

    Another good example was a company I worked for in the 1990's.  We had one of those large-box Vaxes.  It was dog slow becuase we'd been using it for about 5 years without any upgrades.  Management was deaf to our requests for hardware upgrades.  Finally we got them to agree to bring DEC reps in to analyze the system performance.  When the report came back that the CPU was 90% busy, management's reply was "See, you don't need an upgrade.  You still have 10%!  

    Funnily enough, this particular manager was also the one who wrote memos in Excel.  Yep, all the text in cell A-1.  I saw it myself. 



  • @jetcitywoman said:

    Funnily enough, this particular manager was also the one who wrote memos in Excel.  Yep, all the text in cell A-1.  I saw it myself. 
     

    Of course, then if you have work on a different memo at the same time, you can use B1, DUH. 

     

     Something else I thought of was I used to sit by the new products guys.  There were 4 of us in 1 cube, 3 new product enigneers, and me, a .Net software developer.

    Anyway, I was takling to one of the guys about something and he was looking at my screen which had VS up and some file open.  He said "Did you write all those lines?"  There was basically a page full of code on the screen.  I said "Yeah, and there's several thousand more lines, most of it was typed in by hand, some was generated, and some was intellisensed in."  He couldn't believe that programmers actually had to type that much.



  • @taylonr said:

    "Did you write all those lines?"
    That is pretty much an universal line, I heard the same thing alot. They couldn't get their heads around the perversity of the "String" either.



  • My advice... There are always better places to work if you've got the talent. The company you're working at now sounds like the one that pays by the amount of lines of code you write.

    @tlowder said:

    The rest of the company are mechanical engineers, technical writers, and mainly dumbasses.

    "...So this is the group you'll be working in. You see, our staff is made of three engineers, one technical writer and a couple of senior dumbasses."



  • @jetcitywoman said:

    Funnily enough, this particular manager was also the one who wrote memos in Excel.  Yep, all the text in cell A-1.  I saw it myself. 
     

    At least he wasn't using MS Paint. I saw that once!



  • @tlowder said:

    I am routinely asked to create large web applications, and when I tell them it could take a year or more I get the look.
     

    Well if that's all your telling them, then i would give you the look as well. Now i'm going to assume you actually gave them a bit more then just a time frame, but these kinds of requests might be just the way to get something rolling. 

    Instead of giving them a quick quote on how long it would take for you to create, also surf the web a bit. For a lot of applications there are already existing products. Especially with open source web apps you can quite often take a base that covers the most ground and build the remaining functionaliy yourself. (but be sure to check out the source before deciding to use it, most web apps are utter crap)

    You could also use the requests for big web projects as a leverage point to perhaps get a senior in the team. Because if your both Jr's your growth will be quite slow. Getting a seasoned vetran in the team could seriously increase the efficience of your devision, and also give you and your colleague a mentor to get you learning much faster then if you where doing it on your own. 



  • Hmm only now noticed you are calling yourself a senior in your sig. 

    In that case just write a 50 page functional requirements document. With the whole shebang. Each functionality specified, including use cases, form mockups, error handeling, wireframes and time estimations.

    That will hopefully not only  show them that its a lot of work, but also give them a insight in what part of it is costing the most time. Perhaps they will scratch a few features and give you the OK, who knows.



  • Well other than unrealistic expectations and little respect I have no issues with the company. I also doubt I could make the money I do anywhere else - it's the first job I've had where I actualy feel I'm being compensated fairly.

    It's one of those deals where the secretary will talk down at me and I only wish I could let her know that I make like 10 times what she does. On the other hand if I did do that she's so stupid she probably wouldn't believe it.



  • Yeah - I'm the seasoned veteran - the Sr. Honcho... I also tried showing them a ghantt chart that way it's ot just my word. They of course in the end have to take my word for it as it takes however long it takes. I just figured that after 3 or 4 times they'd not question it so much now.



  • Ack, I've been in that kind of environment too. You see it alot when you work for an IT dept that supports a non-IT business - or back in my "yute" it was working for MIS departments for general businesses. One place I worked, I distinctly got the feeling that the janitorial staff had more prestige than the programmers. You can never really overturn that kind of thing because it's such a subtle prejudice in the company politics.

    Regarding the commments about the amount of typing involved... I used to worry (when I worked in the above type of environment) that management thought all I did was type all day like a secretary. Which isn't meant as a slam against secretarial staff, just that we were paid so much more than them, I was sure the managers would at some point go "why am I paying that secretary so much?" It probably didn't help that I was female and young. I also occasionally got the feeling that managment thought I was "watching tv" all day. I couldn't just sit and think out a problem while staring at the screen.



  • @stratos said:

    That will hopefully not only  show them that its a lot of work, but also give them a insight in what part of it is costing the most time. Perhaps they will scratch a few features and give you the OK, who knows.
     

    ...They'd probably scratch the "features" they didn't ask for and are supposed to be scrapped by the time its in production.  "Planning, Unit testing, QA - we didn't ask for THESE features and you could get it done in half the time!" 



  • @jetcitywoman said:

    I also occasionally got the feeling that managment thought I was "watching tv" all day. I couldn't just sit and think out a problem while staring at the screen.
     

    I really hate that.  That, and the expectation that somehow after 10% of the time they should see 10% of a project completely polished to final production.  When a graphic designer gets half way through a project, they don't have a photoshop file with the top half of the page 100% pixel perfect and a blank white space in the bottom half - but somehow with programming framework/database/security modules just don't seem that sexy on a progress report... then when it all hooks together and you have a lot to show, they are sure you slacked off and got it all done at the end - because then the code turns into pretty pictures and pages.



  •  

    Couple of suggestions: Firstly, if you're dealing with scientific types, then you need to present information to them in a way that they will go for. So, lots of charts, numbers, tabulated data, progress reports etc in as much detail as you can be bothered. They can then use all that to justify your time to themselves and to each other. Any form of woolly or flowery information from you will be beyond their understanding. Give them as many facts as you can.

    Aside-- This is a subset of my theory that there are basically Scientific people, Artistic/Sensitive people, and Decisive/Shortcut people, or combinations.

    • Scientific: "This coffee machine will produce quality coffee at 11 pence per cup in 18 seconds. No other machine outperforms it in comparative tests."
    • Artistic: "You'll love the great-tasting coffee from our stylish machine. It looks great and is an asset to any kitchen area."
    • Decisive: "This is the top machine. You should just buy it."

    My other point is that you have a bit of an us-and-them situation. Try to get some of "them" involved in the design or development of your applications, if you can face it. Maybe ask for some help in the ergonomic design of your screens (even if you don't really need it), or get one of the engineers seconded to you temporarily. As a junior programmer, I was once sent to an outlying depot to go and work as an order-entry clerk for 2 weeks. I learnt more about how crap our systems were than you could imagine, and, when we rewrote some of the systems, we got one of the depot workers to come to head office to help us with design and testing - that really worked, both technically and socially. If you can find the right people, they like to do something different, and it is beneficial.

    Sorry, bit wordy that.



  • @BeenThere said:

    @jetcitywoman said:

    I also occasionally got the feeling that managment thought I was "watching tv" all day. I couldn't just sit and think out a problem while staring at the screen.
     

    I really hate that.  That, and the expectation that somehow after 10% of the time they should see 10% of a project completely polished to final production.  When a graphic designer gets half way through a project, they don't have a photoshop file with the top half of the page 100% pixel perfect and a blank white space in the bottom half - but somehow with programming framework/database/security modules just don't seem that sexy on a progress report... then when it all hooks together and you have a lot to show, they are sure you slacked off and got it all done at the end - because then the code turns into pretty pictures and pages.

    I'm mainly a component developer; that means that most of my code isn't even producing user-visible effects. Most of the stuff I do is executed from a neat GUI that basically has a "click here to run" button, which calls all my stuff. During the first 2 months, that GUI was only a carcass while I was doing my backend code. Of course, my boss wants to see progress, so I did an alternate web project that basically called the lower-level functions I was implementing.

    So while the GUI was still useless, at least my boss could tell I had just made "the reconciling pricess", "the billing run" and other stuff that was supposed to be called by the GUI "console". Even if it doesn't look shiny, most managers will at least acknowledge these crude prototypes as progress, and play nice with you. :)



  • @danixdefcon5 said:

    Even if it doesn't look shiny, most managers will at least acknowledge these crude prototypes as progress, and play nice with you. :)

    Most managers think the prototype is the finished system.  The only time I was ever able to disabuse them of this notion was when I had a reasonably complex training-bookings system prototyped in MS Access.  The boss said "It works well here, why don't we just send this out and tell everyone this is the application?"  The very next thing he clicked on caused Access to crash. 

    My reply: "That's why this is just a prototype and we still have to build the actual application now."



  • Eh, I've got to be honest you all sound like slackers. What web application could possibly take a year?  



  • @chebrock said:

    Eh, I've got to be honest you all sound like slackers. What web application could possibly take a year?  

    A large, sophisticated one? 



  • @morbiuswilters said:

    A large, sophisticated one?
     

    Ive been developing for 10 years. Maybe I'm stupid, lucky, lazy, or all of the above, but I've never had a web development project last longer than 6 months.



  • @chebrock said:

    I've never had a web development project last longer than 6 months.
     

    A web app != a web site.



  • @MasterPlanSoftware said:

    A web app != a web site.
     

    bool isUnderstood = (webApp != webSite); 



  • @vr602 said:

    Aside-- This is a subset of my theory that there are basically Scientific people, Artistic/Sensitive people, and Decisive/Shortcut people, or combinations.

    • Scientific: "This coffee machine will produce quality coffee at 11 pence per cup in 18 seconds. No other machine outperforms it in comparative tests."
    • Artistic: "You'll love the great-tasting coffee from our stylish machine. It looks great and is an asset to any kitchen area."
    • Decisive: "This is the top machine. You should just buy it."

     

    Don't bother developing this theory further.  THere are already tests out there that will put you in one of those groups.  Although you forgot "The Intuiter."  Someone who loves futuristic and bleeding edge features and gizmos.  

    • Intuiter: "This coffee machine has a hypo-thermo coupler to heat the coffee perfectly even."


  • @tster said:

    Intuiter: "This coffee machine has a hypo-thermo coupler to heat the coffee perfectly even."
    Hmmm... a hypo-thermo coupler, eh? You've sold me. I'll take three.



  • @bstorer said:

    I'll take three.
     

    I'll take four!



  • @chebrock said:

    Ive been developing for 10 years. Maybe I'm stupid, lucky, lazy, or all of the above, but I've never had a web development project last longer than 6 months.

     

    Count yourself lucky that you've only worked on small- and medium-scaled apps. The larger the app, the worse the WTFs usually become. 



  • You must be working on some pretty small apps then.



  • Not to dwell on the topic, but after thinking about it I've been on web apps before that have taken over two years to develop.



  • @tlowder said:

    Not to dwell on the topic, but after thinking about it I've been on web apps before that have taken over two years to develop.
     

     Can I ask then, what are these apps? Some explanation of functionality would put things in perspective.



  • @MasterPlanSoftware said:

    Although Jeff S likes to be a prick and delete my posts
     

    I thought you were a mod -- sorry about blaming you for the deleted posts. Classic tool behavior - blaming the wrong person. 

    Don't get any ideas though, I still consider you my nemesis.



  • @chebrock said:

    @tlowder said:

    Not to dwell on the topic, but after thinking about it I've been on web apps before that have taken over two years to develop.
     

     Can I ask then, what are these apps? Some explanation of functionality would put things in perspective.

    Two large Configuration Management System Portals with completely different business logic and a Custom Content Management System for the Dept. of Ed's No Child Left Behind Act... My last company also did a custom sharepoint portal that took 4 developers over a year to complete as well...



  • @tlowder said:

    Two large Configuration Management System Portals with completely different business logic and a Custom Content Management System for the Dept. of Ed's No Child Left Behind Act... My last company also did a custom sharepoint portal that took 4 developers over a year to complete as well...
     

     Sorry dude, its fail bigtime. Anybody taking a year to write a CMS is absolutely worthless. I've written tons of CMS's, the most recent with a flex frontend, of which i had to learn flex as I went along, and it took me about 2 months, all the while managing my department. I can't even begin to imagine what I could do in a year. Even six months is an epic amount of time.

    I have no idea what Configuration Management System Portal is supposed to be either. Neither does google.

    http://www.google.com/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=%22Configuration+Management+System+Portal%22&btnG=Search 

    Bad programmers take longer and use more lines of code, AND THATS ONE TO GROW ON. 



  • @chebrock said:

    Sorry dude, its fail bigtime. Anybody taking a year to write a CMS is absolutely worthless. I've written tons of CMS's, the most recent with a flex frontend, of which i had to learn flex as I went along, and it took me about 2 months, all the while managing my department. I can't even begin to imagine what I could do in a year. Even six months is an epic amount of time.

    I have no idea what Configuration Management System Portal is supposed to be either. Neither does google.

    http://www.google.com/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q="Configuration+Management+System+Portal"&btnG=Search

    Bad programmers take longer and use more lines of code, AND THATS ONE TO GROW ON.

    First of all I know you're just trolling to piss people off - and secondly a Configuration Management Portal is just what it says it is - it handles e-mail - calendar of events - has document management functionality (ie. Storage, Workflows, etc...) - and a full host of administrative functionality... All on top of it's core capability of Configuration and Logistics Management.

    Neither were some software purchased or downloaded from the interwebs and customized a little - they were created from scratchola.

    You obviosly have no clue what you're talking about as the requirements analysis and test phase alone on any app of decent size can take two.

    Peaceizzle...



  • @chebrock said:

    @morbiuswilters said:

    A large, sophisticated one?
     

    Ive been developing for 10 years. Maybe I'm stupid, lucky, lazy, or all of the above, but I've never had a web development project last longer than 6 months.

     

     

    then you've never worked on anything nearly as large as some of the stuff I worked on.  At one place I worked we were a state contractor- we had one program in maintenance mode (my first job as an employee there was a recode of one of it's modules).  The application's job was to track the professional licenses issued to 6 different professionals - the section that I cut my teeth on was the Real Estate Firms/Brokers licensing section.  It was mostly an application for the department that issues these licenses to use to track them, but it also had a website that could process online self-renewals from the various people. (Also had like HVAC licensed techs, etc).  

     

    Two of my coworkers spent 14 months writing a new application that managed about 17 different licenses, not sharing a single license type with my application - these two were damn good coders, and fast coders - maybe 5-10% of their time was consumed in planning meetings with the customer for the application (another state government agency).  When the application was finally finished and went to production it was blazing fast, easy to use (70 year old barely-tech-literate government employees were using it without issues).  

    They even added modules to the renewals website for the other application to now plugin to the new application so it can process self renewals for either.

     

    PS: each license in both applications has it's own fully developed set of business rules, and it's own discrete database behind it - each application then has 1 additional statebase for storing program-wide information like user accounts, etc

     

     [edit] that was 14 months of about 80% of their coding time, they did have a few other things to work on



  • @chebrock said:

    @tlowder said:

    Two large Configuration Management System Portals with completely different business logic and a Custom Content Management System for the Dept. of Ed's No Child Left Behind Act... My last company also did a custom sharepoint portal that took 4 developers over a year to complete as well...
     

     Sorry dude, its fail bigtime. Anybody taking a year to write a CMS is absolutely worthless. I've written tons of CMS's, the most recent with a flex frontend, of which i had to learn flex as I went along, and it took me about 2 months, all the while managing my department. I can't even begin to imagine what I could do in a year. Even six months is an epic amount of time.

     

    Tell google that.  Obviously they are stupid for taking so long to make a good search engine.



  • @vr602 said:

    My other point is that you have a bit of an us-and-them situation. Try to get some of "them" involved in the design or development of your applications, if you can face it.
     

     Just don't try that with any sales / marketing types. As a J2me developer I'm constantly finding out (always at the last minute of course) that our sales team has promised certain design changes (big and small) without bothering to ask us how long it will take or if it's even possible with the hardware (the fancy 3d carosel views of the iPhone has a lot to answer for). One of the classic quotes from one of them is "How hard can it be? It's only code!"



  • @Claxon said:

    @vr602 said:

    My other point is that you have a bit of an us-and-them situation. Try to get some of "them" involved in the design or development of your applications, if you can face it.
     

     Just don't try that with any sales / marketing types. As a J2me developer I'm constantly finding out (always at the last minute of course) that our sales team has promised certain design changes (big and small) without bothering to ask us how long it will take or if it's even possible with the hardware (the fancy 3d carosel views of the iPhone has a lot to answer for). One of the classic quotes from one of them is "How hard can it be? It's only code!"

     

    "Tell the customer they're not getting it after all. What? Well, how hard can it be? It's only sales!"

     


Log in to reply