Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
  • Post Reply Bookmark Topic Watch Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Paul Clapham
  • Jeanne Boyarsky
  • Knute Snortum
Sheriffs:
  • Liutauras Vilda
  • Tim Cooke
  • Junilu Lacar
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Joe Ess
  • salvin francis
  • fred rosenberger

needs help, but cannot understand enough to be helped.

 
Marshal
Posts: 24927
61
Eclipse IDE Firefox Browser MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
On the other hand...

Throughout my career I have often found I had to redo the work of substandard programmers. In one of my earlier jobs I was working with a local consultant who had a lot more experience than I did. (This would have been about 1978.) He told me I should use a particular non-standard coding technique because it was "more efficient". I wrote a small test program and found it didn't actually make any difference.

In another job (must have been in the early 80's) I had to rewrite a program which applied service charges and volume discounts to invoices. Admittedly this was a complex program, but it never worked 100% correctly. The language we were using had "indicators" which were essentially booleans numbered from 1 to 99. You could set those indicators and then use them singly or in combination to control whether a later statement would be executed or not. There was one line of code which was controlled by 9 of the indicators (with hard-to-understand and's, not's, and or's) followed immediately by another one controlled by 6 indicators. This was totally unmaintainable, and eventually the decision was made to toss it out and rewrite it.

So, back in the old days there were already programmers who weren't very good. But back then maybe it didn't matter so much?

It seems to me also that it was easier to do programming in the old days. It's not that hard to write code which goes through a file sequentially and summarizes it into a printed report, really. And there was a lot of that in the last century, people would have enormous piles of printouts all around their offices. But nowadays you have things like JEE and databases where you have to deal with concurrency and security, which you didn't have to when everything was in your computer room. And you can't just learn one language, you have to learn (say) Java plus HTML plus CSS plus Javascript plus one or more of several hundred different frameworks which pretend to tie things together and make things simpler for you. It's not really surprising that the majority of programmers can't deal with it adequately.
 
Marshal
Posts: 67337
256
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To get back to the original version of the subject:-
There are some people who seem not to be able to see what is really quite simple. I have known some people whom I have pushed over that boundary of incomprehension. It may be something simple, but when the scales fall from their eyes, they actually see. It may need somebody present a foot or two from you to achieve it. Example here where somebody cannot see it. If we can get somebody over that boundary of incomprehension, it is really goo, and I have seen it many times on this website.

But there are going to be some people where one fails however hard one tries
 
Bartender
Posts: 10777
71
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Paul Clapham wrote:It seems to me also that it was easier to do programming in the old days. It's not that hard to write code which goes through a file sequentially and summarizes it into a printed report, really.


Maybe not; but it's still quite an art to get it right first time; which was much more important (and more difficult) back when computer time was phenomenally expensive, and kilobytes were at a premium.

And TBH, I'm not entirely convinced that GUIs have necessarily changed things for the better. What they have done is make everything much more compilcated though (and therefore error-prone); but if I simply want to find out when the next train to Glasgow is and how much it costs - or indeed book a flight or buy something on Amazon - do I really need a graphical interface?

And are we any better off with "busy TV" that includes all sorts of crap that I have no interest in, but someone clearly feels I absolutely have to see scrolling in some remote part of the screen as a distraction?

Why do we feel that software is better because it can do 73 things at once rather than the ONE thing I want it for?

And this isn't just a software issue; it's a "generational" one. My brother and I rarely chat any more, unless we happen to be in the same room, because I refuse to be "attached" to a smartphone that allows anybody to contact me any time they like, and he refuses to use the phone for the one purpose it was designed - talking.

Winston
 
Ranch Hand
Posts: 385
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Paul Clapham wrote:
Throughout my career I have often found I had to redo the work of substandard programmers.



Did it annoy you? I don't mind helping someone out, or even having to redo something that someone has wrong, provided that person is genuinely trying their best. I do mind having to do this when that person lied about their skills to get the job.

In my last job we were so overworked that we finally managed to get Management to allocate some budget to hire a contractor to help out. The skills we were looking for someone who knew how to administer Oracle, Tuxedo, and our Billing System. The Project Manager hired someone who had no clue about Oracle, Tuxedo, and had worked as a Project Consultant using our Billing System but had no clue about it's administration. So I had to spend a good part of 3-4 months teaching this guy and correcting his mistakes, and it was a good 6 months before he actually started being of benefit to us instead of a hindrance.

The Project Manager should of course have not been interviewing this guy, because the Project Manager, like most Project Managers, was just a paper-pusher, but I guess when you push papers you have to try and make yourself look important and that's why he decided it should be him who interviewed this guy.
 
Paul Clapham
Marshal
Posts: 24927
61
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Ahmed Bin S wrote:

Paul Clapham wrote:
Throughout my career I have often found I had to redo the work of substandard programmers.



Did it annoy you?



Not really. It wasn't like I was wading through a post from the Daily WTF, there were just cases where people got overwhelmed by the task and things got out of control. Anyway I'm a maintenance programmer by nature so fixing things up was what I preferred to do.
 
Rancher
Posts: 833
20
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If I can interject my thoughts here: my first programming job out of college I hired in to do maintenance on a fairly large system that was developed in, of all things, Exel Macro Code. It was on an AS-400 and used a lot of SQL, tons of Excel macros, and many overlays done in Excel. I started doing maintenance on the project about the end of the first week, and after about 4 months of intensive rooting around in the code, everything just, as they say, leveled off and flew true. The problem? I literally replaced every line of code from one of the developers that created the project, there were minor fixes from the other 2 developers' code, but the one had nothing left in the project except his name. I petitioned to have his name removed from the project, but alas, they didn't because he was one of the original creators. I didn't want my name on the project, but I thought it only fair, that since he didn't have any code left in the project, that he should have his name removed. He didn't even have any screens, those were done by one of the other developers.

I have seen some huge errors in my times, and I have made a few myself, but the thing that always gets me is: cover it up, don't admit it ever happened, and don't let it out of the local compartmentalized group that knows about it. All I ever expect is that the problem get fixed as quickly and efficiently as possible. Some of the cover ups that I have seen, not that I have taken part in, have cost millions--the one I mentioned earlier took 7 million dollars that I could recognize and track from the budgets I had access to see.

Ahmed Bin S wrote:

Paul Clapham wrote:
Throughout my career I have often found I had to redo the work of substandard programmers.



Did it annoy you?...

 
Bartender
Posts: 322
24
Eclipse IDE Firefox Browser
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm the odd duck among you geniuses. And since I'm still actively in school (and at 42, usually about the same age as many of my instructors), maybe I can give you a bit of a different perspective. I've been fortunate that I had many of you to help me along the way, and just as fortunate my city has a great technical school with courses taught by part-time instructors/full-time engineers.

Les Morgan wrote:Then there is the guy that comes in and is not a professional, not a student and doesn't want to be, but decides that he wants to make something cool for his friends to see.

That was me a few years ago. My wife needed a website for her business, a friend showed me WordPress, and I started playing. I stumbled into a HTML/CSS/PHP forum, met a fantastic developer who really mentored me. Eventually, I decided to go back to school to learn PHP. Through a twist of fate, the technical school required me to learn OOP Design (using Java) before they would let me take PHP. Two courses of Java later, I knew I had found something I'd been missing for a long, long time - passion. So, don't assume they don't want to be a student - they just may not know it yet. You have no idea where your mentoring will lead.

Les Morgan wrote:I see we have many students come in here, and I am of a mind to help them, but not give them a coded answer--no matter the dire outcome they face. They may get some example code to help them on their way, but I really believe that if they do not have the wherewithal to complete the assignment from their own genius, after seeing how to do it, then they need to drop out and find something else to do.

In many of my entry-level courses, there was a group of students who were there because their parents made them. Or, they thought their thumb dexterity from the PS4 would translate to programming. There was also a group of recent CompSci university graduates who couldn't land a job without real world-like language experience - those were my favorite to hang out.
Towards the middle-tier courses, there was a group that was really good at cutting & pasting from SO. Assignments/Labs always worked, but they were crushed on exams. Now, as I wrap up the second to last course in Java, I'm still seeing people try to fake it. Nothing worse than during the class code review session to have the instructor say, "But, why does it work?" and the student who just "wrote" the code stares blankly...

Paul Clapham wrote:It seems to me also that it was easier to do programming in the old days.

Like I said, I went back to school to learn a bit of PHP and ended up falling in love with Java. Of course, that also meant learning SQL, XML, JS, REST, SOAP and all the sub-parts/facets of Java (JPQL, JPA w/ Hibernate, Spring MVC). Does the feeling you don't know enough ever go away?
 
Les Morgan
Rancher
Posts: 833
20
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't know, I will clue you in if I ever do. I have been programming now for about 30 years, over 25 after college and I have not ever come to the point where I have felt I know enough. I have become comfortable in what I know, and I know I am going to be able to create what ever it is that my clients want, but there is always that extra little bit to learn to do a new job. That will always be the case, and I have always known that. Programming is something you do as you move through technology, and as such, you are always learning the environment in an ever changing reality. That is probably what I like the most about programming--you are never done learning.

I have programmed from Machine Code--yes, actually fed hex code into memory addresses and set the entry point for the routines manually--to many 4 GL's and ETL development tools and many thins in between those and I just keep moving through the ever changing environment. My boss gave me an award at work for knowing, being familiar with, every language used in our enterprise and being able to work on any of the projects with any of the tools used. It was an interesting award and comment, but I like learning new things, and a computer language to me is nothing more than a hammer is to a carpenter--just another tool to be used when appropriate.

Chris Barrett wrote:
Does the feeling you don't know enough ever go away?

 
Marshal
Posts: 67339
173
Mac Mac OS X IntelliJ IDE jQuery Java
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Chris Barrett wrote:Does the feeling you don't know enough ever go away?


No. Never.
 
Les Morgan
Rancher
Posts: 833
20
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was thinking about this today, and the words of Miyagi came to my mind from "Karate Kid". Here it is appropriate for the discussion: "Learn yes, OK. Learn no, OK. Learn sometimes, squash like grape!"

Chris Barrett wrote:
Does the feeling you don't know enough ever go away?

 
Proudly marching to the beat of a different kettle of fish... while reading this tiny ad
Java file APIs (DOC, XLS, PDF, and many more)
https://products.aspose.com/total/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!