This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Jobs Discussion and the fly likes MS or Job? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "MS or Job?" Watch "MS or Job?" New topic
Author

MS or Job?

Vishwanath Krishnamurthi
Ranch Hand

Joined: Jun 04, 2007
Posts: 331
Hi,

I am doing Btech in Computer science in India and I'd be finishing it next semester. I got placed in the campus recruitment but it seems like it'll take about a year(after I finish the college) before I'd be called in...

I am really confused now, about what to do...

Options:
1)Prepare for GRE and do MS in US (or)
2)Wait for the call and be looking for other jobs(off campus) meanwhile

Help me decide between the two please....

(I wasnt very keen on doing a MS and thought I would rather do some certifications during the time that I wait for the call... I have given SCJP before and could go for SCWCD or SCEA... but it sounds now meaningless to do it before even being in the job...)

I'd also like to have your thoughts on MS vs Certifications please...

(I find software architecture to be very interesting... would like to know if a certification (like SCEA) would be better off than a MS in software-engineering...? )

Thanks,
Vishwa


Blog
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
I am doing Btech in Computer science in India and I'd be finishing it next semester.


What is a "Btech"?

1)Prepare for GRE and do MS in US (or)


How about preparing for the GRE and looking for a job at the same time. If you find a job, then you can work and continue preparing for the GRE.

Technical certifications augment the education received in academic institutions. They are not a replacement. There are many things that are taught and learned in Master degree programs, that are not part of any company's certification exam.

However, in order to use this knowledge you must have a certain level of dedication and discipline to make it work for you.

I find software architecture to be very interesting.


Please explain what you mean by this. What about software architecture is very interesting to you?
[ October 14, 2008: Message edited by: James Clark ]
arulk pillai
Author
Ranch Hand

Joined: May 31, 2007
Posts: 3220
Try to get some hands-on experience in your chosen field. No academic qualifications can match this. Here are a few options


-- Try voluntary work through a number of different avenues. Voluntary work shows commitment and initiative, even if it is not mentally stimulating. It can increase your industry knowledge, give you the much needed hands-on experience, and give you something to write in your resume without any prolonged gap of employment. Since applying for a proper full-time position can take up some time, you could start working voluntarily 2-3 days a week. On the more positive side, while gaining hands-on experience and learning on the job, you will likely uncover paid opportunities by being an excellent contributor with enthusiasm and personal growth or by networking with similar professionals you would not have met otherwise. Voluntary work is generally a win/win situation for both the employer and the employee. Smaller companies are more likely to offer voluntary work.

-- Contribute to open-source projects to gain much needed hands-on experience in sought-after technologies and frameworks. The choices are plenty ranging from widely used products such as NetBeans, Eclipse, GlassFish, etc to smaller hobby projects, which have been open-sourced by their developers. How do you benefit from open-source project contributions?

==> Gives you a pretty good big picture of different technologies, tools & frameworks used in a typical application. A typical Java application uses eclipse or NetBeans, Java, JUnit, Log4j, Ant, Maven2, Spring, Hibernate, Apache commons library, etc. Try to analyze and understand how all these pieces fit together.

==> You get to read a lot of code and learn from it. You can not only learn the best practices, but also can learn to identify potential issues.

==> Write your own small programs just to learn the language and libraries (APIs) used in the open source projects. For example, Java APIs and Apache commons library that has very useful utility methods such as StringUtils, CollectionUtils, MapUtils, BeanComparator, Validate, etc. Observe the coding and formatting standards.

==> Learn how to use the tools like CVS, SVN, Eclipse, Maven2, Net Beans, etc.

==> Experiment by making changes to your local copy of the code. Try going through JEE deployment descriptors, Spring, and Hibernate configuration files to understand how different pieces are wired up.


-- Self-taught projects and tutorials to build up confidence and acquire some level of experience with the sought-after technologies and frameworks. At times, open source projects can be a bit overwhelming for some beginners. You could take up some self-taught projects by using sought-after technologies and frameworks. While this can be an easier option, it is not easy to be disciplined and looks less impressive on your resume compared to open-source contribution. Having said that, this option is better than not doing anything at all. It at least, shows commitment and initiative with some level of familiarity with popular technologies and frameworks. Improve credibility by providing your URL or mentioning availability of your source code. What is even better is that, if your self-taught project is based on a creative idea and if you think it can be useful to others, you can open-source it or even try selling it.


Once you gain some experience, you will be in a better position to decide what you want to specialise in.

[ October 14, 2008: Message edited by: arulk pillai ]

[ October 14, 2008: Message edited by: arulk pillai ]
[ October 15, 2008: Message edited by: arulk pillai ]

Java Interview Questions and Answers Blog | Amazon.com profile | Java Interview Books
Vishwanath Krishnamurthi
Ranch Hand

Joined: Jun 04, 2007
Posts: 331
Hi,
thanks a lot, both of you, for explaining so much... (wish i could've thanked you in time but was away from net for so much time...)

What is a "Btech"?

Btech stands for Bachelor of technology, like the BS in US...

How about preparing for the GRE and looking for a job at the same time. If you find a job, then you can work and continue preparing for the GRE.

-Yes, this is what a few others are also advising me to do and i'm thinking about it...

I find software architecture to be very interesting.
- I have a course on "software architecture" this semester and it talks about how an architect would have to make so many design-decisions to meet up with the various requirements... like how he'd have to see a big picture of what the various components should be and how to fit them....

I'd like a career like that but don't know how I should go about to have such a career... (I hear that an architect doesn't code much but as a fresher in a company i am expected only to code... )


However, in order to use this knowledge you must have a certain level of dedication and discipline to make it work for you.

-Can you please clarify this?

Try voluntary work through a number of different avenues.
I've got an internship in a company and that would require me to learn and work on Hibernate technology.... I'm looking forward to doing that next semsester

I didn't know about open source projects before and thanks a lot for telling me about it....
Gives you a pretty good big picture of different technologies, tools & frameworks used in a typical application.


I wouldn't mind spending hours and hours to finally see such a big picture


Thanks,
Vishwa
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
Btech stands for Bachelor of technology, like the BS in US...

BS = Bachelor of Science

I'd like a career like that but don't know how I should go about to have such a career... (I hear that an architect doesn't code much but as a fresher in a company i am expected only to code... )


One path to a career as a software architect starts with being a programmer. As a programmer, you will write code and typically be "supervised" by a senior developer or software engineer. After a few years, and as you learn more, and develop communication skills, you may become a senior developer or a junior software engineer. After a couple of years in either of these roles, if you can teach effectively (mentor) and speak well and write well, and know the ins-and-outs of various programming paradigms and methodologies, you might be be able to attain a software architect's position. This might take between 8-10 years.

As an architect, I write the code (multiple programming languages) of prototypes based on my designs. I pass the code off to programmers and they continue programming, testing, and do integration work. I never touch the code once it goes into their hands. Testers and the developers put the programs and services into production.

The most important aspects of being a good software architect, in my opinion, is the ability to teach and strong leadership skills. To be effective, especially in large groups, an architect must be respected. He/she must be able to effectively guide the developers, and this requires a certain level of respect and confidence. By holding an advanced graduate degree and effectively using the the knowledge that comes with the degree, you can foster and instill respect and confidence.

Good luck!
[ October 24, 2008: Message edited by: James Clark ]
Billy Tsai
Ranch Hand

Joined: May 23, 2003
Posts: 1304
but for one to become an architect does one really need an advanced postgraduate degree?


BEA 8.1 Certified Administrator, IBM Certified Solution Developer For XML 1.1 and Related Technologies, SCJP, SCWCD, SCBCD, SCDJWS, SCJD, SCEA,
Oracle Certified Master Java EE 5 Enterprise Architect
arulk pillai
Author
Ranch Hand

Joined: May 31, 2007
Posts: 3220
Why would that be? All you need is lots of experience, good technical ability and excellent soft skills (especially good communication, interpersonal, analytical and problem solving skills).
Bobby Sharma
Ranch Hand

Joined: Mar 18, 2008
Posts: 574
    
    1

Originally posted by arulk pillai:
Why would that be? All you need is lots of experience, good technical ability and excellent soft skills (especially good communication, interpersonal, analytical and problem solving skills).


Sure thing


Back to Java , again.
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
but for one to become an architect does one really need an advanced postgraduate degree?


Billy, there are many ways that one can become a software architect. So, to feel that one "needs" a graduate degree is not correct.

Learning the concepts that are taught in degree programs will help and is a big plus. However, one can certainly do without the degree. As I mention, there are many pathways. Going through a degree program is a "great" route.

arulk pillai's response above is very concise.

Completing a degree program takes dedication and dicipline. It gives you the opportunity to learn from experiences, e.g. the professors, and to interact with others, e.g. fellow students, in a productive environment.

When you combine this experience with your work experience, you easily grow and strengthen the ability to "engineer" complex software systems. Note, I'm not talking about mom and pop marketing websites with a few forms and graphics.
Vishwanath Krishnamurthi
Ranch Hand

Joined: Jun 04, 2007
Posts: 331
Hi,

I am just curious...

As an architect, I write the code (multiple programming languages) of prototypes based on my designs


Is it that an architect has to be very open to learning... like not stick with just one programming language...

Thanks,
Vishwa
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
Interesting curiosity. I would say that everyone should be open to learning. In today's environment, new technolgies are created very rapidly. Some of them are good and some are bad. Learning how to effectively use the good ones is very important. This knowledge typically strengthens the ability to design new large-scale systems and work with software systems that have been around for decades.

C, KornShell, Visual Basic, Perl, PL/SQL, Cobol, Transact-SQL, C++ are very powerful languages. One should not limit themselves to knowing how to code with one language, if they fancy a solid career in software development.

A lot depends upon what you are exposed too and what makes the most sense for your situtation. Looking back, I cannot remember any system that only used one programming language.
[ October 25, 2008: Message edited by: James Clark ]
Bobby Sharma
Ranch Hand

Joined: Mar 18, 2008
Posts: 574
    
    1

Originally posted by James Clark:

C, KornShell, Visual Basic, Perl, PL/SQL, Cobol, Transact-SQL, C++ are very powerful languages. One should not limit themselves to knowing how to code with one language, if they fancy a solid career in software development.

one programming language.



How about Python,Ruby and C#?

best regards,
omi
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
How about Miranda or Haskell?
[ October 26, 2008: Message edited by: James Clark ]
Bobby Sharma
Ranch Hand

Joined: Mar 18, 2008
Posts: 574
    
    1

Originally posted by James Clark:
How about Miranda or Haskell?

[ October 26, 2008: Message edited by: James Clark ]


How about Mercury ,ADA ,Objective C, Jovial ,x86 assembler?
 
GeeCON Prague 2014
 
subject: MS or Job?