what to do!!!!

what to do!!!!

This is to all brothers and sisters in the industry.
After two years in the university i have gained some knowledge only on two programming languages(not that we know it enough, but can manage some thing), namely Java and PHP. I don't think that is adequate enough. We don't know any thing about microsoft technologies(some body said that it is like having one eye to see the world). And even if we know the programming language most of us are not capable of designing a complete system. Only during implementation we identify that the design is incorrect or its impossible to do it that way.
Ok. So where are we compared to where we should be. What languages should we learn before going to work. For web its PHP, JSP or ASP. Then Is it Java or C# or .net. What should we spend our free time more on. And what about mysql and Oracle? I hope this question is not too late!!!!!


Yes, I'm also having the

Yes, I'm also having the same problem. Somebody please reply...

 

.:Shaakunthala :.

Few things to do....

As UCSC students, a big blind mistake we are doing is forgetting the Microsoft technologies. Though I ' m also a fan of Open Source world, it is not a dis-advantage of studying .net technologies.

Nobody will teach you this, you have to learn by your own. Please join with the .net forum and their monthly knowledge sharing sessions. Automatically, you could earn big knowledge from their monthly sessions, go and participate it is free. If you are a fond of Java, you can easily go with C#.net also without forgetting the java side. My opinion is be in touch with both. Because it is not hard that much.

 

Most Important


===========

Software Engineering is not just learning languages. Designing is the ladder in Software Engineering to go up. That is a thing that can't be taught, you should get that specially form you, by digesting the designing by doing.
Read what ever you get about Software Architecture and Design Patterns. Always practice by doing small development with a good architecture and design.By practice only that is coming to you. Once I have uploaded some good books on this topic.

 

Be in touch with the out-side world knowledge, not with the syllabus, that is not the latest, because always we are on few steps back from the real world.

My two cents...

Just to add a few things to what Kasun mentioned...

First of all, I'm very glad that at least some of you are thinking ahead of time and talking about using your free time for some useful purpose. I wish we had this enlightenment when we were at our first or second year at the university.

I'd like to answer Kanishka malli's question in a much broader manner and take your attention in a different direction since you seem to be interested in planning ahead. I think there are several viewpoints from which you can see this problem depending on the path you wish to take in life. As far as I see, there are two major paths that students take when they reach the latter parts of their undergraduate degree. The majority would plan to get a good job straight after the degree and get involved in the industry while a small number would think about going further and doing higher studies in hope of getting involved in the academia or pursuing a research career.

So for those who are set on the idea of setting foot in the industry, my advice is to be firm on the software engineering basics. From my experience, you do not need to be masters of all the programming languages out there but you need to be a master of the basic concepts behind good software engineering practices if you are to succeed in the industry. I highly recommend what Kasun mentioned about the design patterns and OOP concepts since knowing all the programming languages from the surface would not benefit you as much as it would benefit from a strong knowledge in the basic concepts of software engineering. So master one programming language, may be one scripting language, but it is not necessary to know all the languages out there, and frankly, it is not possible too. When you know the basics like design patterns and OOP concepts it is very easy to transfer from one programming language to another. For example, a person who has a very thorough knowledge in Java would take very little time to adapt to the .NET environment and vice versa. In fact, when you go for interviews for the industry placement it is better to have a sound knowledge of the concepts rather than memorizing C# or Java class libraries. At least this was the experience we had when we went for interviews during our placement tests. You also need to have a good understanding of the database concepts. Again, it doesn’t matter whether you are a pro in MySQL or MSSQL, since if you know the concepts behind good database designs etc, it is very easy to transfer yourself from MySQL or MSSQL or vice versa (or oracle or any other DB management system for that matter). But learn the basics. You do not need to know everything, and you can’t.

Then again, it is always nice to let the industry know that you are the tip of the ice-burg. Let them know that you are aware of the up-to-date technologies. For example, the stuff like Flex, SharePoint, WCF are hot words in the industry these days. It wouldn’t hurt knowing these things but like I said, have a solid background at the conceptual level and you’ll be able to master any of these in quick time. And of course, the industry people will acknowledge that. It wouldn’t take even a day for someone with good markup skills to be a master in flex. Hope you guys get my point. So my advice for industry-eyeing people are; master one language (programming, scripting etc but in different domains); be the best at it; have a good awareness to what is going on in the industry; but above all, learn OOP, design patterns and other conceptual things in software engineering. You do that and you’ll be fine. One last word, have something solid to show at the interview, like a project you were actively involved in. The third year group project would be the ideal opportunity. Do something substantial individually in that project that you can proudly speak of during the placement interview.

Now for some advice for the minority. Those who are willing to go beyond a bachelor’s degree and do something more than software developing.

There are so many opportunities in terms of higher studies that most students are not aware of, at least not until they are too late. In every batch, only a handful will go on in this path and I think most deserving students are missing the opportunity simply because they are unaware of these opportunities. If you are planning to do higher studies after the undergraduate degree, this is the best time to start planning. Don’t wait till the end to plan for these stuff and you will feel you were too late.

First of all, have a feel for it. Ask yourselves what you want to be in life. Do you want to go into the industry or do you want to take another path and do something different in life? Do you like to program the existing stuff or do you like to research and find new knowledge? Do you like to teach or be taught? These are some of the questions you should ask when you plan your life beyond the undergraduate. Depending on where your interests are you would prefer the industry or research.

So if you are interested in doing computer science research and continue that path, my advice is, have a strong background in computer science theory. This time I’m not talking about design patterns or OOP techniques (of course these are important). But especially, have a very strong mathematical background. Have a thorough understanding of basic computer science theory such as computer architecture, operating systems, automata theory, algorithms etc. This might seem obvious to some of you but when you reached a certain level you get the understanding that most of the time we spent in university was one big lie. We take CS people from a strictly mathematical background but I hardly feel that it is of any use. Our mathematical knowledge is being blunted through our very own CS degree. (This curriculum argument has been dragging for a long time so there’s no point in talking about it but to take care of our knowledge ourselves). So please have a strong mathematical foundation. Look for other resources to fulfill these needs.

Students have all sorts of wrong impressions about higher studies. Most feel a PhD means becoming a geek and teaching the rest of your life. This is not necessarily true. There are so many avenues you can take after higher studies. Some feel higher studies cost millions. This again is not true. You may be well off doing a PhD degree rather than doing the most lucrative software engineering job. For a start, I suggest everyone take a look at this link.

This reply is getting out of hand. I will start a new forum thread on higher studies as soon as I finish my examinations this time. Hope everyone can participate in that too. However, for the time being, my advice to you is learn the basics and don’t try to run after every technical detail you see or you won’t do anything right. It doesn’t matter if you are targeting a career in the industry or in the research and academic arena, knowing the basics always helps. Till then, study hard and be cool.

Thanks

Thank you,Dilunika aiya and Lalindra aiya, for the great advice. I think we should focus on the problem more because there is a huge gap between what we might be in another 1 year and what we should be.

you ar true.

yes machan ,but machan as i think if you know at least one language ,it is easy to learn another language. just spend some time with codes and there are so many online tutorials and helps.
so u can use them all and easily u can learn.
but the problem is practical knowledge.
as i think machan we must be the expert of Microsoft product. bcoz 90% of coverage is there.