JOIN
Get Time
forums   
Search | Watch Thread  |  My Post History  |  My Watches  |  User Settings
View: Flat (newest first)  | Threaded  | Tree
Previous Thread  |  Next Thread
<< PREV    [ 1 2 3 4 ]    NEXT >
Re: Experiences with hiring... (response to post by jmzero) | Reply
At a company I interviewed with in the early 90's, when someone came in for an interview, the receptionist handed them a written test. The written test consisted of a single problem:

X^2 + 5X - 14 = 0

Solve for X.

If they could solve that, they got to talk to an engineer. If they couldn't, they were politely shown the door.

Only one person in ten got it.
Re: Experiences with hiring... (response to post by BradAustin) | Reply
Maybe my math is better than I thought.... I can solve that one!
Re: Experiences with hiring... (response to post by jmzero) | Reply
My tried and true (several times now) strategy for hiring: If you want someone who is competent in CS, hire someone with a degree in physics. If person speaks with a Ukraine accent _and_ has a physics degree, do not allow them to get out the door.

There is also a class of engineer I call "crusty old EE bastard" who works well (EE is electrical engineering degree). These are usually American.
Re: Experiences with hiring... (response to post by eraserhd) | Reply
I've always thought the following would make a good interview question:

Ask someone "Do you know the language Ruby? Ever used Lisp? What about toolkit XYZ?". Just keep asking until they go "Never used it" then put them in front of a computer with an internet connection and ask them to write a simple program (mean of a list for example) using said unknown. Substitute languages with any subset of computer software.

I've found that getting a job done is just as much about learning things you don't know, than it is doing things you do.
Re: Experiences with hiring... (response to post by tywok) | Reply
How is it in Warsaw? Is it hard to get a CS degree? As hard as a math one?

Much harder. Only a handful (150 or so) CS students from all over the Poland are admitted each year. When you come to school, you have to pick your major in advance. In Poland you can't study English first and then decide to go for CS major - you have to be focused on CS from the get go.

After that, there are 5 quite though years (most people take part in Masters program). Year 1 is mostly theoretical, after that there's quite a lot of programming. I can give you a list of courses I took during my studies (courses with "lab" in the name take place in the laboratory and give separate grade). Each course is semester-long. If a course requires more time, it's divided into smaller pieces.

Year 1:
- Analysis 1.1
- Discrete mathematics 1
- Linear algebra 1
- Introduction to programming 1 (in ML or Pascal)
- Theory of sets

- Analysis 1.2
- Discrete mathematics 2
- Linear algebra 2
- Logics
- Introduction to programming 2 + lab (in ML or Pascal)

Year 2:
- Algorithms and data structures
- Analysis 2.1 (for math degree)
- Databases
- Databases: lab (design and implement a web page with PL/SQL backend)
- Object-oriented programming
- Object-oriented programming: lab (design and implement a game in Smalltalk)
- Topology 1 (for math degree)

- Analysis 2.2 (for math degree)
- Low-level programming (a lot of programming tasks in assembler)
- Software engineering
- Software engineering: lab (design a complex system)
- Concurrent programming
- Concurrent programming: lab (a lot of quite tough programming tasks in C)
- Probability theory 1 (for math degree)
- Differential equations (for math degree)

Year 3:
- Algebra 1 (for math degree)
- Languages, Automatas, Computations
- Numerical methods
- Probability theory 2 (for math degree)
- Semantic and verification of programs
- Operating systems
- Operating systems: lab (large programming tasks, like design and implement ACL module for linux kernel, each of 4-5 tasks can take 1-2 weeks of hard work)
- Team project 1 (design and implement complex system in Java in groups of 4)

- Computer Networks (I had to write a P2P system, this year people are writing VOIP telephony system)
- Team project 2 (as above)

All of above are compulsory and have to be taken as listed. It's very difficult to pass operating systems or computer networks unless you can program reasonably well. Some people, when they come here, can't, but since the classes are compulsory, students can collaborate and exchange information and programming techniques as they learn them. It's invaluable when working on some obscure and undocumented part of Linux kernel.

Other compulsory classes which can be taken in random order:
- Artificial intelligence
- Artificial intelligence: lab (write speach recognition system, or sth like that)
- Programming in logic (Prolog) (mostly useless and despised by many, next year will be dropped out from this list)
- Compiler design
- Compiler design: lab (write a full compiler, this year for Javalette)
- Algorithmics
- Functional programming
- Functional programming: lab (write something that shows how cool ML is)

Apart from that, one has to take a number of free-choice classes. There's also physical education and some general education classes, but it doesn't matter here.

As you see, we have number of theoretical and programming courses. You have to do reasonably well in both. You can't pass a programming class without doing some actual work and learning something.

Our CS program is still evolving. If a course doesn't prove itself useful (like prolog) it can be dropped out. If students are unhappy with a teacher, he/she can be replaced.

Everything is flexible. For instance, if you don't like to attend classes, but do your homework and write programs, you're fine. Recently a smaller Polish version of MIT's OpenCourseWare hed been started and lecture notes for all compulsory courses are available online. Even before that, most professors wrote and published online their own lecture notes.

A large population of students take part in programming contests. It's a hip shot, but I'd say it's 30-40% of all students. It's even more popular among students that take algorithms and data structures course as if you do well, you'll get a better grade.

The best thing is that there are all these smart people around you that you can learn from.

I have to say that I learned quite a lot thanks to this environment. If you take a look at my rating graph, it reflects not only my TC skills, but my general programming skills as well.

I'm a double math/CS student - I picked math because I loved it and CS just in case, to have better chances for a good job. During my senior year in high school, when I took part in CS workshop of Polish Children's Fund where tomek was one of the tutors, I remember he was totally horrified when he saw some of the code I produced there :-) In Warsaw I learned so much I fell in love with CS so much that math can't even compete :-) That's what I meant by "lucky" in my first post - I wasn't being cocky, I honestly admit I would be much worse programmer (if at all) if it weren't for this environment and people that pushed me to get better and better.

[edit] Did I mention the education is free? In fact, good students can get more than Polish average salary in scholarships.
Re: Experiences with hiring... (response to post by Krzysan) | Reply
Wow. And now I understand why Google comes to Poland :-)
Re: Experiences with hiring... (response to post by Krzysan) | Reply
This list of compulsory courses is quite similar to the one used in Spanish universities, and, I assume, in most CS curricula in other countries. So I find it very hard to believe that anyone in posession of such a degree (however hard it was for him to obtain) could have any trouble with such simple questions as the ones jmzero posed.
Re: Experiences with hiring... (response to post by elhipercubo) | Reply
Remember that in the states, there is much more freedom in the educational system. If you are good, you can take a lot of courses. If you are lazy, you can take whatever you want. A friend of mine took for his last high school year: English (compulsory), Goverment/Economics (compulsory), Advanced Woodshop, Advanced Autoshop and a support course. That's a good life!
Re: Experiences with hiring... (response to post by Krzysan) | Reply
Come to think of it, I don't see any courses on electronics, logical design or computer architecture in the list. So, just out of curiosity, is the CS degree in Poland restricted to the more "theoretical" or "mathematical" part of computer science?
Re: Experiences with hiring... (response to post by elhipercubo) | Reply
Only in technical schools - it's more like CS/EE over there.

Why should software engineer from a university have to learn circuit design and so on? Computer architecture, on the other hand, is useful and taught with low level programming.
Re: Experiences with hiring... (response to post by Krzysan) | Reply
Com'on don't lie to them :)

First of all - it's much harder to get to Warsaw University, but once you're in, it's very easy to stay, especially if you pass first year.

Having spend about 10 - 12 hours per week on average for the first three years for the studies (including courses, doing programs and learning for exams), I don't think it's "hard".

Of course, there's a lot of here to do, but only if you really want.

Also we have too much thereotical stuff, there's lack of teaching programs architecture and design, but that's changing right now for better.

It's strange that whenever I can, I try to give my university bad name - maybe to balance out the things.

Hmmm... instead of TC I should take some good english lessons :)

Edit: Maybe I've misunderstood you a little (2am is not good)
Re: Experiences with hiring... (response to post by Psyho) | Reply
First of all - it's much harder to get to Warsaw University, but once you're in, it's very easy to stay, especially if you pass first year.

Depends where you're coming from. For me the first year was easy, but the workload increased significantly with time. Maybe that's because of the double degree program.

Also we have too much thereotical stuff, there's lack of teaching programs architecture and design, but that's changing right now for better.

We have three mandatory courses and a couple of free choice, I guess that's not bad. I agree that level of object-oriented programming class is not very high, but that's because you're expecting too much - this course is for people that don't know a thing about it.

It's strange that whenever I can, I try to give my university bad name - maybe to balance out the things.

If you don't like something, go and change it instead of doing something like that.
Re: Experiences with hiring... (response to post by Krzysan) | Reply
Well, I think a computer scientist should have a good grasp of how computers work, even if he's more software-oriented. I for one didn't enjoy my physics or analog electronics courses, but I found useful the ones on digital circuit design and the like, and I don't really see how computer architecture can be taught without these.
Re: Experiences with hiring... (response to post by Krzysan) | Reply
Depends where you're coming from. For me the first year was easy, but the workload increased significantly with time. Maybe that's because of the double degree program.


I was from mediocre high school, without any skills in math, and my programming level could achieved within a week. So I can say that I had almost none prior knowledge about things which I'll be studying in the next few years.

And about general hardness, I'm only talking about how much time do you need spend only to pass the exams - nothing more.

We have three mandatory courses and a couple of free choice, I guess that's not bad. I agree that level of object-oriented programming class is not very high, but that's because you're expecting too much - this course is for people that don't know a thing about it.


I definitely don't expect too much. We have tens of in-depth theoretical courses about almost everything. But for practical skills like designing applications there's almost none. Our university is just good at training low-level developers and scientists - nothing more.

If you don't like something, go and change it instead of doing something like that.


It's not that I'm whining about this. I'm just trying to tell that it's not just great / hard / interesting university as everyone might think, hearing this all great opinions.

But I can't deny what you've said earlier - we really have a lots of smart people here, to work with, or to give us motivation. If not for them (and for my love for competitions), I'd never start participating in TC (by which I mean participating in algorithm competitions).
Re: Experiences with hiring... (response to post by Psyho) | Reply
I definitely don't expect too much. We have tens of in-depth theoretical courses about almost everything. But for practical skills like designing applications there's almost none. Our university is just good at training low-level developers and scientists - nothing more.

You're really picking on this one, and you're not right. There are:
- oo-programming (compulsory, introductory course)
- software engineering (compulsory)
- team project 1 and 2 (compulsory)
- software engineering (seminar)
- software design in J2EE (free choice)
- secure design in Java (free choice)
- oo design of information systems (free choice)
- extreme programming (free choice)

and a bunch for designing [oo]databases.
<< PREV    [ 1 2 3 4 ]    NEXT >

RSS