Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Do you code?
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Do you code?

emghemgh Member
edited October 2022 in General

Just my personal experiences with code, scroll down to the actual question:

I have always wanted to code, but I’ve got ADHD and starting out, you don’t know jack shit.

That made it extremely hard for me. I tried again, and again, and again, but ran into a small error and just didn’t even try to solve it.

Got my diagnosis a few months ago, and for the first time since, about a week ago, I tried again & got instantly hooked.

I still know a tiny tiny amount, the absolute basics of Python. Trying to build a rank tracker (yeah yeah SEO bad hurp durp), mainly for where I work at (it seemed like a fun project & we pay a huge amount for rank tracking).

I’m really learning while coding, no courses, just constantly tabbing between StackOverflow & PyCharm.

Currently I’m building the whole thing mainly with Python, Selenium, Undetected Chromebrowser, Glide (for ”database”) & a whole lot of dependencies.

I write shit code, of course, but it’s a whole lot less shit than just a few days ago.

I love the creative part of it, that can be taken advantage of even as a noob. For example, a website I was scraping detected my proxy usage, a friend way more knowledable than me said something tls fingerprinting something.

I noticed the website worked fine when proxying through an addon, but not with Chrome options, so I set up the addon as needed, extracted the extension itself from CRX, imported to the ChromeDriver at launch and made a simple selenium startup that simply goes to the plugin page, imports my settings through a settings file with direct URL, and voila - everything worked.

Tl;dr: Do you code? If so, what do you code? Do you have any tips for beginners like me?

Thanked by 1farsighter

Comments

  • emghemgh Member
    edited October 2022

    Also: I found a small repo on GitHub that I’m going to try to understand the basics of. Might not be that interrsting to all of you but I though it seemed very much so.

    It’s a project that combines reinforcement learning with Selenium, so that (simplified) instead of defining ways to accomplish the goal, you instead just specify the end goal and let the machine figure it out.

    Link: https://github.com/phaetto/selenium-reinforcement-learning

  • risharderisharde Patron Provider, Veteran

    I've been coding for years but for years I have not fought off being impatient to see results. Years of coding does not mean skilled coding - it's entirely up to how patient you are / how willing you are to write good code (meaning efficient / effective coding). If you want to get into efficient coding, an easy force to do that is getting an underwhelming machine which forces you to think about solving things efficiently. If you just want to get stuff done, you can definitely get away with using the amazing advancement in technology now in the form of basic commodity hardware that is super powerful - and less efficient code - the hardware is usually very forgiving now for that. If I were to give you any advice, I'd say be careful with just following the crowd and stop listening to random people who have nothing good to tell you about your code. Instead focus on using the right languages for the task at hand - to do that will take some time to discover what works best for what situation (and by best I am referring to spending days to code something instead of months to reinvent the wheel). If you're into python, that seems to be the craze especially in the scientific community and whether it was luck for you, I think you're on good track there - even for AI from what I've heard my peers say. I don't like python at the moment but it has nothing to do with it not being a good language, it's just not something that seemed popular in the niche of web hosting etc... better to start with a good language like python than for example in my case which was visual basic. Reason being, you tend to generally keep a liking for your first language (not always but often noticed). If you're old and need to earn money, focus less on learning everything and instead focus on learning how to solve specific problems that people need solutions for - reason being, you probably want to output something people can pay you for because time spent on programming can always waste your life if you're not careful. I bid you good luck in your projects!

    Thanked by 1emgh
  • @risharde said:
    I've been coding for years but for years I have not fought off being impatient to see results. Years of coding does not mean skilled coding - it's entirely up to how patient you are / how willing you are to write good code (meaning efficient / effective coding). If you want to get into efficient coding, an easy force to do that is getting an underwhelming machine which forces you to think about solving things efficiently. If you just want to get stuff done, you can definitely get away with using the amazing advancement in technology now in the form of basic commodity hardware that is super powerful - and less efficient code - the hardware is usually very forgiving now for that. If I were to give you any advice, I'd say be careful with just following the crowd and stop listening to random people who have nothing good to tell you about your code. Instead focus on using the right languages for the task at hand - to do that will take some time to discover what works best for what situation (and by best I am referring to spending days to code something instead of months to reinvent the wheel). If you're into python, that seems to be the craze especially in the scientific community and whether it was luck for you, I think you're on good track there - even for AI from what I've heard my peers say. I don't like python at the moment but it has nothing to do with it not being a good language, it's just not something that seemed popular in the niche of web hosting etc... better to start with a good language like python than for example in my case which was visual basic. Reason being, you tend to generally keep a liking for your first language (not always but often noticed). If you're old and need to earn money, focus less on learning everything and instead focus on learning how to solve specific problems that people need solutions for - reason being, you probably want to output something people can pay you for because time spent on programming can always waste your life if you're not careful. I bid you good luck in your projects!

    That's helpful! Yeah, I can see that being the case, that you sub-consciously will have a preference for the "first language".

    A friend of mine started with Python, moved to JavaScript and now mostly C#, he was the one saying I should start off with Python, it's his favorite language, probably because it was the first.

    Thanked by 1risharde
  • risharderisharde Patron Provider, Veteran

    A friend of mine started with Python, moved to JavaScript and now mostly C#, he was the one saying I should start off with Python, it's his favorite language, probably because it was the first.

    Agreed, I also know a colleague who started with C and likes Python - I think he mentioned it having similar design concepts but don't burn me at the stake, just relaying what he said.

    I do use Javascript and a lot lately since you can use JS for backend code via NodeJS. People hate JS. I like it somewhat now except callbacks in nodejs takes some getting used to. Still Python I would say should be more marketable, I hardly see jobs for nodejs work unless you also have front-end skills.

    P.S wish I had the time to learn c++ and C#, they are also in demand.

    Thanked by 1emgh
  • desperanddesperand Member
    edited October 2022

    @emgh said: Tl;dr: Do you code? If so, what do you code? Do you have any tips for beginners like me?

    the biggest pitfall is always to find good source for learning something.
    This source must cover instruments at first, and only then the thing that you learn.
    Instruments should give you ability like with video player to stop, return back, move forward on any step where you're at the moment. Some kind of debugger, profiler, etc.
    Such things boost dramatically learning curve. No other way around.

    I will write my own opinion, maybe someone think other way around.
    But ~95% of books that i've read from "respectable authors" = garbage by loosers.
    For writting some book, or article about something - there must be a talent.
    Without talent 95% of authors just re-write each other, and reference.

    Most of them focused on industry of releasing and selling books, instead of teaching someone something. 99% of authors follow next principle: from simple to hard. Sometimes just 1 page article can give more knowledge than few books. Because of author talent and discussion about real problem, instead of "something imagine first and lets imagine how we will code with my own author solution for the problem"

    While I think - a reader must be dive into real working interesting for reader code. Fully functional, and than by small customization and examples to do there. Line by line, basic programming topic by topic. With practice.

    So where to start?
    Pick what do you want? Websites? If yes - setup any wordpress/joomla/drupal like and start to play and customize. Train yourself by practice. Instead of: "lets read whole docs about topic X", start to think about problems. "I have website X, i want to have Y, how can I do that? Let me do it my own way."

    Plus for sure instruments extremely important: good editor, good debuger, for tracing problems, bugs, errors, what what is going on. This is must have.

    Thanked by 1emgh
  • jackbjackb Member, Host Rep
    edited October 2022

    @desperand said:
    So where to start?
    Pick what do you want? Websites? If yes - setup any wordpress/joomla/drupal like and start to play and customize. Train yourself by practice. Instead of: "lets read whole docs about topic X", start to think about problems. "I have website X, i want to have Y, how can I do that? Let me do it my own way."

    I agree with this to a point. Learning by solving something you want to is a great approach. However, the core thing to try to understand early on is how the language you're working with works. How what you write gets executed and what the syntax means. Do it your own way - perhaps not.

    If you can understand how a programming language works, understanding design patterns within it will fall into place. That'll help you understand frameworks with it, if needed - or help you create something that works well without a framework.

    Thanked by 1emgh
  • I am a full stack senior web developer (24 years of experience) focussed on backend only for the past two years. I do regular coding, devops (Kubernetes etc) and at the moment I am writing and running load tests to see how many attendees we can handle if we scale (we are an event management platform). I also have bipolar disorder (since you mentioned adhd) and have had the shittiest 5 years of my life between 2015 and 2020 until a new medication literally brought me back to normal. I was in a so bad condition that I was given a pension because it looked I would never be able to go back to work.

    Instead I am here now after 1.5 years back to a senior position and doing a lot of cool stuff and I got my life back. So don't worry too much about your diagnosis. ADHD can be hard but trust me, Bipolar can be real shit if not treated.

    Have fun coding!

  • emgemg Veteran
    edited October 2022

    As someone who has written one or two lines of code and maybe done a little interviewing and hiring of people who have done the same, I will try to contribute and help.

    The best coders I have known are organized and disciplined. That is their secret. The worst coders I have known were sloppy and undisciplined.

    Many aspiring coders learn poor practices and sloppy habits and can never get past them. They can write small programs that work, but are limited by what they can do. This is where your path can lead you, but it does not have to go that way. Many skilled software engineers got their start the same way as you, but they also learned other generalized aspects of programming and software engineering along the way. They know how to write tight, self-documenting, well-structured code, but that is a small part of what the professionals do.

    Learning a programming language is the easy part. Learning the foundational skills that lead to long term success is much broader. Here are a few hints from the top of my head:

    • When you look at example code, do not focus solely on the lines of source code. Be sure you understand the design and how the code is structured.
    • Do not write or paste any line of code into your own program unless you fully understand what it does. That goes double for any copy-'n'-paste code you borrow from examples.
    • If a program file would take pages to print, then reexamine your design and how your code is organized. If a function is long and complex, could it be designed or written better? Could you divide your code into separate files organized around a better design?
    • Start and maintain (and upgrade) a personal collection or library of source code that you like. Yes, start now. You will organize and reuse this code all the time. It will make your coding much more efficient.
    • Keep an engineering notebook. Keep notes as you learn. Review them. Keep reviewing them.

    Others here can suggest good online resources, I assume. My experience is older. If you are looking for a great book focused on good coding practices, go to the library and check out "Code Complete, 2nd Edition" by Steve McConnell. (My concern is that it may be too advanced for you.) I hope this helps.

    Thanked by 2neverain emgh
  • jarjar Patron Provider, Top Host, Veteran
    edited October 2022

    There were two coding jobs that I found myself most proud of:

    1. A system that gives me prompts to answer a few questions about a compromised email address. It then goes hunting through the fleet to find the address, prompting me if it happens to exist on more than one server (been known to happen, users with more than one service), suspends the email account (manual process because there is no API for it), searches the hostbill database to find the user (had to build a custom connector, the API was insufficient for linking DA username to billing account with desirable overhead), and then opens a ticket with the user about it. Should be simple on the surface but it's hugely complex and it instantly cut my daily workload by a lot.

    2. A system that detected spammers on an ocean of the digital kind by searching the customer database for key patterns that I was able to isolate without false positives, then spits out the users into a slack channel so the abuse team could review and then terminate the accounts. For a few weeks DO spammers received a swift kick in the nuts and the volume dramatically fell.

    Now I'm working on a frontend for DirectAdmin that uses a mix of API and hand crafted functions to provide users with a fully featured email control panel without having to work from scratch (can expand it to that later), and without having to expose users to DirectAdmin with what can be considered a fair amount of oddities when used for only this purpose.

    The key is that each time I knew exactly what I wanted to do. I knew the logic I wanted to code, I knew it had to be an extension of how I would operate and the logical flow I would follow. If you can make it into a flowchart you can code, because then it's just "Okay I'm on this part. I need my code to do this one thing." Anyone can do that if they really want to.

    Optimizing it and securing it are vitally important, sure, but you have to be able to build something before you need to optimize and secure it. Even if version 1 is a completely private, insecure, unoptimized piece of trash you should make it. Then you start thinking about attack vectors and even if you throw out the whole code base to start from that mindset, your ability to do that has increased because you weren't afraid to make the shitty proof of concept first. Too many people put up their own roadblocks by expecting perfection and while perfection is obviously the goal, you can't start at the goal.

    Thanked by 2ariq01 emgh
  • ralfralf Member
    edited October 2022

    Some good comments here so far.

    Firstly, I'd say don't worry about your choice of language. In actual fact, python is "pretty good" for many tasks, but one of its strengths is accessibility to people who are new to programming. But, it's actually good enough that you can continue to use it for a lot of tasks for some time to come.

    But, the actual language you use isn't really that important. What's important is learning how to solve a problem, starting to appreciate how to design an algorithm and learning to understand what the computer is actually doing.

    Many of these concepts are fairly language-neutral, although you will find yourself exposed to different things in different languages. If you try C and C++, you might find the ideas around pointers very hard to get your head around, but if you put in that effort it'll make a huge difference to your understanding in many languages, even those that try to hide pointers from you. Also, eventually try to understand the alternative to pointers, such as garbage collection or reference counting. Your language of choice will be doing one of these if it doesn't use pointers, so try to understand why they made that choice. Many languages will favour objects as first class objects, many languages will prefer dictionaries / hash maps and arrays of things, many support both. Some languages, especially recent Javascript, really favour closures and reactive programming, in other languages it's very hard to use this style of programming without lots of boilerplate code (a fancy term for lots of code that's largely cut-and-paste, often to try to add support for a style of programming that the language isn't really intended for).

    The key thing, is just to keep trying out ideas and keep improving your exposure to different techniques. If you find that something you want to do is causing you to write a lot of code that isn't directly related to the problem you're trying to solve, then it's time to start googling and see if there's a better tool for what you're trying to achieve, but actually Python is usually good in this regard and will probably serve you well for some time to come.

    When you have some spare time, maybe in a year or so after you have more experience in your first language, have a look into some other completely different things. LISP, OCaml, BASIC, maybe even dig out an 8-bit emulator with an assembler and have a go at understanding it. Read up on some theory, like Turing machines, boolean logic, why you might want to use queues, semaphores and atomics, etc. There's so much to explore, find something that interests you and go for it!

    But I'd advise a bit of caution about using it too much for work. There are two main reasons for this. The first is that making it your job can easily kill the enthusiasm you have, if you have to add features you don't want or are hard to do, you might end up hating your project instead of loving it. Also remember that your code at first will probably be quite crap, and any defects could cause data loss or impact the business in even worse ways. While it's great to get recognition from your peers when you make their life easier, if your bug causes them to lose a day or a week's work, you're suddenly going to have a harder time of it. Don't get me wrong, it's fine for software to fail - it's an essential part of the learning process, because over time those failures will lead you to be able to analyse issues in an approach well before you write the code, but it's always best if the only person that suffers from the software failing is you. Especially when it happens to you, it'll make the learning that much more grounded.

    Anyway, good job and enjoy your new hobby! Always stay curious and with a thirst to learn!

    Thanked by 3Arkas emg emgh
  • @ralf said: Many of these concepts are fairly language-neutral, although you will find yourself exposed to different things in different languages. If you try C and C++, you might find the ideas around pointers very hard to get your head around, but if you put in that effort it'll make a huge difference to your understanding in many languages, even those that try to hide pointers from you. Also, eventually try to understand the alternative to pointers, such as garbage collection or reference counting. Your language of choice will be doing one of these if it doesn't use pointers, so try to understand why they made that choice. Many languages will favour objects as first class objects, many languages will prefer dictionaries / hash maps and arrays of things, many support both. Some languages, especially recent Javascript, really favour closures and reactive programming, in other languages it's very hard to use this style of programming without lots of boilerplate code (a fancy term for lots of code that's largely cut-and-paste, often to try to add support for a style of programming that the language isn't really intended for).

    this stuff more about algorithms.
    For doing algorithms - need to be familiar with syntax first.
    And yes, whole programming - it's about picking right algorithm.
    Example: https://cp-algorithms.com/

    Thanked by 1emgh
  • Html programming language ftw!

    Thanked by 1emgh
  • ArkasArkas Moderator

    Pascal, 6502 Assembly, Python, just to name a few. I know many, but am a master in none.

    Thanked by 1emgh
  • I learned Python in early 2000s with some others in an IRC channel, and I have never used anything else professionally (other than bash)

    @emgh said:
    I have always wanted to code, but I’ve got ADHD and starting out, you don’t know jack shit.

    That made it extremely hard for me. I tried again, and again, and again, but ran into a small error and just didn’t even try to solve it.

    Got my diagnosis a few months ago, and for the first time since, about a week ago, I tried again & got instantly hooked.

    Just curious, were you prescribed medication? Does it really help you sit and focus?

    Thanked by 1emgh
  • Enjoyed reading every single comment, all were super helpfull.

    I enjoyed reading the two perspectives of what makes someone a good coder, some asked mostly about just doing & learning, some pointed out the importance of structuring, understanding and not just ”doing code”.

    I think the difference between these two mindsets works in different places.

    You can’t do shit code that while works is uneffective and hard to grasp because it could be considered a mess while working for Google, you’d have a hard time building something big in a team with a huge number of devs of different kinds.

    However, you could still build awesome things solo or with just a few friends thinking alike.

    I guess it’s about the kind of stuff you wanna do.

    It’s for sure easy to get lazy learning code alone though, falling into quick solutions, etc.

    I noticed this myself, while going through my Python rank checker I noticed for a few seconds my head was like ”wtf does this do” - that’s a big difference between those two kinds.

    Thank you to every one commenting! Even if I don’t quote anyone it goes to each and every one commenting, very greatful for the good luck wishing as well. Read it all.

    @jiggawattz said:
    I learned Python in early 2000s with some others in an IRC channel, and I have never used anything else professionally (other than bash)

    @emgh said:
    I have always wanted to code, but I’ve got ADHD and starting out, you don’t know jack shit.

    That made it extremely hard for me. I tried again, and again, and again, but ran into a small error and just didn’t even try to solve it.

    Got my diagnosis a few months ago, and for the first time since, about a week ago, I tried again & got instantly hooked.

    Just curious, were you prescribed medication? Does it really help you sit and focus?

    Yeah for sure, got it perscribed after quite a few talks with a psychologist, they basically try to exclude other reasons for the symtoms (after determaining them), such as depression or a big change in your life revently, and if there’s enough evidence to conclude that the symtoms fit and that they can only be explained with ADHD, and not depression or trauma or anything else - you get a diagnosis.

    Then, you talk to a doctor about the medication.

    I got Elvanse, or Vyvanse in the US, it helped me greatly. I can focus greatly.

    However, I’m still very much more motivated about my own projects than I’m focused at work, I started to notice it’s probably not about medicine or the lack of that but more about my ADHD in combination with having really easy to learn about things I’m interested about.

    During my ADHD diagnosis I had a ”begåvningstest”, basically a ”talent test”. It’s basically an IQ test but they don’t want to make you nervous. It’s used to see if it’s likely that you have ADHD yet haven’t failed in studies/school/work (if you’re smart enough, you might have gotten away that is).

    I got an IQ of 140, my dad also got an ADHD diagnosis and a similar IQ, and he’s the same. So I really don’t like working as I am right now, it was fun for the first 1-3 weeks before I understood it, now it’s not.

    @vitobotta said:
    I am a full stack senior web developer (24 years of experience) focussed on backend only for the past two years. I do regular coding, devops (Kubernetes etc) and at the moment I am writing and running load tests to see how many attendees we can handle if we scale (we are an event management platform). I also have bipolar disorder (since you mentioned adhd) and have had the shittiest 5 years of my life between 2015 and 2020 until a new medication literally brought me back to normal. I was in a so bad condition that I was given a pension because it looked I would never be able to go back to work.

    Instead I am here now after 1.5 years back to a senior position and doing a lot of cool stuff and I got my life back. So don't worry too much about your diagnosis. ADHD can be hard but trust me, Bipolar can be real shit if not treated.

    Have fun coding!

    I’m glad for you, my dad got a bipolar diagnosis as well, not sure I agree with it but I can see the symtoms in him, so I understand it’s not easy.

  • The only programming tip I can give that hasn't been covered already is that people new to coding should work in a language that has an environment in which you can test and see very quickly and isn't a nightmare to debug. (I'm looking at you, JavaScript lol)

    Python is good. You can run it without pushing a build, and you can output to the console. In VSCode, you can do it all inside the IDE. I recommend VSCode for just about anything unless you're building Windows applications, which would be better in Visual Studio a lot of the time. But Visual Studio is a complex tool, and I wouldn't start there if you've never used it because learning how to use the tool would take a lot of time away from learning how to write code.

    Compiled languages, like many used in Visual Studio, Java (Eclipse IDE as an example), and others tend to do better working in their specific IDEs because of how the language is handled and how builds are produced, but VSCode can handle all of your web technologies and leads to faster iteration, plus the immense number of plugins and extensions.

  • Nah, I hate coding. Boring af and laborious.

  • @0xbkt said:
    Nah, I hate coding. Boring af and laborious.

    Yeah but what long-term rewarding work isn’t laborious?

    Thanked by 1Lee
  • emghemgh Member
    edited October 2022

    By the way, speaking of code, anybody has any ”favorites” in monitoring Python code?

    I’d like to see how long time different tasks have taken during the recent day, week, month, etc.

    Preferably send the data to an actual app, that’d be super nice.

    But I guess anything web based is fine too.

    Maybe just send the data to a normal database and then just finding something to visualize the db?

  • This is a great resource, thanks for sharing!

  • SteveMCSteveMC Member
    edited October 2022

    Do you code?

    Yes, absolutely yes. Basic, Turbo Pascal, C, C++, ASM, Java, Javascript, PHP, Python, Perl, even ADA and COBOL... honestly, I remember barely nothing about these two last :blush:

    Thanked by 2emgh Arkas
  • @SteveMC said:

    Do you code?

    Yes, absolutely yes. Basic, Turbo Pascal, C, C++, ASM, Java, Javascript, PHP, Python, Perl, even ADA and COBOL... honestly, I remember barely nothing about these two last :blush:

    Every bank in Sweden is looking for COBOL coders and they basically pay exactly what you're asking for, no question about it.

    No body knows it anymore but their back-end are built on it :D

    Thanked by 2SteveMC Pwner
  • @emgh said:
    Every bank in Sweden is looking for COBOL coders and they basically pay exactly what you're asking for, no question about it.

    No body knows it anymore but their back-end are built on it :D

    Honestly that's anywhere in the world right now. I remember while I was in college and another friend of mine who was studying Computer Science mentioned that he was going to go learn COBOL because the syntax is simple and so few people know the language (while banks and other bureaucratic businesses still relied on it), that he could demand any price and they would pay for it since there's nobody left to support the systems.

    Thanked by 1emgh
  • yes i code. not stick to specific platform . i code on multi planforms whenever there is work there personal or job requirement and it mainly include web [ vanilla JS , html css php ] for mobile apps had used java react native, and some time vision small projects which i prototype in python c++. and also program microcontrollers like arduino esp etc. and beside this also do server management and deployment via proxmox linux debian and windows server.
    so in short words do not be afraid of coding. code according to needs.

  • @emgh said:

    @SteveMC said:

    Do you code?

    Yes, absolutely yes. Basic, Turbo Pascal, C, C++, ASM, Java, Javascript, PHP, Python, Perl, even ADA and COBOL... honestly, I remember barely nothing about these two last :blush:

    Every bank in Sweden is looking for COBOL coders and they basically pay exactly what you're asking for, no question about it.

    No body knows it anymore but their back-end are built on it :D

    COBOL was a big concern when the Year 2000 approached.

    Some studies attribute as much as "24% of Y2K software repair costs to Cobol

    :wink:

    Thanked by 1emgh
  • emgemg Veteran

    Common sense:
    If COBOL is so simple and easy to learn, why aren't there more software engineers learning it, considering that @emgh said:

    "Every bank in Sweden is looking for COBOL coders and they basically pay exactly what you're asking for, no question about it."

    Those disappearing/retiring COBOL developers must know and add something more from their experience that may be difficult to train and replicate. Think about tools, methods, debugging techniques, configuration management, testing, and deployment, etc. ... all on large, fragile, brittle, poorly supported systems.

    I agree that acquiring COBOL expertise may not be a great long term investment in software engineering skills for a young developer. Furthermore, maintaining old, poorly designed, poorly documented code, written by unavailable or dead programmers, is rarely fun for anyone.

    Nonetheless, it is reasonable to think that if big money is there and it is so easy to pick off that tree, then more people would have gone after it.

  • raindog308raindog308 Administrator, Veteran

    @serv_ee said: Html programming language ftw!

    Once interviewed someone who said "I've been programming HTML for five years". Interview did not last long.

    Thanked by 2SteveMC yoursunny
  • raindog308raindog308 Administrator, Veteran

    @Pwner said: Honestly that's anywhere in the world right now. I remember while I was in college and another friend of mine who was studying Computer Science mentioned that he was going to go learn COBOL because the syntax is simple and so few people know the language (while banks and other bureaucratic businesses still relied on it), that he could demand any price and they would pay for it since there's nobody left to support the systems.

    It's not the language, it's everything around it.

    If you know other major languages, you could learn COBOL in an afternoon...well, maybe two afternoons because the language is so damn wordy.

    However, you also need to learn

    • the mainframe OS, which is unlike anything else (even all the terminology is different)
    • the mainframe user toolset (RPF or similar text editor/text IDE/compiler/etc.)
    • all the mainframe utilities
    • REXX or something similar (a scripting language)
    • Maybe DB/2, which is a SQL database with its own quirks. It approaches Oracle in complexity.
    • possibly other mammoth systems like CICS which is a widely used app platform
    • and quite possibly assembler. Mainframe Assembly is very mainstream (and yes, it's assembly language, with a massive macro facility) and depending on the site, it might be intermixed with your COBOL.

    Companies don't want someone who went to a COBOL bootcamp or even has some COBOL certification. They want someone who's been working on mainframe COBOL and that is a lot harder to find.

    Thanked by 2Pwner emg
  • Makes sense.

  • Yes, I code and I had ADHD either. The most recommended is get a degree. If you cannot, I will suggest you read books. Core Java vol 1 is a good start point for Java coder. I don't know much about Python through.

    Thanked by 1emgh
Sign In or Register to comment.