Being A Java Developer Is The Best Job In The World

  Рет қаралды 52,800

Continuous Delivery

Continuous Delivery

Күн бұрын

Maybe surprisingly “java programmer” is often listed as the best job in the world, or at least in the UK and USA. If you are a java developer this may seem surprising. If you are a javascript or any other kind of developer it may seem surprising too, but there is an argument to be made. So is this just marketing from recruitment firms, or can we make a sensible case for programming in general, and specifically java programming being a great job? Can we figure out which are the best software jobs, or best developer jobs?
In this episode Dave Farley author of Continuous Delivery and Modern Software Engineering explores these findings, and gives his thoughts on why being a Java programmer may really be the best job.
_____________________________________________________
🔗 LINKS:
Java Programmer best job in US ➡️ www.techradar.com/news/being-...
Java Programmer best job in UK ➡️ www.glassdoor.co.uk/List/Best...
Most popular programming languages 2022 ➡️ www.tiobe.com/tiobe-index/
25 Greatest Java Apps ➡️ blogs.oracle.com/javamagazine...
12 Top Python Apps ➡️ www.netguru.com/blog/python-a...
5 Famous Javascript Apps ➡️ tweakyourbiz.com/technology/m...
Pilot responsibilities ➡️ www.prospects.ac.uk/job-profi...
_____________________________________________________
📚 BOOKS:
🚨 MY NEW BOOK! 👉 📖 Dave’s NEW BOOK "Modern Software Engineering" is now available here ➡️ amzn.to/3DwdwT3
In this book, Dave brings together his ideas and proven techniques to describe a durable, coherent and foundational approach to effective software development, for programmers, managers and technical leads, at all levels of experience.
📖 "Continuous Delivery Pipelines" by Dave Farley
paperback ➡️ amzn.to/3gIULlA
ebook version ➡️ leanpub.com/cd-pipelines
📖 The original, award-winning "Continuous Delivery" book by Dave Farley and Jez Humble ➡️ amzn.to/2WxRYmx
NOTE: If you click on one of the Amazon Affiliate links and buy the book, Continuous Delivery Ltd. will get a small fee for the recommendation with NO increase in cost to you.
-------------------------------------------------------------------------------------
Also from Dave:
🎓 CD TRAINING COURSES
If you want to learn Continuous Delivery and DevOps skills, check out Dave Farley's courses
➡️ bit.ly/DFTraining
📧 JOIN CD MAIL LIST 📧
Keep up to date with the latest discussions, free "How To..." guides, events, online courses and exclusive offers. ➡️ bit.ly/MailListCD
-------------------------------------------------------------------------------------
CHANNEL SPONSORS:
Linode offers Linux virtual machines with global infrastructure and simple capped pricing. No surprise bills, no lock-in, and the same price across every data center. See if Linode works for you with a $100 60-day credit by signing up HERE ➡️ linode.com/cd
Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ bit.ly/3ASy8n0
Harness helps engineers and developers simplify and scale CI/CD, Feature Flags and Cloud Cost Management with an AI-powered platform for software delivery. ➡️ bit.ly/3Cfx3qI
Octopus are the makers of Octopus Deploy the single place for your team to manage releases, automate deployments, and automate the runbooks that keep your software operating. ➡️ octopus.com/
SpecFlow Behavior Driven Development for .NET SpecFlow helps teams bind automation to feature files and share the resulting examples as Living Documentation across the team and stakeholders. ➡️ go.specflow.org/dave_farley

Пікірлер: 211
@livb4139
@livb4139 2 жыл бұрын
Used to work with Java for like 2 years and thought I hated it. Only after switching jobs recently and start working with js and python it's made me realize the importance of a strongly typed language, specially when working with other people.
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
Yes, I think it is easy to miss the reasons for something if you haven't seen the problem it is meant to solve yet.
@br0ken_107
@br0ken_107 7 ай бұрын
you do know python is strongly typed, right? you meant static not strongly typed, I guess.
@mazymetric8267
@mazymetric8267 6 ай бұрын
​@@br0ken_107 Some people often use the terms 'explicit types' and 'strongly typed' interchangeably.
@davidgrajalesmirage
@davidgrajalesmirage 4 ай бұрын
@@br0ken_107 it's not strongly typed it just doesn't make stupid inferences like JavaScript to allow atrocities like adding empty arrays with empty objects, but you still can change variables types dynamically without explicit parsing, gosh In python you doesn't even have a way to create unmutable values (const or final), so no, python is not strong typed, it's just not as dumb as JS
@gnarfgnarf4004
@gnarfgnarf4004 2 жыл бұрын
Totally agree with Static Typing. Java was invented when corporations realized that, for the average programmer, pointers and memory management were forever going to be a sinkhole of time and productivity.
@imhassane
@imhassane Жыл бұрын
I love Java, I'll finish uni this year in France in October but I've already got a java full stack job at 22 that will start just after my studies. I'm so eager to have the opportunity to work with and master this language.
@saeedarabzadeh1851
@saeedarabzadeh1851 Жыл бұрын
Having been on the internet for a long time...it's the first time I hear someone so careful not to harass or belittle other people's efforts or knowledge.we need more of you. Thanks gratefully.
@dominusgloriae
@dominusgloriae Жыл бұрын
Java was the language that helped me get into IT, relocate to other country and it payed the bills for several years :) For those who like Java and not afraid of it weird verbosity I started working on a playlist with Java interview Q&A: kzbin.info/www/bejne/gpbUf3WYe85pkJI
@frostyrobot7689
@frostyrobot7689 2 жыл бұрын
Another down-to-earth and informative video Dave. Just picked up a copy of your book...
@Anthony-wg9lu
@Anthony-wg9lu 2 жыл бұрын
Hi Dave , love your angle on things ( and your t shirts) . We developers are very lucky and would benefit from reminding ourselves of this on a regular basis. I work remotely from Australia for UK clients in the rail industry - I get to live in a sunny climate , write code and play with big trains ! How good is that. Btw. I grew up in the Midlands , and it is so refreshing to hear your straight talk and familiar accent. Keep up the excellent content. live long and prosper.
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
Yes I grew up in Birmingham 😉
@wanesmify
@wanesmify Жыл бұрын
Informative and eloquent! Thank you!
@dzbanek4971
@dzbanek4971 Жыл бұрын
It was a pleasure to listen to you. Nicely said.
@alexandrutoma9187
@alexandrutoma9187 2 жыл бұрын
Love your ideas sir!!! Always valuable!
@future_teknokrat7585
@future_teknokrat7585 2 жыл бұрын
Hardly anyone will say this out loud, they'd rather complain about it's flaws. But the results are clear, even in the marketplace: Java. Not in every case, but certainly most. Even if one hates working in the language ecosystem.
@HominisLupis
@HominisLupis 2 жыл бұрын
Dave, love your stuff as always. Cheers!
@thats-no-moon
@thats-no-moon 2 жыл бұрын
Another great video, thanks :) -- I transitioned from Rails to JavaScript to now Java and I like working as a Java developer by far the most. It's a great job.
@kamertonaudiophileplayer847
@kamertonaudiophileplayer847 2 жыл бұрын
Regarding a performance, my phone can play DST files without a problem now, although I think it is more related to a performance of phone chips than Java used in the decoder. Continue talk about mobile platforms, Kotlin also got a good usage on Apple devices among with Dart, so generally, Kotlin will be considered a truly multi platform and multi purpose language backed by own JVM compatible machine.
@nicopostigo123
@nicopostigo123 2 жыл бұрын
Great video, thanks Dave!
@slr150
@slr150 2 жыл бұрын
Java features such as remote debugging, OQL (for heap analysis), JFR are very useful diagnostics tools .
@compscitopics
@compscitopics 4 ай бұрын
Great information, thank you!!
@gammalgris2497
@gammalgris2497 2 жыл бұрын
I like doing requirements enginneering to understand and interact more with the business side/ user. But I also like development work. You really need the practice of programming. Especially when you're also supposed to do 3rd level support. Reading logs and error messages won't help if you can't read the code. I can't imagine only doing one thing. The systems get more and more complex (see also conways law). The theory (requirements) without practice (the technical side and programming) makes it harder to understand how things work.
@TheAnthypass
@TheAnthypass 3 ай бұрын
Amazing watch, thank you!
@conradtm
@conradtm 2 жыл бұрын
I remember transitioning from engineering to computer science, which moved me from using Matlab to using Java. Java was absolutely more verbose. That being said, while brevity is the soul of wit, Matlab more reminded me of that “Why waste time say lot word when few word do trick” quote from the office. It’s fewer words but it’s not easier to understand in the least.
@MrParadisio2000
@MrParadisio2000 2 ай бұрын
Very nice video. Yes, love of learning is very crucial for working in IT and software engineering!
@BobBob-qm2bm
@BobBob-qm2bm Жыл бұрын
Thank you for sharing the knowledge
@ContinuousDelivery
@ContinuousDelivery Жыл бұрын
My pleasure
@gabrielfono844
@gabrielfono844 Жыл бұрын
if you have a mentorship program to guide people earlier in their career , I will absolutely join it for sure. thanks for this amazing video and I look forward to watching more videos.
@pascalmartin1891
@pascalmartin1891 2 жыл бұрын
My only beefs with Java are: - memory bloat. The joke is that the Java motto is "your RAM is all mine". You have to "jail" the JVM using a command line option, and then you are back to know everything about the program implementation, or else shoot from the hip and wish for the best. - how easy it is to shoot yourself in the foot with threads and protected methods. To me Java is no better than C++ on that matter. The language is otherwise so elegant. But I wish exceptions would go away, in any language. This was an experiment that has reached it's shelf life limit. Rust is showing a very interesting alternative.
@ponypapa6785
@ponypapa6785 2 жыл бұрын
Yes, concurrency is horrible in Java, although there are a LOT of ways to help with that, built in the language. But, just like many other things, one needs to actively learn them, as they are anything but intuitive. Likewise, protected visibility is VERY useful when done right, but can easily be abused, even without the dreaded diamond problem. The memory bloat is something that I personally have not yet encountered - but maybe I just overlooked it. I do tend to try and find resource leaks (and memory leaks) while programming, which in turn might mitigate that, but that behavior is also everything but easy or intuitive. So yes, those are real problems. Like most other problems, they can be circumvented, and like most other problems, one needs to learn about them to be able to do that. I thank uncle bob and Josh Bloch for that in my case =) Not sure about exceptions, though - just checked exceptions, they CAN be really *really* annoying.
@pascalmartin1891
@pascalmartin1891 2 жыл бұрын
@@ponypapa6785 let me clarify that I meant bloat, not leak. The JVM does a nice job of optimizing it's GC, but at the price of leaving a lot of memory unused. Amusingly our company's first big Java program worst bug was a memory leak: a bug missed removing items from an obscure list. The program died once every week.. The AWS developers have a nice take on languages, ranked according to energy use (a weighted sum of RAM and CPU use I guess) and it is telling.
@pascalmartin1891
@pascalmartin1891 2 жыл бұрын
@@ponypapa6785 about exceptions my beef is that one is tempted to ignore them (the default in most languages) and pass the buck to the caller, which may not have the context needed to handle them properly. The Rust's result approach seems to promote a better programming habit. (I am very new to Rust, so the conditional. I have been using exceptions since the '80s--in Ada.) Count me in the not-so-happy-with-java group, but it might just be my grumpy self.
@Immudzen
@Immudzen 2 жыл бұрын
I work on HPC software and I remember a professor I had said you could use c,c++, or even python for the code but if you wrote the code in java he would throw you out the window. He was also not wrong on that when we looked at the numerical performance. Every version of BLAS I have encountered for Java is much slower than the ones available for c based languages. Often 10s to 100s of times slower. However, Python makes it easy to hand off all that heavy lifting to c and c++ while Java calling to a c based BLAS is also slow. So it is easy to get code working and correct in Python and then update the algorithm to be efficient and then push off the performance to lower level languages by calling existing high performance libraries. That is why we have things like numpy, tensorflow, and torch.
@CodingSnips
@CodingSnips 5 ай бұрын
As a confused beginner, and one who has tried out Python, HTML, CSS and JS, and now settled for Java and seem to be really loved it, (alongside SQL). due to all the negative sentiments people throw at the language, I happen to need motivation on a daily, like someone saying to me "Java is awsome, gain mastery in it" this you've done and with enough reasoning to support the claim, the much I can say is "THANK YOU" :)
@harrisonbrock3909
@harrisonbrock3909 2 жыл бұрын
At one time, I thought Java was the best programming language for back-end development. But now believe that Go/GoLang is the best programming language for back-end development (Having used Java, C#, Python, Ruby, JS/TS(NodeJS).
@pascalmartin1891
@pascalmartin1891 2 жыл бұрын
Interesting: I have tried Prometheus on a 4GB mini-pc home server, and it ended badly. The (Linux) machine would crash once or twice a week. It was going out of memory. Prometheus would quickly take more and more memory until almost all was gone. When I looked at any options to restrict RAM use, I found that the max RAM used was hard coded, and that the Go GC would quickly take it all. I uninstalled Prometheus. I guess 4 GB is puny in the cloud?
@samuellotz8304
@samuellotz8304 Жыл бұрын
Interesting to leave out Go from this comparison. I see more Go than Python when applying for software engineer jobs.
@omaradrian80
@omaradrian80 2 жыл бұрын
Great video!!!
@pendago8484
@pendago8484 2 жыл бұрын
7:59 I am learning java, and indeed, when I look up information on the internet and I get an answer actually conceived for c#, I most of the time don't look any further, because it almost always answers my java question.
@MrAbrazildo
@MrAbrazildo 2 жыл бұрын
4:20, I can't even remember if I ever had a serious bug using pointers. Here go my tips for everyone, who use to have problems with that, to get rid of this issue once and for all: - If you have to allocate memory, don't do that directly: *use containers from the standard library* , STL. They have their size hidden from you, and manage it automatically. - When *traversing those containers, use their own iterators* (OO pointers). Member-f()s 'begin' and 'end' provide them for you. Just keep a model like this: *for_each (container.begin() + offset, container.end() - premature_end, some_algorithm);* With offset = 0. If you just want to run all the way _(default is copy, but you can reference that, with &)_ : *for (auto &a_var_not_ptr: container) some_algorithm (a_var_not_ptr);* In any of these cases you deal with pointer directly. - *Reallocations may invalidate previous iterators* : std::vector container; auto it = container.cbegin() + K; container.push_back (M); //May invalidate. auto x = *it; //May crash. There are 2 main solutions for this: a) Just "refresh it", after push_back: auto it = container.cbegin() + K; // ≃ F5 in a webpage. auto x = *it; //Guaranteed to work. b) *Recommended: reserve memory* right after container creation: //Chandler Carruth: _"We allocate a page each time. This is astonishing fast!"_ container.reserve (1024); container.push_back (M); //Just added M, not reallocate. auto x = *it; //Ok. There *won't has a new reallocation, as long as container.size()
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
Just to be clear, I was talking about C++ when Java was invented. There wasn't a standard template library then, and no containers for memory allocation.
@PaulSebastianM
@PaulSebastianM 2 жыл бұрын
Well balanced sir, well done.
@olaiwolaoni1748
@olaiwolaoni1748 11 ай бұрын
Insightful video
@gabrielfono844
@gabrielfono844 Жыл бұрын
I really love this video I have working as backend developer for 8 months I dont even think I have word to say. I am still new in the field and would probably ask you for more advice to move to mid and senior level. video around that topic would be really helpful.
@ContinuousDelivery
@ContinuousDelivery Жыл бұрын
Thanks for the suggestion, I will think about it.
@cryptolicious3738
@cryptolicious3738 2 жыл бұрын
great video!
@H4KnSL4K
@H4KnSL4K Жыл бұрын
Well said!
@CripplingDuality
@CripplingDuality 2 жыл бұрын
Sound arguments, and even though I'm professionally much more about C# and Python (hopefully F# in the future) , I think Java is a fine language. Regardless these aren't surveys but a meta analysis of glassdoor reviews which are easily gamed, so I won't put much stock in the results.
@alexischicoine2072
@alexischicoine2072 Жыл бұрын
Having good type information is definitely useful and python’s type hints and tools like mypy help a lot.
@ReedoTV
@ReedoTV 2 жыл бұрын
I like python much less than I should. And I like javascript a lot more than I should.
@asifinet79
@asifinet79 Жыл бұрын
I love Java, and I have been developing Enterprise apps for more than 10 years in Java Projects.
@sandywool
@sandywool Ай бұрын
Can you mentor me ?😊
@peter-klausnikolaus4823
@peter-klausnikolaus4823 2 жыл бұрын
I just started my new job as a java programmer after changing carreers and i do agree 100%.
@sleepyp5684
@sleepyp5684 2 жыл бұрын
Love the content Dave, any chance you could talk about infrastructure testing? I work in Ops, I'm not a developer, should I be applying TDD to infrastructure as code?
@JayCeeVids
@JayCeeVids 2 жыл бұрын
Yes you should, one of the main benefits of writing your IaC is that it becomes testable. Just Google testing strategies for whatever tech you are using in your team, there are bound to be plenty of resources providing methods to write your tests.
@sleepyp5684
@sleepyp5684 2 жыл бұрын
@@JayCeeVids Thanks for the reply, I'm trying to find the Dave Farley for Ops. A lot of the testing strategies I've seen is after the fact and separate from writing IaC
@donDan94
@donDan94 10 ай бұрын
That's nice. How did you get that full stack job, learning by yourself programming or you got the skills at uni?
@kacpergierycz677
@kacpergierycz677 Жыл бұрын
Omg this Topic just made my day greate:)
@luyolomntuyedwa5363
@luyolomntuyedwa5363 Жыл бұрын
Spoken like a true veteran👌you Sir have just earned one more subscriber
@valentyn.kostiuk
@valentyn.kostiuk 2 жыл бұрын
Best time for now was programing C#, most comfortable language for me.
@becayebalde3820
@becayebalde3820 Жыл бұрын
As a CS Student , I used to love Java Here’s why I changed my mind: 📍when you are stuck on some weird errors, it’s difficult to find a solution 📍 setting up a project is so tedious (maybe that’s just Eclipse) 📍 The documentation is also poorly explained
@abhishekpatra7954
@abhishekpatra7954 3 ай бұрын
In my opinion learn something which you are comfortable with and which pays the bills and the job is not less open
@becayebalde3820
@becayebalde3820 3 ай бұрын
@@abhishekpatra7954 I am a Data Scientist Junior now, I work with Python mainly.
@pif5023
@pif5023 9 ай бұрын
Having coded with both Java and Python I would prefer Java unless we are talking about R&D. I will probably switch to Java soon (from JS/TS) professionally as I see all the positions that interest me in my company are in Java. Somehow I also see that Java experience is accepted to get into Rust or Go jobs which I think will take its place, Go especially.
@melski9205
@melski9205 2 жыл бұрын
I think the language is overblown, university types put too much on the syntax differences. Its the JVM that counts most and the stuff around the language. Java has great tooling, great libraries, professional support and has been mainstream for so long. I do love what Typescript has done for our UIs recently though and their frameworks. The main issue for Java is its owner. Java versioning can still be painful, but its not as bad as other languages. I also think its worth saying Java is more often used by larger companies and perhaps the subject matter of the work is more rewarding.
@miroslawturski
@miroslawturski 2 жыл бұрын
I have done quite a few things in my professional career, but being (java) programmer is by far the best.
@firmlyembedded7259
@firmlyembedded7259 Жыл бұрын
Great video, its really useful to have your perspective on this topic Dave. I am currently an embedded software programmer, I've used (embedded style) C++ a lot, but am currently forced to use C 🙄. I am thinking of moving into java roles to keep things fresh in my career, and to feel more productive rather than being bogged down with low-level issues and constant debugging. PS: Love the shocked looking smily over Visual Basic at 7:00😆
@juanvalentinsantimateo1591
@juanvalentinsantimateo1591 2 жыл бұрын
Love that t-shirt by the way. 😁
@cotton9126
@cotton9126 Жыл бұрын
My main complaint about Java is that there is much better alternative (Kotlin) that could be integrated into existing projects, yet I absolutely cannot convince my team to learn anything new. I actually had to fight for months so we'd upgrade to Java 17 and even then it only happened in one of our projects
@rrrrr5042
@rrrrr5042 8 ай бұрын
I have switched to Kotlin and I hate it. the only problem with java is that most have to stay on older versions and support lots of legacy code, at the same time newer java versions offer many cool features that kotlin has.
@br0ken_107
@br0ken_107 7 ай бұрын
@@rrrrr5042 the only reason java is used is a lot of code base (mostly legacy) of most large corps is in Java, java is an absolute trash language, C#, Go for backend + Kotlin for android has already started reducing java usage. It's time consuming and too costly to update code for huge companies into a different and objectively better languages so they are going to run it until Java dies down which it definitely will. Paypal has already removed all oft heir legacy Java code with Javascript in the backend.
@lufenmartofilia5804
@lufenmartofilia5804 3 ай бұрын
This comment aged badly lol
@starlingafrica8791
@starlingafrica8791 7 ай бұрын
great video😍
@DevlogBill
@DevlogBill Жыл бұрын
Thank you for the education. I am learning JavaScript. I am focused on Web Development. I am trying to become full stack. From your video it sounds like Java doesn't work well for Web Development? That it is more of a server-side language? (Back-End/Not Full-stack) Would you say C# is the better approach? I ask because I am interested in finding employment for a medium to large corporations which uses either Java or C#. Thank you for the video.
@ContinuousDelivery
@ContinuousDelivery Жыл бұрын
Neither Java not C# are widely used for web development, projects that use Java or C# usually use a different language for the Web code, Javascript is probably still the most common.
@DevlogBill
@DevlogBill Жыл бұрын
@@ContinuousDelivery Thank-you.
@MrKar18
@MrKar18 2 жыл бұрын
I would love to hear your take on Kotlin as Java alternative. Java and Kotlin interchangeable these days for a programmer?
@lhxperimental
@lhxperimental 2 жыл бұрын
Kotlin, Scala etc serve as testbeds for future java features. I won't make the switch unless I am programming for Android
@ahmedbathily7013
@ahmedbathily7013 Жыл бұрын
@@lhxperimental very true I have liked koltin before but now no ,I find it very mess trying to shortcut everything with useless features
@ahmedbathily7013
@ahmedbathily7013 Жыл бұрын
@@techtutorvideos I talked about some shortcut feature in Kotlin. trying to solve everything in one language can lead mess
@HellsJayBells
@HellsJayBells 2 жыл бұрын
I've been professionally working with Python for over 5 years now. I love the language, and think it is certainly fine for large projects. I do, however, understand the aspect of reliability in the community. For some frameworks like Django, typically the online help is really solid. However when you start looking through some of the data science communities the code quality jumps off a cliff. I think this is related to the lower entry barrier. There are trade offs. It is nice to see people getting into code, but as a professional it can be a little grating constantly seeing low quality code. I promise you, there are some of us out here trying to hold ourselves to a higher standard.
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
I know that to be true, my point is that I don't think that there is anything inherent in the language and common tools to promote that, whereas I think that there are things in the language and tools around Java that do. We could certainly debate that, but that is really what I meant in my comment about "I'd only do a Python project with others if they did great TDD". TDD is one approach to replacing, and supplementing, the protections that static typing, and strong tools offer. I think Python is a great tool, but to do a great job requires us to be expert and on our game. Java does too, but just a little less expert and a little less on our game YMMV!
@bobbycrosby9765
@bobbycrosby9765 2 жыл бұрын
It's because data science code is oftentimes written by people that are scientists first and programmers second. You see this in a lot of code written by scientists - it's a giant tarball. Language hardly matters, I've seen unholy messes of Java written by scientists in the past too.
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
@@bobbycrosby9765 Yes, there is a lot of very bad code written by scientists 😬 I think that they suffer the "smart-person's problem" when it comes to SW "how hard can it be - its not rocket science" - and the trouble is that SW can be extremely hard, but it doesn't look like it on the surface.
@robertmazurowski5974
@robertmazurowski5974 2 жыл бұрын
@@ContinuousDelivery Python has strong typing... IT is something you Discovery after the Basics of the language. IT is optional though, but required to be used with a lot of frameworks and libraries.
@centerfield6339
@centerfield6339 2 жыл бұрын
@@robertmazurowski5974 it has obvious strong typing and you spot it as soon as you add a string and an int together :-)
@eric-seastrand
@eric-seastrand 2 жыл бұрын
I love your shirt. And also the content, but the shirt in this video made me smile 😃
@AI-xi4jk
@AI-xi4jk 2 жыл бұрын
My natural progression to safety: C -> C++ -> Java -> Scala -> Haskell ->? Idris/CoQ??? Damn why I’m not a mathematician!?
@NotaUser1234
@NotaUser1234 2 жыл бұрын
me: why do I need to add getters and setters to every accessible property? my java mentor: abstraction! you can override the get and set behavior me: why do we use Lombok? my java mentor: because we never actually override the get/set behavior
@ponypapa6785
@ponypapa6785 2 жыл бұрын
BeCaUsE sOnAr SaYs So! also you CAN override the generated getters and setters in subclasses, but when you are overriding Getters and setters for POJOs, then there is something SERIOUSLY wrong with your approach. Plus: IMO, the only reason for (plain) setters is: regulate write-access to a variable. If necessary, fail-safes can be built in to ensure correct behavior without then having to change the API. The only reason for explicit getters should, again, be API and the idea of defensive copying. However, those are MY opinions that very few of my colleagues seem to share =)
@diegoshevek5927
@diegoshevek5927 2 жыл бұрын
Java 17's records made that a lot easier: you don't have to write getters because the language provides one for each declared property, and you don't need to write setters because the proprties are assigned when creating the instance (records are immutable)
@ponypapa6785
@ponypapa6785 2 жыл бұрын
@@diegoshevek5927 records are so effing great... basically remove need for lombok entirely =)
@chaotic-voices-in-my-head
@chaotic-voices-in-my-head Жыл бұрын
That´s really quite surprising because in my country it seems that Java is not so in demand. Other languages like C# or Python are more in demand.
@MrAbrazildo
@MrAbrazildo 2 жыл бұрын
5:13, C++ 3x1 Java (2,7x1, actually), according to a test at Dave's Garage, another ex Microsoft: kzbin.info/www/bejne/emTLZ2WonMqqkK8 , if you consider C# is about the same speed as Java: kzbin.info/www/bejne/qXumZH2pq82Ab9E . 5:35, + C++ also gives you more control over the design too, allowing to make better tools, even for defensive proposes. I heard in a presentation that C++ is also used in "secure critical systems", or something like that. I'm not a bit surprised. I coded my own boundaries checking for any container, and never again had a problem about that that wasn't reported properly. 5:49, Mike Acton about this for his HPC#, an attempt to make C# the new C++: kzbin.info/www/bejne/q2mlZJ1up9aMg9k .
@TamDNB
@TamDNB 2 жыл бұрын
Weird there's no other languages mentioned, just Architect/DevOps/Full Stack
@coderlady_
@coderlady_ 2 жыл бұрын
OMG I loooove your t-shirt 😍
@user-zl6tb4rl1s
@user-zl6tb4rl1s 4 ай бұрын
cool video)
@grimordwow
@grimordwow 2 жыл бұрын
I transitioned from Java into Java 2.0 (Kotlin) recently so I'm even happier!
@searcherer
@searcherer Жыл бұрын
i''m looking at the courses available near me, there's an option for web developer which includes Javascript, PHP, HTML, CSS, and separate for Java only I'm guessing it is more thorough, what would be a better choice for someone who doesn't know anything about IT just wants to try a new field? Your opinions would be apreciated!
@ContinuousDelivery
@ContinuousDelivery Жыл бұрын
It depends what you are looking for. If you are interested just because you like learning, or because you are thinking of starting a new career? Starting by learning Javascript is a popular route, but I think that the javascript eco-system is so diverse that it is sometimes hard to find any reasonable definition of "what does good JS code look like". As a beginner, that can be a problem. Java is more constrained, and these days, though still VERY popular in the job market is seen as a bit old fashioned. I think that this is a mistake, and that learning Java is a better place to start if you want to get good at coding than JS. It is a bit more strongly structured, and so "what is good" is a bit easier to answer. Python is a good choice too, and probably, at least in my opinion, a better teaching language than JS or Java. If you are looking for this from a Job perspective, then these are the 3 most popular languages by most counts. If you are a Windows user, another strong candidate is C#.
@searcherer
@searcherer Жыл бұрын
@@ContinuousDelivery i guess i wanna learn a new modern set of skills that i might use with my current education in electrical installations, or start a new career depends on my efforts and circumstances obviously, just feeling like stuck right now, need a challenge 🙃 and maybe something less manual labor dependent
@florianfanderl6674
@florianfanderl6674 2 жыл бұрын
In the past I did C# for nearly 10 years. Then I had a break of 4 years doing mostly Python. Recently I had to create a small package in C# and I found it really weird. The whole ecosystem and module concepts are so different from all the other languages. The same is true for the community around. Net and C#. I'm pretty sure it's not as bad anymore as when I did C#, especially considering .Net core. Still I can understand why people that never did .Net don't like it. But I must admit that C# was and still is a great language.
@marna_li
@marna_li 2 жыл бұрын
As a C# developer, I can say that it is quite depressing working on a .C#/.NET project that has been running for 10+ years without much change. I love the new stuff and I keep updated, but somehow it feels backwards with all the legacy - and I imagine the same for Java. No wonder why many developers look to other new languages. But here I am still standing. I want to make a change and show the better parts of . NET. Blazor is easily the best invention so far.
@timgo2345
@timgo2345 2 жыл бұрын
@@marna_li Hopefully .NET upgrades from now on will be pain free. The change from .NET Framework to .NET Core was a big one but if you already did it, it should be smooth sailing
@florianfanderl6674
@florianfanderl6674 2 жыл бұрын
@@marna_li I can totally relate. We also had a big legacy application doing a million things and I was one of the few that could maintain this beast. Sad but true, often the only choice you have is to change the company or insist on being moved to a fresh project. If you're too kind, they will keep you on the legacy stuff forever.
@elliott8175
@elliott8175 2 жыл бұрын
Okay, don't roll your eyes, but C++ has come a long way: Pointers: When I tell people I'm a C++ programmer they say "Wow! You really like all that memory management?" In modern C++, unless you're directly communicating with hardware (embedded systems), you should basically never, ever use a raw pointer - and it should even be rare to use a shared_pointer/unique_pointer. I really do not have to worry about memory management. Those days have long gone. OOP: C++ is not all about objects! I think functions should be the default - write a class when it makes sense (which is quite often, I'll admit). When I was being taught C++ at uni there was an emphasis on inheritance, which should actually be quite niche. Complicated inheritance trees are awful. These days good code reuse comes from templates and composition of classes/functions with no side effects. Okay, I lied: The code I work on has a legacy core and so I *do* have to deal with memory management, but I've written sizeable projects before with literally no pointers (not even unique/shared).
@Longlius
@Longlius 8 ай бұрын
It's not particularly exciting but there's rarely any situations where I feel like I'm fighting Java. As a day job, it's probably one of the comfiest lines of work to be in.
@t.s.7440
@t.s.7440 Жыл бұрын
Hello, I have the opportunity to start two free courses, one in C# Fullstack, through the ICT division of a temporary agency, which at the end of the course would allow me to enter a consultancy company with a permanent contract in remote work. And the other course in Java as a programmer (Frontend and Backend) in the banking/insurance sector through a leading company in training, IT consultancy and software development that collaborates with banks and insurance companies, at the end of which I would be hired indefinitely in remote work. Which training course in programming should I choose the one with the C# language or the Java one? Sorry🙏 for my english.
@ContinuousDelivery
@ContinuousDelivery Жыл бұрын
I can't speak to the value of the courses, I don't know anything about them. In my view the difference between Java and C# is negligible from a technical perspective. They are very close to one another in most ways. If you can program in one, it is not a big step to learn to program in the other. In most league tables of languages, Java is more widely used than C#. My advice is that unless you have a reason to pick one tech over the other, then look at the job after the course, rather than the programming language as the deciding factor. What are the people like, how will they support you in your learning and so on. I have several videos on these topics, here are a couple: "20 Questions to ask your next employer" kzbin.info/www/bejne/aHLJnGyBi6qapqc "What Software Career Progression Looks Like For Junior Developers" kzbin.info/www/bejne/onW0eoyPltB9fdk
@t.s.7440
@t.s.7440 Жыл бұрын
@@ContinuousDelivery Thanks a lot for the answer. God bless you. 🇮🇹
@Yulrag
@Yulrag 2 жыл бұрын
From my experience: Java is stable and has good tools all around it. Python 3 can produce dependency hell so easily, that I just don't like it much, but it looks like a great thingy for quick algo prototyping. JavaScript has a thicker book on how not to program in it, than it's specification book is.
@SpuxyYEZ
@SpuxyYEZ 2 жыл бұрын
tell me why would anyone learn java in these days? ... like make abstraction on everything where u do not need... i love javaist ppl lets implement db and first what they want to do is 53453 interfaces with 244 abstraction because WHAT IF db will change from mysql to psql.
@Yulrag
@Yulrag 2 жыл бұрын
@@SpuxyYEZThe reasons are simple. One - almost every problem you may run into has been solved on stack exchange in one shape or form already. Second, newer, stable LTS versions, do not break much if anything. Try that with Python 3 or Rust if you like. Third, you have good practices all written down. You just have to apply them to your work. And as far as DB goes, I think hibernate and its variations tend to get that problem solved.
@RicardoSilvaTripcall
@RicardoSilvaTripcall 2 жыл бұрын
@@SpuxyYEZ I think that is not Java or JVM issue, it is just good coding practice done wrong by clean coders/architects extremists ... I have seen java programs that had more interfaces than code solving business logic ... I like to simplify things, but have seen a lot of unnecessary complex things done in Java by so called "Gurus" or "Distinguished architects" ...
@dinoscheidt
@dinoscheidt 2 жыл бұрын
Working with a JVM these days? Sure… I mean its pretty much pain compensation. Otherwise go up (any strongly typed abstract language like TypeScript), Domain Oriented (like Python for Data Scientists) or low into Rust, Go, C# to CCP / .NetCore. Oracle had its fun… time to get out of it I think.
@jaimevtv
@jaimevtv 7 ай бұрын
to become a java developer, does it require to work in office or remote work will be fine?
@robertgrant721
@robertgrant721 2 жыл бұрын
Love the dig at EJB, what the hell was that all about?!
@robertgrant721
@robertgrant721 2 жыл бұрын
AFAIK Java was inspired by Objective-C rather than C++
@user-wl7yb4zb8p
@user-wl7yb4zb8p 2 жыл бұрын
David, what are your thoughts on Groovy and Grails. Micronaut?
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
I have not used any of them for real systems, so don't have much to say. I have, a couple of times, watched presentations on Groovy & Grails, and they looked pretty good. I think that the optional typing in Groovy is a problem for big teams, where I think static typing helps eliminate some problems. My list here though, wasn't really based on my preferences, but more on what counts as "most popular" in terms of use.
@kawaifreefirefrota4526
@kawaifreefirefrota4526 11 ай бұрын
How long it takes to get a job in java starting from zero?
@DirkArnez
@DirkArnez 2 жыл бұрын
Even though Java has a great ecosystem, but when writing business logic, it just sucks because the language is not very flexible (expressive).
@BBdaCosta
@BBdaCosta 2 жыл бұрын
They didn't especified the java version, I can't do anymore Java 5-6 code bases hahahaha
@BangsarRia
@BangsarRia Жыл бұрын
I’ve been a Java programmer for 27 years with no end in sight. Imo you have the history 95% wrong but that’s irrelevant now. What’s important is that at a minimum Java is strongly typed and compiled hence suitable for TDD, and still popular because it is widely known and used.
@glanern
@glanern 2 жыл бұрын
its true that java is very performant. if you give it memory. a lot of memory.
@nO_d3N1AL
@nO_d3N1AL 6 ай бұрын
Can confirm :)
@elfnecromancer
@elfnecromancer 2 жыл бұрын
I don't really like php myself but I don't think it's fair to call it not a generel-purpose language. Sure, I wouldn't pick it to for a game, a driver or an operating system, but I wouldn't pick Java or a bunch of other programming languages for that either. php is a mess, but it's long stopped being a server-side web page rendering thing.
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
Ok, would you build a command-line tool with it, or a non-web-based mobile app? I have only ever seen it used for web apps.
@elfnecromancer
@elfnecromancer 2 жыл бұрын
@@ContinuousDelivery CLI absolutely. I don't see any downsides to it other than my dislike for the language itself :) Mobile, probably no. Could make it work but I don't see why :)
@elfnecromancer
@elfnecromancer 2 жыл бұрын
But mobile is pretty niche, not in number of users but definitely in the number of languages you can use efficiently. We could look at even more niche Roku sticks (which are pretty big in US btw), and say only C++ is the general programming language because you can only code for Roku in C++ and BrightScript and BrightScript only works on the device.
@jayshah5695
@jayshah5695 Жыл бұрын
Tell this to an android developer for whom the sdk and apis are constantly changing with barely any structure.
@siyaram2855
@siyaram2855 2 жыл бұрын
I am surprised Rails didn't come in the list.
@YossiZinger
@YossiZinger 2 жыл бұрын
When you talk about "25% increase in productivity", how do you measure it? I had several discussions about it with various managers of all levels, and each one sees it differently
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
It was a long time ago. 25+ years, I couldn't tell you. It certainly wasn't scientifically rigorous. These days I'd measure performance not on productivity, which is difficult if not impossible to measure well, but on Stability & Throughput.
@suiko619
@suiko619 2 жыл бұрын
I knew I had the best job in the world! 😊
@anticipayo
@anticipayo Жыл бұрын
Java can pay the bills. But I find scala far more rewarding to both my pockets and my intellect.
@mikey10006
@mikey10006 2 жыл бұрын
You have a point there but I like c++ so rip
@dave369_
@dave369_ Жыл бұрын
I love Java too 😊😊😊😊
@m.x.
@m.x. 2 жыл бұрын
C# the Microsoft version of Java? C# has been ahead of Java since at least 2009 and still are, so I'd say more like the other way around. Keep an eye on C# 10, .NET 6 and WinUI, those are the technologies of the future-if Microsoft play their cards well. The encouragement of better practices and design patterns like componentization and modularization, the confidence of doing changes without breaking anything, reusability, testability, etc.-despite being more verbose-are precisely the reasons for choosing Angular framework over React and other similar libraries.
@asdasddas100
@asdasddas100 2 жыл бұрын
I agree it's miles ahead now but it definitely started out at the Microsoft version of Java
@adambickford8720
@adambickford8720 2 жыл бұрын
Thats how it started life, after j++, j# and a bunch of shady illegal stuff to sabotage java (they paid millions in lawsuits)
@brucedsm
@brucedsm 2 жыл бұрын
Java/JVM frameworks and ecosystem are the best.
@streetfashiontv9149
@streetfashiontv9149 2 жыл бұрын
You wish C# only exists because of Java and has never replaced it and only competed on a superficial level.
@amit12000
@amit12000 2 жыл бұрын
At late age I start learning python , so I will continue with or learn Java Also, how u think I better programer
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
Depends what you are learning it for. If you want to be a "better programmer" then I think knowing more than one language gives you a better perspective on the things that matter and the things that are just conventions for the language that you know. Python is widely reported as the most popular language at the moment os there is nothing wrong with learning that. I would recommend that you learn TDD, if you don't do that already, before you pick up a second language. I have a free TDD tutorial on my training site which may help you get started with that: courses.cd.training/courses/tdd-tutorial
@amit12000
@amit12000 2 жыл бұрын
@@ContinuousDelivery Thanks Dave for valuable guidance
@compscitopics
@compscitopics 4 ай бұрын
Types rule!!
@onurislak
@onurislak Жыл бұрын
java programmer job is number one for me as well.
@WouterStudioHD
@WouterStudioHD 2 жыл бұрын
However, Rust is the most loved programming language and has been for 5 years now.
@ContinuousDelivery
@ContinuousDelivery 2 жыл бұрын
Maybe, but still a minority sport so far.
@glanern
@glanern 2 жыл бұрын
and the kotlin compiler is even worse even though i love the language
@kamertonaudiophileplayer847
@kamertonaudiophileplayer847 2 жыл бұрын
When I see a Java code, I feel like it is something from the previous century. C/C++ is still a pretty modern. Rust doesn't replace C++. Kotlin got the Java place for now. But JavaScript is still the winner, although my favorite is PL/I if some one still remembers.
@josephmorales652
@josephmorales652 2 жыл бұрын
JavaScript is the winner in what regards?
@kamertonaudiophileplayer847
@kamertonaudiophileplayer847 2 жыл бұрын
@@josephmorales652 Your version?
@josephmorales652
@josephmorales652 2 жыл бұрын
@@kamertonaudiophileplayer847 not what you mean by “your version”. I’m gonna assume you mean, “your take”. I’ve only worked in Web Development as a front end engineer. The pay is great and the perks are nice. However I would say the work is not satisfying to me at all. I really love video games so lot of them are developed in c++ or c#. I’ve been having a lot of fun doing memory management plus using math I learned In college. That being said, the video game industry is a hell scape, (the interviews are also hard as hell) so I couldn’t say with a clear conscious that it is the best route to take. Your version?
@kamertonaudiophileplayer847
@kamertonaudiophileplayer847 2 жыл бұрын
@@josephmorales652 I have a significant portion of my code in x86 assembler, but unlikely many people use it nowadays. So if we consider of majority of the development force, then we do not need to guess. But if you want to advocate other languages, then I am 100% with you.
@omenz878
@omenz878 2 жыл бұрын
This is why there is Scala and Kotlin. These are modern languages which utilise the best virtual machine out there.
@manaslovesbirds
@manaslovesbirds Жыл бұрын
Java had only 1 territory from the beginning to rule - Web Development JSP - dead Android - Kotlin has taken over Run Once Run Anywhere - no more a Java-only feature with the advent of containers
@ContinuousDelivery
@ContinuousDelivery Жыл бұрын
Not really, Java was originally written as a language for embedded systems. 🤔
@gerardgauthier4876
@gerardgauthier4876 2 жыл бұрын
Here's the problem with Java... Its practical and boring and practical and boring doesn't make much of a language that you can brag about. People love difficult languages because they become their ego language. "Did you see my solution in !".
@AlmazKojaxmet
@AlmazKojaxmet 2 ай бұрын
Java retirement is 15 age if you genuis
Is This Why You’re Bad At Programming?
20:09
Continuous Delivery
Рет қаралды 84 М.
What All New Software Developers Need To Know
27:46
Continuous Delivery
Рет қаралды 132 М.
Teenagers Show Kindness by Repairing Grandmother's Old Fence #shorts
00:37
Fabiosa Best Lifehacks
Рет қаралды 43 МЛН
Chips evolution !! 😔😔
00:23
Tibo InShape
Рет қаралды 31 МЛН
Dynamic #gadgets for math genius! #maths
00:29
FLIP FLOP Hacks
Рет қаралды 11 МЛН
Why does a Java Developer Hate their Job?
11:16
Stefan Mischook
Рет қаралды 10 М.
My Experience with JavaScript as a Java Developer
13:13
ForrestKnight
Рет қаралды 55 М.
Java 21 Is Good?! | Prime Reacts
27:08
ThePrimeTime
Рет қаралды 208 М.
Avoid These Common Mistakes Junior Developers Make!
17:54
Continuous Delivery
Рет қаралды 156 М.
Why Pull Requests Are A BAD IDEA
19:13
Continuous Delivery
Рет қаралды 223 М.
When Will The Tech Jobs Come Back?
11:25
ChangeNode
Рет қаралды 163 М.
What is the Java Job delusion?
12:23
Stefan Mischook
Рет қаралды 101 М.
TDD Is The Best Design Technique
19:26
Continuous Delivery
Рет қаралды 48 М.
Q&A: When will the Tech Jobs come back?
19:29
ChangeNode
Рет қаралды 10 М.
Why They Called It Java | Prime Reacts
20:37
ThePrimeTime
Рет қаралды 50 М.
Переходник для IPhone • 181649538                         Делюсь обзорами в профиле @lykofandrei
0:15
С Какой Высоты Разобьётся NOKIA3310 ?!😳
0:43
A4 Reset to zero
0:26
STYLE YT
Рет қаралды 17 М.
ПРОБЛЕМА МЕХАНИЧЕСКИХ КЛАВИАТУР!🤬
0:59
Корнеич
Рет қаралды 1,3 МЛН