Win a copy of TensorFlow 2.0 in Action this week in the Artificial Intelligence and Machine Learning forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Paul Clapham
  • Bear Bibeault
  • Jeanne Boyarsky
Sheriffs:
  • Ron McLeod
  • Tim Cooke
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Jj Roberts
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • salvin francis
  • Scott Selikoff
  • fred rosenberger

Does on the job training help you learn better than on your own?

 
Ranch Hand
Posts: 365
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm kind of at a crossroads now of deciding whether I'm getting too discouraged and impatient too easily, or if there really is something here indicating that my strengths don't translate into this career.

I was able to develop a few desktop applications using Swing and Apache POI cells, and was able to integrate MySQL  I have a certification for Java 8, an associate one.   In a few more courses, I'll have a master's degree in software engineering.

However, when it comes to trying to study and learn frameworks such as Spring Boot, I've been trying for weeks, and I just don't get it.  I'm not making the connection, so studying it in the same manner that has not worked and form that has not worked thus far might indicate there is something I'm doing wrong.  I've read through "Spring in Action" other books, tried Udemy courses, and for some reason I just still don't understand what I'm doing and can't make a basic website using it.

I get stuck on a concept that doesn't make sense, but there really isn't anyone in real time to ask questions like in a lab.  Does this issue get any easier when training in person if you don't know frameworks and such?  


Another problem I'm having is that if I just try to look up a how to create a simple website using Spring Boot/MVC on a video, everyone does it differently than one another, and it gets me all confused.


I think maybe I might just not have the right background knowledge to start learning frameworks yet, as I know enough core Java to pass the exams with Oracle and to create programs using Swing, but I just can't translate them into Web development.

Do you even have to know web frameworks to get employed or have to use them on the job?  Are desktop applications obsolete already?


What I'm afraid of is being able to pass Java interview questions and basic exercises, but getting into more complex things and not being able to learn them by myself.  It would help if I wasn't the only one here and good training programs in companies do exist, because I've about given up trying to learn it alone.  Not because it is too hard, but because I am likely doing something the wrong way and practicing bad habits, and it is also getting in the way of my graduate school studies as I'm spending too much time getting anxiety over frameworks and not understanding them.

 
Ranch Foreman
Posts: 1819
9
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Its a combination of both. You will meet people at job and many things one learns by interacting with the right people. Keep an open mind to learn from both ways.
 
Sheriff
Posts: 15945
265
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Nathan Milota wrote:I get stuck on a concept that doesn't make sense, but there really isn't anyone in real time to ask questions like in a lab.  Does this issue get any easier when training in person if you don't know frameworks and such?


Learning isn't easy. Learning alone has its own challenges but so does learning with other people.

You won't get the kind of feedback when you're learning alone that you might get when learning under someone else's guidance. On the other hand, the quality of guidance you get largely depends on the other person's experience and skills. If you have a skilled and experienced mentor, then learning that way can be much faster and better than solo study. On-the-job learning can be effective but again, only if you have a good mentor.

I think the key to any learning, especially when it comes to programming, is being intentional. Focus on a key concept and understand it both in breadth and in depth. Then apply what you learned about the concept in different scenarios. Try to get feedback as often as you can. In my opinion, posting questions and code you've written to places like CodeRanch is actually a great way to get feedback and advice on how to get better. You just have to be a little bit more patient since this is not a real-time medium for communication and discussions can get fragmented and interleaving of different lines of thinking can get confusing at times.
 
Rancher
Posts: 218
16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As someone who graduated recently and has now been coding professionally for over a year, I can say that programming professionally has taught me far, far quicker than academic learning. Obviously the classroom knowledge is critical to success as well, but working in a real codebase has taught me practical things that I wouldn't be able to learn anywhere else. Such as how to pick up a massive project and get familiar with it; how to manage technical debt in a project and get features out at the same time; how to code in a genuine team setting with 50+ developers. Things like that.

The technology stack we use at my job is entirely different than what I learned in school. I basically had to learn everything about our technology from scratch, and that's ok. Being able to pick up new things quickly is a skill and it's one that I am happy to be constantly developing. For me, I don't understand something until I use it. I can read 1000 tutorials and still not understand it. Play around with it for a little bit and I start to get a grasp on it. How are you trying to learn Spring? Maybe you're just going about it in a way that doesn't work for you.

To answer the question of, "do you need to know frameworks in order to get hired" - Well it depends on the job of course. If it's a java senior developer job working on a Spring application, then you probably do. An entry level Java developer, it is definitely not expected. Desktop programs are not obsolete. I mean there are still a lot of companies who use languages and technologies that are from the 1990s. Also jobs always list their ideal candidate but that doesn't mean you shouldn't apply if you don't meet every single bullet point. You never know until you try.
 
Marshal
Posts: 70696
288
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Zachary Griggs wrote:. . . quicker than academic learning. . . .

A good lecturer will try to take things slowly so as to give you time for the information to sink in. Also remember that computing isn't a “know what” subject but more of a “know how” subject, and “know how” subjects always take longer to learn. Consider the difference between learning to read sheet music, and singing or playing it. Or the difference between learning a route from a map, and learning to drive or cycle there.
Once you have the basic skills in place, it becomes faster to add new skills as you said.
 
Junilu Lacar
Sheriff
Posts: 15945
265
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, I don't know if I fully agree with the statement that on-the-job learning is quicker than academic learning either. OTJ learning certainly is more dynamic and broad. Classroom learning is, by necessity, more focused on principles and concepts. Both contexts are important and provide different kinds of opportunities. There are things a player will only learn when playing the actual game. On the other hand, there are things that are best learned off the field, in a more controlled setting.

As I said previously, your practice needs to be intentional. Say you want to get better at unit testing (we all do). So you study unit testing in the evenings at home, away from the normal pressures of work. You focus on techniques and technology and how to use them both effectively. At work, your "practice" is in the practical application of the "theory" that you studied at home to real-world situations. If you don't have a good grasp of the theory and principles, then your execution in practical situations will come up short, just as a player who lacks practice off the field will not do very well on the field.
 
Campbell Ritchie
Marshal
Posts: 70696
288
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Junilu Lacar wrote:. . . . So you study unit testing in the evenings at home . . . .

Should ZG be learning at home, rather than chasing beer/footballs/women?    Shouldn't the employer provide time for training and learning during the normal working day?
 
Nathan Milota
Ranch Hand
Posts: 365
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm at a road block.   I think it could be partly due the pandemic as well as I'm more depressed, irritable, less patient, and panic more easily about everything, and that has extended to developing as well with the catastrophic thinking that I'll never understand it and I'm doomed a failure.  Given that nobody here is a psychologist, I assume, I'll leave that part at that.  


I have a Java associate certification from Oracle, which was a hard exam that took me two attempts.  Other than that, I only have my novice projects I made using Java Swing.

I just think I hit an impasse on what I can learn on my own without a mentor as I'm just not getting it anymore and think I may be going about it all wrong.
 
Author
Posts: 3448
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Nothing beats self taught projects. Have a Git Hub account and create your own projects.

Software programming is a mindset about solving problems and adding value. Only experience can accomplish this. You gain experience by “reading lots of code, and writing lots of code“.
 
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic