3 ms·
My understanding of is that the problem isn't "learning COBOL" it's learning all of the environment that surrounds COBOL, the IBM Z Mainframes, learning JCL and
by buscoquadnary 4y ago
My understanding of is that the problem isn't "learning COBOL" it's learning all of the environment that surrounds COBOL, the IBM Z Mainframes, learning JCL and what not.
In fact it seems this is the case with every language, Java was the first language I picked up, I did it through school, I am familiar with syntax and how it works under the hood, yet I don't feel comfortable on Java projects, not because I have any problem with Java it's because I don't know the entire environment around it, there's DI frameworks, finding the magic Spring config to make things work the way you want, etc. As an engineer I don't really have an ability to see what is going on in an application and really trace the code start to finish because there are three or four layers wrapping, abstracting, surrounding, or smothering any code that anyone has actually written on my team.
Same thing with .Net I've tried picking it up since .Net core came out, but it just seems that figuring out how to string all the packages, and dependencies and figuring out how the build tooling works is more effort than the language itself.
Repeat for JS, you can know Node and JS and in this environment that will get you a nickle and a piping hot cup of Jack Squat because you can't just know JS, you need to know JS, and React or Angular, and in order to work with those tools you also need to use Webpack or Babel, and a transpiler and all the tutorials that go "step by step" seem to consist of "install these packages don't ask why just do it and then add 4 lines of code".
The problem isn't nor has it ever been the langauge, so far I've picked up Perl, Python, Java, C#, JS, TS, Ruby, AWK, and a handful of other languages with ease (The only one I've struggled with thus far is LISP) it is the environment that surrounds each of these things, and I only forsee it getting worse as we continue to move things to a higher and higher level, we think we are simplifying but it feels more like we are building a leaning tower on a foundation of sand, where soon coding will become more of a priesthood than anything, where the right incantations will produce a certain effect but no one will really know how or why because no one person knows or understands what the 14 layers of abstraction we are running on do. Which inevitably ends up reinventing the wheel at every layer of the stack as teams try to solve problems within the area they understand not realizing how much easier it would be to solve in another layer, and we'll just end up running around in red robes chanting prayers to the Omnissiah.
01010000 01110010 01100001 01101001 01110011 01100101 00100000 01110100 01101000 01100101 00100000 01101111 01101101 01101101 01101110 01101001 01110011 01110011 01101001 01100001 01101000
- FearNotDaniel 4y agoWhen you stop jumping from one language to the next, endlessly searching for an environment that matches your idea of 'purity', and decide instead to invest some serious time and effort into learning a specific platform, and use that knowledge to actually achieve something practical that delivers value to your fellow humans; then you are just beginning to understand what it means to be a software engineer. Every platform has its flaws, every ecosystem has its design mistakes, and yet here we are, thousands upon thousands of people working in an industry that barely existed fifty years ago, creating things which at least some other humans are prepared to spend money on. A subset of those things actually enrich the lives of others in significant ways. Why not choose to be part of that? I suggest for the sake of your own wellbeing, complaining less and learning more. Dig deep into the history of those frameworks and environments that you hate so much, remember Chesterton's Fence and start asking questions about why things are the way they are, what problems have others encountered that needed to be solved. Perhaps when you fully understand what motivated people to put all that crud out there, you could find better and more elegant solutions that will make all of our lives better. Or not. There are plenty of other rewarding ways to spend your days, if software is not for you then perhaps something completely unrelated will be more satisfying.
- buscoquadnary 4y agoI'm not upset with it, jaded and cynical maybe, but I still make a decent living and enjoy when I do get to make things, I just would enjoy it more if I spent more time building and creating and less fighting with my tools. I make it a point to jump from environment to environment to learn to grow, to see the new things and the new tradeoffs, and find out what they play out like. That being said, I don't need to find or build a better or more elegant solution. I use Emacs ;)