Learn to Code

  • Comments posted to this topic are about the item Learn to Code

  • It has been a while since I did any programming, but I was reasonably good at it.

    Certainly if I asked an AI to generate some code for me to do a particular task, then I would expect to receive code as an answer. It would be the same as asking a trainee programmer to develop some code to do the task. I would not expect the trainee to say sorry, you need to do that yourself.

    I would also expect the trainee to examine the possible class structure of the task and develop that, as well as identifying subroutines and delivering those. As a senior, I would check the work. If it met the target spec I would accept it, even if it looked a bit different to my own approach. I would hope I could treat the results from AI in the same way.

    Where the fun starts is in the V2 of the work. I could give a trainee a task saying given this code base, change the functionality of X to additionally do Y. A warm bodied trainee could do this, but I wonder how well an AI would do.

    Original author: https://github.com/SQL-FineBuild/Common/wiki/ 1-click install and best practice configuration of SQL Server 2019, 2017 2016, 2014, 2012, 2008 R2, 2008 and 2005.

    When I give food to the poor they call me a saint. When I ask why they are poor they call me a communist - Archbishop Hélder Câmara

  • Throughout my career I have had a love/hate relationship with Shadow IT.  I've observed that what people actually want IT to address are small frictions and relatively minor tasks which are trivial for a competent IT person but beyond what a non-IT person could (or should) do.

    Formal IT is assigned big strategic stuff and does not have budget/capacity for removing small frictions in other systems.  As people need to do their jobs and managers have their objectives (and often bonuses to go with those objectives) the pressure to "find a way" is immense.  Someone with a bit of programming knowledge will be welcomed with open arms.  What they produce will satisfy the business need and encapsulate a lot of business domain specific knowledge.  It has been written by the people for the people.

    What is produced becomes deemed "business critical".  At some point the monster escapes its master and suddenly formal IT finds itself holding a large and ugly baby.  It may or may not have known that baby existed.

    I've loved these systems because they are an expression of true need from the bottom up rather than something from the ivory tower.

    I've hated them because getting them into a reliable and maintainable state without breaking them is extremely difficult.  It's a tower of Babel with major foundation stones missing.

    Enter GenAI.  My fear is that GenAI will allow people engaged with ShadowIT to build bigger, uglier monsters.   Those monsters will be every bit as business critical but a damn site less understood and understandable.

    Again, my experience with Shadow IT (and some consultancies) is that management see something that is produced at speed and delivers business value.  The originators are the golden ones.  The system gets handed over when it becomes a problem and all management see is IT failure to be able to provide the same level of support or to adapt it as quickly (or at all) as its originators did.

     

     

  • Ah yes, Shadow IT. I've had several cases where a solution has been built in a combination of Access, Excel and Word. It works fine until the data volume reaches a critical mass and then it doesn't. Then it's up to formal IT to rewrite it in SQL Server and C#. We beaver away for weeks reverse-engineering it and building the replacement, struggle to get time from the users to test it and the new application finally goes live. Do they tell us what an amazing job we did? No, they tell us that Gary did it in his spare time so why did it take us so long?

  • The one that sticks in my mind was a Finance system that was creaking under the strain.

    They took a report extract from some form of reporting tool and put it into a starting Excel workbook.  Various incredibly complex transformations took place over various workbooks to enable them to join to another report extract to gain one particular column from a table in SQL Server.

    I read through reams of VBA code and Excel formulae to find out that the 1st extract got it's figures from one particular SQL server table.

    The report extract they eventually joined to in order to get that one particular column got that column from the exact same table.  I checked to make sure that nothing would break, then gave them a view which negated the need for the whole chain of spreadsheets apart from the one that held the end result they wanted. A process went from 3 people working over a weekend at the end of every month down to a few seconds.

    Absolute radio silence, so I checked to see how they were getting on.  They'd deprecated that report and instigated another chain of Excel madness.  I offered to see if I could help with that and got a frosty "No thank-you".

    The only person finance hates worse than those who try and reduce their Excel usage is the person with the ID ten T award for doing so.

  • Thanks for sharing David, your stories are interesting an often give me a chuckle

  • It seems main goal of current new technologies is to convince people who do not know something that they are experts in that very field. Of course, they have to use the newest tool or toy. I have seen too many people believing they are programmers by using various wrong templates and wizards. People who barely know Excel are now writing SQL statements based on AI responses. Management like it, no need for knowledgeable people any more. They would even put together teams made of AI reliant people. When things do not work as expected, they should ask themselves how many ignoramuses it takes to replace (do the work) of one knowledgeable person.

    As for AI, you have your own intelligence (smart, clever), no need for artificial one. To refresh memory about some obscure command in favorite tool we use, simple internet search provides better results than AI which anyways send you back to - internet. At my age, 65+, I am perfect candidate for remembering things not so long forgotten. 40+ years in the field taught me better than to rely on AI.

    Zidar's Theorem: The best code is no code at all...

  • This is a really interesting and thought-provoking post! I agree with you that the response from the AI is humorous, especially when it essentially says, "figure it out yourself." It's a bit like a "tough love" moment in programming where you're forced to learn the fundamentals to truly grasp how the system works. However, I also understand the frustration that might arise when you're looking for a more straightforward solution, especially for something complex or unfamiliar.

    I think you're right about the balance between using GenAI as a tool and the necessity of actually understanding the code. It's great that the AI can assist and save time, but as you mentioned, we still need to be able to review and troubleshoot our work. The fear is that some may rely too heavily on AI-generated solutions without really knowing how they function, which could cause issues when debugging or maintaining the code.

    The fear is that some may rely too heavily on AI-generated solutions without really knowing how they function, which could cause issues when debugging or maintaining the code. This is particularly important in fields like DFIR, where understanding the logic behind the system can make or break an investigation.

    Your point about how managers might want to use GenAI to assess their team's skills is really intriguing, too. It raises questions about how we can use AI not just for assistance but also for evaluating skill sets in a more meaningful way.

    All in all, I think this post highlights an important aspect of using GenAI in programming: it’s a tool, not a crutch, and it’s crucial to keep our programming skills sharp while leveraging these technologies. Thanks for sharing this insight!

  • Almost every company I've ever worked for had a policy that the central MIS/IT organization only handled issues that involved more than one department - an "enterprise" issue, not a need for a single department. Those folks were left to create their own solutions.

    As David said, the central group often ends up taking on the resulting horror at some point.

    I have always advocated for the central group providing architectural and development guidelines and requiring that any solutions implemented outside that group conform just as those produced within the group. Basically, advise and consent. It does require resources from the central group, but not nearly as much as doing the requirements gathering, development, testing, deployments and support. Let the departments hire contractors to do all that out of their budgets, but the results would be less of a nightmare to take over when it gets swallowed up into an enterprise project.

    Have I ever been successful at convincing anyone to do that? No. There has never been anyone able to get the budget to do it. So, it remains true that there is never time (or money) to do it right, only to do it over.

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply