A couple of weeks I got my first Java assignment in my first career job and my partner and I are working through the requirements. I'm mostly shadowing him and learning (awesome!) and it's been great to see how he works. One thing that I noticed that I never even thought of was how to build an application from the ground up. I mean I understand the software life cycle and all, but actually implementing in the real world was very much so different that I imagined. As an example, we have a requirement where one object has many objects and I had no clue how to implement that and he was like (with his 20 years experience), "Oh that's just an ArrayList<> of objects within this class. How can I get like that? Is it just an experience thing or are there good reference books on how to WRITE good code? I mean, I understand the basics of programming, but putting together an entire app just baffles me. Can someone please advise me on how to proceed? I hope this makes sense...
|
closed as not a real question by ChrisF♦ Dec 21 '11 at 15:01
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.
|
Simple - Read, learn and practice. |
|||
|
|
An "entire app" is just a combination of tons and tons of smaller chunks all combined to create one cohesive item. It takes practice and learning to start recognizing patterns and functions quickly, but until then, one of your best friends is a pen and paper. It's amazing how much more you can learn about programming without even writing a single line of code. Take your example, try writing out blocks to represent what you're trying to implement, as you're doing this go through any/all training you've previously had and try and come up with something that will fit that function or pattern that you've drawn out. If you can't come up with something, try researching and refactoring until you find something that works. I know that's been a godsend at times for me. |
|||
|
|
Spend as much time, ask as many questions, and pay attention to what this person is doing. You can always do some extra research to learn some of the fundamentals or expand on what he is teaching. You may even be able to see where the theory breaks down in practice. Take notes! "He who takes notes listens." Not that you can't learn things from books, but you have an invaluable resource working with you, so I just think you should spend as much time, energy and effort as you can working with this person. You may end up getting on his nerves; deal with it. |
|||||||
|
|
That's a very common way to feel starting your first job, and it sounds like you are doing the best thing possible. Sitting in with someone experienced that you can ask questions. Ask questions, think about the response and then ask follow up questions. You'd do well to ask other programmers around as well to get different view points. Reading can certainly help but you may want to ask what to read of your co-workers, they can probably tell you what books help the most with what you will be working on. |
|||
|
|
|
The most I can offer is the obvious, code. Take what you think you know, try and do something with it. If it breaks, good! Go back, find out and understand why it broke. You can learn from every mistake you make. Try and use code you don't understand, and through trial and error, you will discover how it works. |
|||
|
|
|
Writing code is what does it ultimately. However, practice will help but perfect practice will help a lot. Understanding the basics and the theory is good, but again, theory without practice is dead, so in the end you just have to write code. Figuring out what to write and then how to write it is harder than actually writing it. :) |
|||
|
|