• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Tim Cooke
  • Devaka Cooray
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
Bartenders:
  • Carey Brown
  • Roland Mueller

Steps to help someone decide if he/she has the aptitude to be a developer?

 
Ranch Hand
Posts: 257
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Intro - Before you think of doing CS, Java, C++ or anything of that kind, judge yourself.

Step 1 - Try doing some puzzles like the ones asked in interviews at Google, Microsoft etc. You don't have to do many in one day, do a 100 - 200 over a couple of days. Sample here - coin puzzle,
horse puzzle

Step 2 -
- 2.1 If you do well (say 70% or above), you might have the aptitude. Go ahead ! You are probably smart and can do great things.
- 2.2 If you do badly (50% or less), you might not be able to make it big in the industry. Maybe you should not do that CS degree.
- 2.3 If score "in between", then take a risk. Go into development.

If you're not sure that programming is your thing, then is the above way a good way to help you decide ? If not, then why ? If maybe, then what can be added to the above steps ?

 
author & internet detective
Posts: 41967
911
Eclipse IDE VI Editor Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I strongly disagree. How you do on those puzzles often depends on whether you have seen them/similar ones before. I certainly didn't see the "divide into three groups" the first time I saw it many years ago.

If you enjoy figuring things out, you likely have the aptitude to be a developer. I'd argue enjoyment of sudoku is a better determining factor than brain teasers. It uses patterns, patience and being methodical.
 
Sheriff
Posts: 67750
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I could not agree more with Jeanne. I think that brain teasers suck as a measure for anything but how you do on brain teasers -- or how big your circle of friends is.

Reminds me of back in the dot-com days when there was a lot of interviewing going on, and in Austin, being a relatively small (but vibrant) city, it wasn't long before all the brain teasers that were being asked were pretty much known and passed around among friends. Interviewing at the companies that liked brain teasers (and brain teasers were very popular) became a game of pretending you didn't know the answer, and trying to impress the interviewer with how you worked through "the problem". What a farce.
 
Andy Jack
Ranch Hand
Posts: 257
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jeanne Boyarsky wrote:I strongly disagree. How you do on those puzzles often depends on whether you have seen them/similar ones before. I certainly didn't see the "divide into three groups" the first time I saw it many years ago.

If you enjoy figuring things out, you likely have the aptitude to be a developer. I'd argue enjoyment of sudoku is a better determining factor than brain teasers. It uses patterns, patience and being methodical.



But Jeanne, it becomes so repetitive after a while. Same rules, similar logic. Everything is expected. IMHO, it is good to do different kinds of puzzles, esp the ones you have not seen before. I did sudoku of various difficulty levels
fro a month or two and got bored.
 
Andy Jack
Ranch Hand
Posts: 257
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Bear Bibeault wrote:I could not agree more with Jeanne. I think that brain teasers suck as a measure for anything but how you do on brain teasers -- or how big your circle of friends is.

Reminds me of back in the dot-com days when there was a lot of interviewing going on, and in Austin, being a relatively small (but vibrant) city, it wasn't long before all the brain teasers that were being asked were pretty much known and passed around among friends. Interviewing at the companies that liked brain teasers (and brain teasers were very popular) became a game of pretending you didn't know the answer, and trying to impress the interviewer with how you worked through "the problem". What a farce.



Well then, the companies should try to come up with new/different puzzles. I know it can be hard generating so many puzzles for so many interviews. But, there are so many smart people in big companies. So, it should not be too hard to generate new puzzles.
 
Rancher
Posts: 2759
32
Eclipse IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would rather spend time coming up with fizz buzz challenges. Here's how you test whether the person has the aptitude to code:- you ask them to code!
 
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm not so convinced that well chosen puzzles can't show the right sort of aptitude. But Jayesh is right. There's little point using a puzzle as a substitute for finding out if someone can program when it's just as easy to test them on programming. Why approximate when you don't need to?

If you're genuinely trying to identify aptitude before the person has been exposed to any programming then there might be a role to play. But it would be unusual for that to be relevant to a job interview.
 
Enthuware Software Support
Posts: 4857
54
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
One of the reasons puzzles are common in campus recruitment in India is because many companies hire candidates from non-computer science branches. I remember during my time, many IT companies hired huge number of candidate from Chemical, Metallurgy, and Mining branches. Now, even though these guys didn't know how to start up a computer, they were still the brightest brains in the country (mine was one of the top engineering institute in the country).
So recruiters didn't know anything about say mining and the candidates didn't know anything about computers. So solving puzzles was a common ground. Of course, there was no internet at that time so nobody had seen those puzzles before.
 
Jayesh A Lalwani
Rancher
Posts: 2759
32
Eclipse IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, I was one of those people who participated in one of these IQ based campus recruitment tests in 95, even though I was in the last year of Computer Science degree. In my last year I had actually started working at a company as an intern. So, I was programming professionally part time. I flunked the recruitment test because it was full of questions that were based on mathematics that I hadn't touched in years. That was fine, because I already had a job lined for me. It was just a little weird to be shut out of a programming job, when I was programming much better that 95% of my classmates. All through out the test I'm thinking, I wish they would ask me to write a program to solve this stupid permutation problem. I could brute force the shit out of it

Years later, I was in the US, thinking about going into business school. I prepared for the GMAT, which has similar mathematical aptitude tests, and scored 95 percentile on the same tests.

In a nut shell, these IQ tests are as much as a test of preparation and practice as much as mathematical aptitude.
 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Andy Jack wrote:But Jeanne, it becomes so repetitive after a while. Same rules, similar logic. Everything is expected. IMHO, it is good to do different kinds of puzzles, esp the ones you have not seen before. I did sudoku of various difficulty levels fro a month or two and got bored.


Alternatively you could practice programming for a month or two, instead of sudoku, and demonstrate your aptitude for programming that way. You could learn a lot of basic Python or Java in a couple of months...
 
Andy Jack
Ranch Hand
Posts: 257
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jayesh A Lalwani wrote:I would rather spend time coming up with fizz buzz challenges. Here's how you test whether the person has the aptitude to code:- you ask them to code!



Thanks I never knew what that was. Here is an example. I doubt if Java will be the best way to do it. To much housekeeping code. Python then ?
 
Andy Jack
Ranch Hand
Posts: 257
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Paul Anilprem wrote:One of the reasons puzzles are common in campus recruitment in India is because many companies hire candidates from non-computer science branches. I remember during my time, many IT companies hired huge number of candidate from Chemical, Metallurgy, and Mining branches. Now, even though these guys didn't know how to start up a computer, they were still the brightest brains in the country (mine was one of the top engineering institute in the country).
So recruiters didn't know anything about say mining and the candidates didn't know anything about computers. So solving puzzles was a common ground. Of course, there was no internet at that time so nobody had seen those puzzles before.



Wow, this is not exactly related to the post. But I am quite surprised to know that so many non-CS guys are put into IT jobs. What kind of positions do they get employed for ? I hope its not programming intensive positions ! But, if they do, then what kind of training do they get ? Do they do some kind of Crash Course in CS for like 3 months to 1 year ? Makes me wonder why should there even be a CS dept in colleges when almost anyone can get into IT.
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Andy Jack wrote:But I am quite surprised to know that so many non-CS guys are put into IT jobs. What kind of positions do they get employed for ? I hope its not programming intensive positions ! But, if they do, then what kind of training do they get ? Do they do some kind of Crash Course in CS for like 3 months to 1 year ? Makes me wonder why should there even be a CS dept in colleges when almost anyone can get into IT.


Oh boy, Andy, you're opening a can of worms there!

I have been programming (mostly database applications) for about 25 years, but my first degree was in German (I did another one in GIS later on). I seem to have managed to keep up with (and frequently out-perform) most of my CS-graduate colleagues during that time. True, there are areas where I have to do my own research periodically because I don't have their in-depth college background, but then most of us seem to be learning on the job pretty much constantly anyway in this industry. And I never met a CS graduate yet who learned anything significant about databases in college anyway.

I'm obviously far from objective here, but I've heard plenty of suggestions from wiser heads than mine that a CS degree is not necessarily an ideal preparation for a career in many sectors of the IT industry. Steve McConnell (who wrote "Code Complete") famously argued in favour of software engineers not computer scientists, and many people in business complain they can't find technical recruits with any business sense or domain-specific knowledge.

So it's true that someone like me is never going to get a job at Google, but then I've also seen plenty of clever CS grads who'll blow your entire project budget tinkering with hand-crafted sorting algorithms or concocting baroque architectural monstrosities without ever delivering a line of working code. IT is a huge industry with a huge range of niches to fill (including an apparently insatiable demand for architects to add much-needed complexity and costs to over-performing projects ) so there ought to be plenty of room for a variety of backgrounds.

A CS degree is one way to become a good software developer, but it's neither a necessary nor a sufficient condition for doing so.
 
Rancher
Posts: 4804
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Andy Jack wrote: But I am quite surprised to know that so many non-CS guys are put into IT jobs. What kind of positions do they get employed for?



You should not be surprised. Its has been happening since the 1950s. Back then, nobody had a Computer Science background, there was no computer science.

When I was an undergraduate in the early 70s, the university (a big, serious science and engineering university) did not offer a Computer Science degree.

Folks with both Mathematics and Music degrees have traditionally done well in this field. I understand why Math works, but never quite figured out why Music majors tend to do so well.

Contrary to what you seem to have been told, after the first year, 90% of what you do is not what you learned in college.
 
Pat Farrell
Rancher
Posts: 4804
7
Mac OS X VI Editor Linux
  • Likes 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

chris webster wrote: I've heard plenty of suggestions from wiser heads than mine that a CS degree is not necessarily an ideal preparation for a career in many sectors of the IT industry. Steve McConnell (who wrote "Code Complete") famously argued in favour of software engineers not computer scientists, and many people in business complain they can't find technical recruits with any business sense or domain-specific knowledge.



Right. A CS degree is not that important long term. Business sense, human-to-human communications skills, and the ability to learn domain-specific knowledge are far more important than knowing something obscure, like how to implement an Iterator.
 
Bear Bibeault
Sheriff
Posts: 67750
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I've been in the industry for a long time and very few of the people I have worked with have had CS degrees. For anyone to think that not having a CS degree is an impediment at all is naive at best, and elitist at worst.
 
Sheriff
Posts: 17665
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I probably haven't been in the industry as long as Bear but I've been around for a while, too. I have a BS in Mechanical Engineering but have only ever worked as a developer. I don't know how it is these days but many of my contemporaries didn't have CS degrees either and many did fine. There are some folks I went to college with who graduated with a CS degree but eventually left the field to do other things; I even married one of them. Does having some CS theory help? Yes, I took some CS courses in college and I think some of the knowledge has been useful over the years. Is it necessary? IMO, no, a degree is not an absolute requirement nor do I think that having one is a guarantee that someone will do well as a developer.
 
lowercase baba
Posts: 13091
67
Chrome Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
There was a lengthy thread in our MD forum on the fizz-buzz challenge here.

I'm particularly proud of my perl implementation.

 
Jeanne Boyarsky
author & internet detective
Posts: 41967
911
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Andy,
I"m not saying Sudoku is useful for an interview. You originally asked about discovering if one will be good at development (presumably without programming.) By the time Sudoku gets repetitive, you've spent time on it and understood the patterns/logic. These are the skills and enjoyment that one uses in development.
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
To be honest I don't see any need for all these alleged proxies for determining your own programming ability - sudoku, logical puzzles etc - when it is so easy these days to access introductory materials for learning programming directly. Coursera, Udacity, EdX etc all offer free online courses in things like Python programming, you can find excellent free materials online to learn almost any language you care to name (and Linux will give you compilers/interpreters for all of them), and if you're an analogue old fart like me you can even buy those paper thingies, you know, "books" to teach you more. So if you think you want to be a programmer, you might as well start programming and see how you like it. It's much more fun than sudoku.
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pat Farrell wrote:Folks with both Mathematics and Music degrees have traditionally done well in this field. I understand why Math works, but never quite figured out why Music majors tend to do so well.


If you think about music and especially music theory, things like musical analysis, modulation/transposition, key/time manipulation and so on, then I think you can see where people might need skills in things like pattern recognition/manipulation, abstraction, and lots of parallelism. Maybe next time you need some complicated thread-based program fixed, you should look for a music graduate!
 
Jeanne Boyarsky
author & internet detective
Posts: 41967
911
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

chris webster wrote:To be honest I don't see any need for all these alleged proxies for determining your own programming ability


Agreed! Even before the internet, we played with logo (the turtle). (I suggested sudoku because I was working under a constraint that it had to be something other than programming.)
 
The only cure for that is hours of television radiation. And this tiny ad:
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic