wood burning stoves*
The moose likes Java in General and the fly likes Java for Programmers from a non-computer background Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Java for Programmers from a non-computer background" Watch "Java for Programmers from a non-computer background" New topic
Author

Java for Programmers from a non-computer background

Anand Athinarayanan
Greenhorn

Joined: May 20, 2011
Posts: 27
Hi all,

I have my UG in electrical engineering but I ended up in a IT company doing programming in JAVA. The training I had here (in my company) was the first experience I had with JAVA or for that matter any programming language. I did well in my java exams and I was (still am) put in a project where we maintain JAVA based web applications.
My question is simple, I love programming especially JAVA (well thats the only thing I know anyway!) but am not that good at it. What does it take to be a good JAVA programmer? I really want to make my career in programming but sometimes I don't know if I can make it.

JAVA is like an ocean, so what approach you would suggest to make a living as a GOOD java programmer. The jack of all trades approach- Where I learn but not master many java technologies like core java,JSP,servlets,JSF, spring etc etc or the other approach where I learn and master not all but some of the java related technologies.

The last question, how do you remember all those syntaxes and when to use what? Does it come only by experience? In my job, we don't develop code but only maintain it, kind of a patch work. So are programmers like me are at loss when you compare with programmers who develop code from the scratch? What can I do to make it up to their level?

More training would do? But I don't have a platform to practice what I learnt. What do you suggest guys? How do we become a good JAVA programmer when all we do is patch up an existing code.

PS: sorry for the long post


Vijitha Kumara
Bartender

Joined: Mar 24, 2008
Posts: 3817

...how do you remember all those syntaxes and when to use what? Does it come only by experience?

Mostly by experience, but not necessarily from the work place. But certain things like work in two different environments like dev & prod might need the real world experience to get that feeling you know
...So are programmers like me are at loss when you compare with programmers who develop code from the scratch? What can I do to make it up to their level?

Of course there are many, many ways to get that kind of experience. There so many sample projects, tutorials etc... available that you can try in each technology area.

Is there any specific technology area you are looking for?


SCJP 5 | SCWCD 5
[How to ask questions] [Twitter]
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Anand Athinarayanan wrote: What does it take to be a good JAVA programmer? I really want to make my career in programming but sometimes I don't know if I can make it.


Practice, practice, practice.
Or better as the great shortstop Cal Ripkin said: perfect practice makes perfection.

Anand Athinarayanan wrote: The last question, how do you remember all those syntaxes and when to use what? Does it come only by experience? In my job, we don't develop code but only maintain it, kind of a patch work. So are programmers like me are at loss when you compare with programmers who develop code from the scratch? What can I do to make it up to their level?

after a suitable amount of practice, you will know most of syntax. And modern IDEs help a lot. But some of Java's syntax is stupid and broken. See my recent posts asking for help on generics.
G. Red
Greenhorn

Joined: Apr 10, 2008
Posts: 6
Pat Farrell wrote:
Anand Athinarayanan wrote: What does it take to be a good JAVA programmer? I really want to make my career in programming but sometimes I don't know if I can make it.


Practice, practice, practice.
Or better as the great shortstop Cal Ripkin said: perfect practice makes perfection.


Also, continuing education. Get books and read them. Since you didn't take a Com Sci major, consider at least taking some classes, if not obtaining a second degree. Challenge yourself. Don't get complacent doing only one thing (like web programming). Try to work in many different areas of software engineering. Seek out these new positions and try to excel at them, don't wait for them to come to you.

Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Altho I'm on the Adjunct Faculty at the local University, I am not a fan of getting another degree.I strongly discourage getting a second degree if its another BS.

A good course in data structures and algorithms is very helpful, but a lot of the other stuff in a standard CS curriculum is rarely used in practical development. In depth knowledge of how to write an operating system or how to write a compiler is great stuff for the science side of CS, but doesn't get used all that often.
Marco Masi
Greenhorn

Joined: Apr 18, 2009
Posts: 7
If you want become a good java programmer the most important task is truly understand the oo paradigm. I've seen too many "java programmer" that don't understand it at all and always code in a procedural way (ok procedural isn't evil just isn't java!). Get a good book about it and study :P I would prefere a non language oriented book (i.e.: not a book about java but a book about oop). Unfortunately no good books come in my mind now

When you feel to understand OO the next lession in my opinion are programming patterns. They aren't obviously dictat but are good programming solutions (you could have use them without knowing :P).

About syntax... it depends on what you meaned. Java syntax isn't too hard...
But you meaned solutions and vaious api knowledge, isn't it? You'll learn using it, writing code, looking at other people code, reading documentation... just experience we could say.
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

One thing you should know: it's "Java", not "JAVA". It's a word, not an acronym. If you write "JAVA", people know you are a newbie from miles away!


[Jess in Action][AskingGoodQuestions]
Anand Athinarayanan
Greenhorn

Joined: May 20, 2011
Posts: 27
Thank you all for your replies. To summarize, we just need to practice and practice a lot.

Is there any specific technology area you are looking for?


here is where i'm getting confused, what technology in java should a web programmer be good at. We use struts, jsp in our applications. I understand them but definitely not a master of em. At the end of couple of years as a JEE programmer what technologies should he be knowledgeable of?
I understand that it varies but there should be some expectation that a 2 year JEE programmer should satisfy, could you please name them?

@Pat Farrell
I'm preparing for my SCJP and gotta say nothing confuses me as Generics does.

@red
Also, continuing education. Get books and read them. Since you didn't take a Com Sci major, consider at least taking some classes, if not obtaining a second degree. Challenge yourself. Don't get complacent doing only one thing (like web programming). Try to work in many different areas of software engineering. Seek out these new positions and try to excel at them, don't wait for them to come to you.


That is a nice post Red. Definitely motivated me to challenge myself. I was down and out after a not so good experience with my programming skills.

@Pat
How about a MS in software engineering? Even though the syllabus isn't about programming languages, its all about process and stuffs practiced in IT companies. Do you think it will be an added advantage?

@Masi
But you meaned solutions and vaious api knowledge, isn't it?

Yes that is exactly what I meant ! Java apis are huge. Most of the times I don even know such APIs exist. Google helps me out. Anyway how do you guys manage to remember the API's? Should we read the specifications for each APIs? Which are the best resources to get a hold of most, if not all APIs in Java especially the ones related to web programming?

@Hill
Good one ! I'm sure a newbie. But thanks for pointing it out. Won't repeat it.


Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

@Pat How about a MS in software engineering?

Well.... when I was in grad school, we CS folks would joke over our beers about where was the engineering in Software Engineering.

I think a lot of consulting companies love folks with a MS SoftwareEngineering. It really depends on what you want to do.

There is a serious problem that "software engineering" does not meet any of the standards for a normal Engineering degree. In the US, you can not get a "Professional Engineering" license in software engineering. You can in many other fields such as Electrical, Mechanical, Civil, Structural, etc. In fact, its is technically illegal to use the name "Engineering" in a company name if all you have is a Software Engineering degree. Thus "Anand Engineering" would be an illegal name.

This is not so say that all software engineering is smoke and mirrors, but as a field, its not at all established. Much of the problem is that there are no credible engineering metrics for software. There is no law like V = I R, or F = M A. It is impossible to estimate how much a software project will cost, or how many months it will take, or how many engineers should be on the project. Its an art, not a science.

If I had a EE and was looking at software as a young engineer, I'd be all over embedded systems. Connect sensors to computer and the computer to networks. Its fun and I bet that is the big growth area. At the Google IO 2011, they announced an Android hardware accessory kit, so you can connect your Android phone or tablet to an Adruino and control things. Its extremely cool. Google for the video. Also look at dyidrones.com, they make autonomous flying drones that can carry cameras, air sensors, etc. and all for a very small price. I'd run as far away as fast as I can from the whole IT space, with front end software talking to beans and that talking to a RDBMS.

All IMHO, YMMV, etc.

Vijitha Kumara
Bartender

Joined: Mar 24, 2008
Posts: 3817

We use struts, jsp in our applications. I understand them but definitely not a master of em. At the end of couple of years as a JEE programmer what technologies should he be knowledgeable of?

Well, If you know one web framework (Struts in this case) it's not hard to learn any other of the same kind. But more importantly if you know the basics of web application development in JEE (Servlet, Jsp, JSTL etc...) very well then it's not hard to learn any web framework either because they are the fundamentals for these frameworks.
I understand that it varies but there should be some expectation that a 2 year JEE programmer should satisfy, could you please name them?

I'd say just understand the basics of web application development very well as I said above.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Anand Athinarayanan wrote:I understand that it varies but there should be some expectation that a 2 year JEE programmer should satisfy, could you please name them?

I believe that this request is impossible to answer in general. While Struts is popular, the next gig may use something else. Similarly, Hibernate is popular, but there are literally hundreds of other ORMs in use.

One of "Java: the bad parts" is that there are so many frameworks and libraries, many of them very complex and hard to learn, and there is no guarantee that if you spend a year learning how to be really good at one, that your next gig will use it. Life would be a lot better if there were fewer frameworks, but all of them have good and bad points, so we keep searching.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Java for Programmers from a non-computer background
 
Similar Threads
1. Am I too old? 2. Will Masters degree help? 3. Best technical school
Guidance required to help me train myself from a amateur to expert!!!
Java community took Java too far?
Java career tracks
NEW CERTIFICATION EXAM: Java Associate's Wanted