PDA

View Full Version : About to Graduate in Comp Science. Any Advice ?



Shpongle
April 11th, 2011, 10:55 PM
Hi all , I am 2 months away from graduating from an honors comp science degree. Im just wondering if anyone can offer me advice based on experience in the industry.

I would consider myself a decent programmer , a natural , with a hacker (not cracker) spirit . I have experience with several languages and technologies.

I don't want to go into web despite having many offers, not that I have anything against it . I just enjoy programming (most of the offers so far have been java based). I feel I will improve my programming in software development.

I just want a job that I can get on with (code whats required and learn) and then learn my own stuff, refresh on c & assembly etc.


Any tips/advice you can give would be appreciated .

Im looking for answers to questions like

where would I learn more small / medium enterprises or Large ?
Do you have to take your job home with you ?, if so how often ?

KegHead
April 11th, 2011, 11:36 PM
Hi!

I found my BBA to be the entry to some pretty good jobs.

I would consider an MBA in MIS, it will take you a long way.

KegHead

Some Penguin
April 12th, 2011, 06:01 AM
Random bits.

* Don't forget the business side of things. Engineering talent is useful; engineering talent led by people who are clueless about running a successful business in the face of competition may still be doomed. Conversely, good business plans combined with mediocre engineering may also be doomed.

* Working in a start-up means you'll be wearing multiple hats -- a greater chance of having the opportunity and need to work on full stacks not only in the sense of "how much of everything are you writing from database schemas to service APIs", but also "how much of everything are you planning and designing ex nihilo".

* If taking your work home is a bad thing because you're not very interested in the work, you've found the wrong job. You should find something that's genuinely interesting and own it, and hold yourself to professional standards; and work with people who do likewise rather than having a "time clock" mentality. You and your co-workers will be happier that way.

ve4cib
April 12th, 2011, 07:23 AM
In my experience you can't really be too picky straight out of university. Whatever the first programming job you pick up is, it's probably not going to be your career. You'll probably change jobs once or twice, maybe even go back to school, take some time off to travel, etc...

I don't know how many jobs are out there where you'll actually be doing much C or ASM programming. Most programming jobs out there are for application developers, and those are typically done in Java, .NET, or are web-based.

I was rather much like you when I finished my undergrad; I really wasn't that interested in doing web development. But my first job out of university was with a startup that specialized in web-based GIS applications. It was actually a lot of fun, and I learned an awful lot after working there for about 18 months. (I quit to go back to school for my MSc.)

Web programming can actually be pretty interesting as it turns out. Dealing with the client/server synchronization issues, the extra layers of security, and the fact that any given application is likely to involve at least 2-3 languages concurrently makes it a surprisingly fun challenge.

So my advice is to keep an open mind. Don't look at job postings thinking "Do I want to work here for the next 30 years?" Look at the job posting thinking "Would I enjoy working here for the next 2-5 years?"


Small businesses/start-ups are pretty fun places to work. Because the staff is so small you have the opportunity to do a lot of different jobs. Everything from your regular coding job to working directly with clients, to managing the in-house servers, etc... In a small business you're a big fish in a small pond. The benefits often aren't great, but the work itself is pretty varied and it's a great way to build up a diverse set of skills.

On the other hand, working for a large corporation can be a bit daunting. Starting off you are the lowest-ranking person on a payroll of thousands. You are assigned your anonymous little cubicle and expected to do one job day after day. The benefits and pay are typically better than a start-up, and there's more room for advancement up the corporate ladder, but it can be a little rough and tedious when you first start off.

deathadder
April 12th, 2011, 09:20 AM
My advice is very similar to ve4cib, I graduated in 2008 and started looking for all of the interesting jobs that I wanted to do, however everything need 2 years of X language etc.

So I ended up getting a programming job with a good company while still working on open source stuff. After 2 years, I started looking for a more permanent position, I was able to point to 2 years professional experience and a group of projects I've helped with.

Being a well rounded individual helps too, knowing everything there is to know about Java / C / C++ / C# / what ever is very useful. But knowing how business work, and demonstrating you understand how business can place limitations on development will help distinguish you from other grads.

On that note, being able to demonstrate interests outside of computing helps, my employer was very interested in the charity work I do and how I managed to get my computing known involved there, I built and maintain their website and I'm not employed as a "web developer".

fct
April 12th, 2011, 09:46 AM
IMO small/medium enterprises have a more relaxed environment, plus it's easier to move to different departments learning on the go.

Also, you should avoid taking your work home with you save for deadlines.

In my case I started as an intern in 2007 and have moved from C/C++ programming for UNIX and a little for Windows to J2EE development. Around 200 employees and lots of courses for new technologies. I've also recently set up the VPN in case I need to work from home (serious deadlines approaching...)

And also never underestimate social networking plus adding value. I suggested a move from CVS to Subversion and in the end was the one in charge of the setup + migration, which made me score some points with other depts. that now use it to keep track of config changes.

Grenage
April 12th, 2011, 10:01 AM
where would I learn more small / medium enterprises or Large ?
Do you have to take your job home with you ?, if so how often ?

Usually - you can be a 'bigger' man with a smaller salary in a medium company, or a 'smaller' man with a bigger salary in a large company. Smaller firms tend to be more relaxed and you often get more free time, which can be a good or bad thing.

As for your first job, take whatever comes along and looks interesting to you; get as much experience as is possible in the field you want to work in. It's only your first job, and you'll probably have many!

Shpongle
April 12th, 2011, 11:19 AM
Thanks for the replies guys. I appreciate it , it helps to get some perspective. Ill keep an open mind and see what happens

slavik
April 13th, 2011, 08:20 AM
some terms to understand:

wearing multiple hats - you will be doing a lot of different work that is probably not related, as in doing what you know and doing what you don't ... a lot.

fast paced environment - you will get a lot of thankless work. count on it.

someone who can hit the ground running - we want to pay someone college grad salary with the skill and knowledge of someone working with the exact unknown app/software/system for 5 years.

As far as your developer career if that's where you are definitely going. If you don't understand the system for which you are coding (jvm, .net virtual machine w/e, cpu arch for assemly, etc.) then you are already a failed developer. I will not even begin counting the times when java developers do something stupid with database access or memory usage which turns into outages. Being a good developer who writes scalable code is difficult and at this stage of your career, you are definitely not it.

Personal advice from me:
Consider learning about middle ware which can get you into system administration work. There are countries that can produce more developers with equal skill that would be paid much less. But someone near the physical equipment will still have to take care of it. Besides, companies love 'on-shore' staff. :)
Don't work in a financial company ... unless you want to rake in the dough and not have a life.

DarkHackerX
April 29th, 2011, 05:59 AM
Apply, apply, and apply. The more places the better.

simeon87
April 29th, 2011, 09:13 AM
Also, be selective about where you want to work. Don't let a recruiter match some keywords on your resume with the desires of your potential employer but make sure that you want to work there yourself.

You have to choose a company that furthers your career. Try to learn something new: many graduates lack knowledge about large-scale systems because they don't teach that. However, that's where the interesting challenges are: how to run a system with millions of users, for example? This is just an example, although many web-oriented companies are indeed facing these challenges.