View Full Version : Quality Programmers
Sam I Am
05-24-2012, 08:05 AM
There just aren't many of them. :laugh2:
We are a primarily Java shop. (our primary application is a JBoss cluster) We interview endless amounts of candidates and 98% don't fit and a huge portion don't even seem to be qualified to actually be programmers. We are even willing in some cases to hire someone with lots of aptitude and concept understanding, but maybe not have heavy Java specific experience. Even that is a no-go most of the time.
If we were in St. Louis, Detroit, Salt Lake City, etc. I could understand having some troubles finding talent, but we are in New York freaking City!
This speaks volumes about not just the American school system, but about the laziness of the coming generation and the lack of push to keep America a technical super power.
I was learning to program in BASIC when I was still in elementary. Not in some class at school. I was learning this on my own. Today, kids are more interested in what is on TV or what their friends are doing on Facebook or Twitter, it's very depressing.
One last thing. Recruiters should be beaten and stabbed, then shot and killed. They tell applicants to put stuff on their resume that they have no experience with. You see it on their resume, you ask them a question about it. They stare at you blankly. You ask them why it's on their resume. "(insert recruiter's name) said I should put it on there".
Our reply? "Thank you, we're done." (call recruiter) "Thank you, we're done."
It takes a lot of time to interview candidates. Don't freaking waste our time lying to us. We will find out you are lying.
03EBZ06
05-24-2012, 08:15 AM
I have four degrees and one is BS in CS and I hated programming, it simply wasn't my thing, I'm a hardware guy. It was challenging to me and spent countless hours trying to figure out what went wrong with my programs, but what the hell, it was paid by the company so its all good. I know I'll never be a programmer, nor do I want to, I'll stick with engineering. :laugh1:
perrykemp
05-24-2012, 08:20 AM
Our shop is primarily Java with smaller amounts of C#, C, C++, and Ruby mixed in.
We've also had similar issues finding good college graduates and a few years ago we shifted to dramatically increasing the number of interns we pull from local colleges. As a rule, they have to be no further along in school than being sophomores and it gives us at least 2-3 years to evaluate them, train them, and get them familiar with how development practices.
Before they graduate, typically 6-12 months out, we make the ones we like full-time offers and take-over their payments for their remaining tuition.
Overall, the process has allowed us, to a certain extent, to control our own destiny in terms of replenishing /expanding our developer staff.
Sam I Am
05-24-2012, 08:40 AM
I have four degrees and one is BS in CS and I hated programming, it simply wasn't my thing, I'm a hardware guy. It was challenging to me and spent countless hours trying to figure out what went wrong with my programs, but what the hell, it was paid by the company so its all good. I know I'll never be a programmer, nor do I want to, I'll stick with engineering. :laugh1:
Actually, same here. Which is why I manage / build infrastructure these days. My language of choice is Python, but for work it's mostly utilities that I create. (games at home)
If I program every day, I suffer from terrible burnout. In infrastructure, I work on OSes one day, services (http, SMTP, databases, etc), storage or networks the next. The third day, I maybe writing utilities to automate or perform some service. I just can't write software every day. It's just not my thing either.
Our shop is primarily Java with smaller amounts of C#, C, C++, and Ruby mixed in.
We've also had similar issues finding good college graduates and a few years ago we shifted to dramatically increasing the number of interns we pull from local colleges. As a rule, they have to be no further along in school than being sophomores and it gives us at least 2-3 years to evaluate them, train them, and get them familiar with how development practices.
Before they graduate, typically 6-12 months out, we make the ones we like full-time offers and take-over their payments for their remaining tuition.
Overall, the process has allowed us, to a certain extent, to control our own destiny in terms of replenishing /expanding our developer staff.
This is good information. Thanks for that. Anyone else have experience in finding great candidates? Doesn't matter what field you hire for. It's ideas I'm looking for.
Reality
05-24-2012, 08:58 AM
I have always classified people who know how to program as either coders or programmers. Coders create straight-forward, usually ugly code with little to no consideration beyond today's goals. They see a problem or need and solve it as quickly as possible. Coders view programming projects as items on digital conveyor belts. Programmers think beyond the problem or need at hand and attempt to anticipate future expansion or extension of what they create. They try to foresee possible issues and eliminate them while they develop. Programmers are slower developers than coders, but the payoff is usually work it in the long run.
Beyond their development styles, there is another huge difference between coders and programmers. Coders think incrementally. Coders will job hop for even the smallest amount of salary increases. Programmers understand the the bigger picture of benefits, working environment, etc. while coders tend to focus mainly on their salary. Most programmers enjoy the "comfort factor" of where they are and while they will job hop, it will take a serious offer for them to act on it unless there are outside factors involved.
Most programmers these days are growing up with programming languages that are a lot more forgiving of poor programming techniques. The languages tend to be built around OOP which makes it very easy for them build-a-program like you would Build-A-Bear. While a lot of the programming languages I learned when I was younger are now obsolete, most were strictly structured and were not very tolerant of sloppy coding. I still use the techniques I learned in those languages in projects I develop even now.
The biggest problem you have now with most developers is that if they are really good at what they do, you cannot afford them or you refuse to pay them what they can make elsewhere. If you do hire them, they will likely be working for another company within a year most likely after you have invested a lot of money and time in them to learn everything you do.
#reality
Doomsday
05-24-2012, 09:06 AM
The thing is most companies dont ask their IT candidates technical questions. Through the years I have worked at several large companies and the people who interviewed me never asked me any specifics about my experience. I see you have worked with SMS (systems server management), that is good.
When I went to work for Gambro Healthcare I had 5 interviews with various people and not one person asked me a single question to verify if I actually knew any of the stuff that was on my resume. The last guy even said to me, "I am sure you have been asked every technical question so...". It is kind of comical.
I think a lot of people are not really that knowledgeable so they are afraid to ask questions because it might expose their own deficiencies or something.
I typically have to interview 20 plus people to find one decent mid level php / Zend framework developer. One thing I would suggest is phone interviews, it will save you a TON of time and help weed out the candidates that are just flat lying about their skill level.
Sam I Am
05-24-2012, 09:18 AM
I have always classified people who know how to program as either coders or programmers. Coders create straight-forward, usually ugly code with little to no consideration beyond today's goals. They see a problem or need and solve it as quickly as possible. Coders view programming projects as items on digital conveyor belts. Programmers think beyond the problem or need at hand and attempt to anticipate future expansion or extension of what they create. They try to foresee possible issues and eliminate them while they develop. Programmers are slower developers than coders, but the payoff is usually work it in the long run.
Beyond their development styles, there is another huge difference between coders and programmers. Coders think incrementally. Coders will job hop for even the smallest amount of salary increases. Programmers understand the the bigger picture of benefits, working environment, etc. while coders tend to focus mainly on their salary. Most programmers enjoy the "comfort factor" of where they are and while they will job hop, it will take a serious offer for them to act on it unless there are outside factors involved.
Most programmers these days are growing up with programming languages that are a lot more forgiving of poor programming techniques. The languages tend to be built around OOP which makes it very easy for them build-a-program like you would Build-A-Bear. While a lot of the programming languages I learned when I was younger are now obsolete, most were strictly structured and were not very tolerant of sloppy coding. I still use the techniques I learned in those languages in projects I develop even now.
The biggest problem you have now with most developers is that if they are really good at what they do, you cannot afford them or you refuse to pay them what they can make elsewhere. If you do hire them, they will likely be working for another company within a year most likely after you have invested a lot of money and time in them to learn everything you do.
#reality
Yes, I know exactly what you mean. Now, I (myself) don't hire many programmers. I can think of ideas to ask a candidate to determine if they are a coder / programmer, but it would probably be a drawn out question and take the candidate quite a bit of time to answer. Do you know of an easier way to determine which type of candidate you have? It would be an implementation question I'm sure, but not necessarily design patterns. (we already ask those questions)
This actually relates to people I would hire also. When planning infrastructure upgrades. Though, the questions are a bit easier to work out (less detailed) than say for a programmer.
Bill Wooten
05-24-2012, 09:27 AM
I've been shocked at the quality of resumes I see now when I interview technical candidates. I'm usually interviewing for architect level positions, so I put a higher premium on communication skills than I would an entry-level developer.
9 out of 10 resumes I get contain spelling or grammatical errors. When I see that, the candidate automatically has a hole to dig themselves out of. If they don't show the due diligence to get their resume correct, why should I believe they will do it for a client document.
The overall quality of candidates just seems to be declining.
Reality
05-24-2012, 09:39 AM
Yes, I know exactly what you mean. Now, I (myself) don't hire many programmers. I can think of ideas to ask a candidate to determine if they are a coder / programmer, but it would probably be a drawn out question and take the candidate quite a bit of time to answer. Do you know of an easier way to determine which type of candidate you have? It would be an implementation question I'm sure, but not necessarily design patterns. (we already ask those questions)
This actually relates to people I would hire also. When planning infrastructure upgrades. Though, the questions are a bit easier to work out (less detailed) than say for a programmer.
When I used to interview people, I loved to ask no-win questions. By that I mean questions that had no obvious "right" answer.
For example, if I was interviewing a programmer, I would ask questions like this:
Q) If you are working on software for a client and the client wants something done in a way that you know you will have to change or rewrite in the future, will you do it the right way or the way the client wants?
The key is the use of the words "right way". Everyone immediately thinks "the client is paying us so do it their way" but the "right way" comment makes it more complicated. The ideal answer for this question is that the programmer will try his best to find a solution that will please the client and reduce the chances of having to rewrite the code in the future. Most coders will pick one or the other answers (the right way or the client's way) instead.
I know the ideal answer may seem rather obvious once you hear it, but the coder thinking process works just like an IF-THEN-ELSE statement. If presented with two options, a coder will chose one of them even if neither option is perfect. A programmer will try to find a third option before settling on one of the two less-than-ideal options.
#reality
arglebargle
05-24-2012, 09:55 AM
Interesting read. Resume puffery seems to be the norm now.
Not from personal experiance, so take it with whatever amount of salt you'd prefer: Read an article recently about an engineering firm that would only hire engineers who had some sort of 'hands on' hobby. Didn't matter what to them, could be carpentry, car mechanics, welding, whatever. Their rationale was that they found those people were better at real world problem solving.
JackWagon
05-24-2012, 11:07 AM
Show me the guy that wants to sit in a cube for months ... working dilligently on the program the company wants implemented, talking to slim to few people. Then only get 3% raises due to the economy. Realizing the only real reason they are around is because noone else knows how to do the work. The people above them usually have no idea on what they are managing ... but know some VP somewhere so they got put in charge of everything.
A programming career is not the easiest or most exciting in the world thats why there arent lots of very good people in the field. However it usually pays pretty well if you know what you are doing, dont mind getting woken up at midnight if the code has a problem, and will never get paid what you are actually worth.
Frankly ... most companies dont want to pay you ... they dont want to pay for testing ... they really dont care if their software is good or not. They want it to work ... and they want to not pay a lot for it in terms of salary and time ... period.
Sam I Am
05-24-2012, 11:33 AM
Show me the guy that wants to sit in a cube for months ... working dilligently on the program the company wants implemented, talking to slim to few people. Then only get 3% raises due to the economy. Realizing the only real reason they are around is because noone else knows how to do the work. The people above them usually have no idea on what they are managing ... but know some VP somewhere so they got put in charge of everything.
A programming career is not the easiest or most exciting in the world thats why there arent lots of very good people in the field. However it usually pays pretty well if you know what you are doing, dont mind getting woken up at midnight if the code has a problem, and will never get paid what you are actually worth.
Frankly ... most companies dont want to pay you ... they dont want to pay for testing ... they really dont care if their software is good or not. They want it to work ... and they want to not pay a lot for it in terms of salary and time ... period.
I've worked for companies for short periods of time and long periods of time. The most important thing to me when working at a company is the atmosphere at the company and interesting work.
What you have described is a job someone like me would never take, but that doesn't mean someone like me wouldn't be a programmer.
What I'm saying is you've got it all wrong in relating the two. Sure, that happens, but it happens because that is the way some jobs are programming jobs or not.
As I noted earlier, I just can't be a programmer for a living. It just isn't my thing, but I do in fact very much enjoy programming. I've also had Infrastructure jobs like I do now that I left quite quickly because the job had that type of atmosphere.
To me, atmosphere / working condition are top priority for me. Money is important too, but if you give me an awesome place to work I would be more than happy to work there for less money. Though, the money counts too. I must be able to pay my mortgage ;) For instance. I own a home here in the NE. That isn't a cheap prospect. I was offered a job by Google, but I had to reject it because it wouldn't pay my mortgage. I'm sure it was an awesome place to work back then, but it wouldn't pay my bills. If it could have, I would have been working for Google at less than I make today. (it was prior to working here. I love where I work now. The atmosphere is great and the people are great)
JackWagon
05-24-2012, 11:44 AM
I've worked for companies for short periods of time and long periods of time. The most important thing to me when working at a company is the atmosphere at the company and interesting work.
What you have described is a job someone like me would never take, but that doesn't mean someone like me wouldn't be a programmer.
What I'm saying is you've got it all wrong in relating the two. Sure, that happens, but it happens because that is the way some jobs are programming jobs or not.
As I noted earlier, I just can't be a programmer for a living. It just isn't my thing, but I do in fact very much enjoy programming. I've also had Infrastructure jobs like I do now that I left quite quickly because the job had that type of atmosphere.
To me, atmosphere / working condition are top priority for me. Money is important too, but if you give me an awesome place to work I would be more than happy to work there for less money. Though, the money counts too. I must be able to pay my mortgage ;) For instance. I own a home here in the NE. That isn't a cheap prospect. I was offered a job by Google, but I had to reject it because it wouldn't pay my mortgage. I'm sure it was an awesome place to work back then, but it wouldn't pay my bills. If it could have, I would have been working for Google at less than I make today. (it was prior to working here. I love where I work now. The atmosphere is great and the people are great)
Thats great that you enjoy where you are now ... but complaining about not having enough candidates or valid candidates just irks me. When 75-80% of the companies out there treat their programmers like i described you cant complain about valid candidates. The companies are creating them that way. Their only option is to conform or they are leaving the field for more interesting work where they can succeed.
5Stars
05-24-2012, 11:45 AM
I was a IBM mainframe programmer for the Dod for 23 years. I have a Bachelors Degree from the University of New Mexico and got hired by the DoD and as an intern and went to Columbus, OH. for a three year internship.
When I got there, I thought I knew how to program, but the three years there taught me things that I never learned in school. I learned Assembler, Cobol, Database application, C language, and a gaggle of other related stuff pertaining to the DoD.
I programmed for missile systems, inventory, procurement, and other weapon systems.
Today, ask me any question about a PC and I can only tell you the basic stuff! I don't know HTML, Java, or any of those other languages. However, I do know how to use logic (which is what makes a good programmer anyway) and can come up with an algorithm or flow chart, hierarchy chart or whatever documentation needed to actually start the coding process to accomplish what the client needs or what the specific application is for.
It was a fun career and I retired as a GS-13. You want to ask me a question about a PC or how to code a PC application? Ask someone else!
;)
For Sam I Am...if there are any typos or grammar errors in my post, tough!
JackWagon
05-24-2012, 11:54 AM
I was a IBM mainframe programmer for the Dod for 23 years. I have a Bachelors Degree from the University of New Mexico and got hired by the DoD and as an intern and went to Columbus, OH. for a three year internship.
When I got there, I thought I knew how to program, but the three years there taught me things that I never learned in school. I learned Assembler, Cobol, Database application, C language, and a gaggle of other related stuff pertaining to the DoD.
I programmed for missile systems, inventory, procurement, and other weapon systems.
Today, ask me any question about a PC and I can only tell you the basic stuff! I don't know HTML, Java, or any of those other languages. However, I do know how to use logic (which is what makes a good programmer anyway) and can come up with an algorithm or flow chart, hierarchy chart or whatever documentation needed to actually start the coding process to accomplish what the client needs or what the specific application is for.
It was a fun career and I retired as a GS-13. You want to ask me a question about a PC or how to code a PC application? Ask someone else!
;)
For Sam I Am...if there are any typos or grammar errors in my post, tough!
Thanks for posting ... and thanks for your working in the field. Good people are hard to find in every business field. Not just programming. And most companies are not in the "top 100 companies to work for". It the other companies that drive the industry ... not the top 100 most liked companies.
Sam I Am
05-24-2012, 11:54 AM
Thats great that you enjoy where you are now ... but complaining about not having enough candidates or valid candidates just irks me. When 75-80% of the companies out there treat their programmers like i described you cant complain about valid candidates. The companies are creating them that way. Their only option is to conform or they are leaving the field for more interesting work where they can succeed.
If everyone else treats them like that, we should have thousands of top quality programmers lining up to get a job here. It doesn't suck here.
The last programmer to leave here on their own was a girl named Veronica. She left to go work with several of her friends from college. She gave us 4 weeks notice. About two weeks into that notice, she told us she thought she was making a mistake and would probably rather stay here the take the new job.
The door was open for her to stay, but she said she felt bad about reneging on the acceptance from the other company not to mention her friends that put their neck on the line to get her on there.
It's a shame because she didn't see it the same way I do. I put my happiness first. I wish her the best and I hope she is happy with her new position, but if I had doubts like she did. I would have apologized to the other company and my firend, but I would have never left.
I can't stress enough how important enjoying where you work is.
Sam I Am
05-24-2012, 11:59 AM
For Sam I Am...if there are any typos or grammar errors in my post, tough!
Does not compute. Does not compute. Does not compute.
Fatal Error: Invalid Null Pointer Exception for: UNKNOWN.
:laugh2:
JackWagon
05-24-2012, 12:01 PM
If everyone else treats them like that, we should have thousands of top quality programmers lining up to get a job here. It doesn't suck here.
The last programmer to leave here on their own was a girl named Veronica. She left to go work with several of her friends from college. She gave us 4 weeks notice. About two weeks into that notice, she told us she thought she was making a mistake and would probably rather stay here the take the new job.
The door was open for her to stay, but she said she felt bad about reneging on the acceptance from the other company not to mention her friends that put their neck on the line to get her on there.
It's a shame because she didn't see it the same way I do. I put my happiness first. I wish her the best and I hope she is happy with her new position, but if I had doubts like she did. I would have apologized to the other company and my firend, but I would have never left.
I can't stress enough how important enjoying where you work is.
It is just easier to find the next gig. Not worry about the environment and get the rate you want. You can work through anything for a year. There are payments to make ... mouths to feed ... mortgages to make.
5Stars
05-24-2012, 12:04 PM
Does not compute. Does not compute. Does not compute.
Fatal Error: Invalid Null Pointer Exception for: UNKNOWN.
:laugh2:
Well, at least I did not have to get up in the middle of the freaking night to try and find the problem that caused this error! And, to top it off, that error was probably put there by some other fools program. Now, I have to spend a couple of hurry up hours trying to decipher what the hell that other programmer was trying do do!
:bang2:
I was taught structured programming. But, some of the old DoD programs were written in what we would call spaghetti code with recursion all over the damn place! Try following some code like that!
:eek: :confused:
Sam I Am
05-24-2012, 12:25 PM
Well, at least I did not have to get up in the middle of the freaking night to try and find the problem that caused this error! And, to top it off, that error was probably put there by some other fools program. Now, I have to spend a couple of hurry up hours trying to decipher what the hell that other programmer was trying do do!
:bang2:
I was taught structured programming. But, some of the old DoD programs were written in what we would call spaghetti code with recursion all over the damn place! Try following some code like that!
:eek: :confused:
Some Cobol for you.
DO-FIRST.
GO TO DO-SECOND.
DO-SECOND.
GO TO DO-FIRST.
:laugh2:
5Stars
05-24-2012, 12:43 PM
Some Cobol for you.
DO-FIRST.
GO TO DO-SECOND.
DO-SECOND.
GO TO DO-FIRST.
:laugh2:
:laugh2:
And around and around you go. And, to find that crap, you have to weed through a dump, find the location by reading the hexadecimal values of where the loop starts or the error occured, then look through thousands of lines of code to find out what the hell the fool who wrote the code was trying to do.
But, I got paid really good for it, and have a good retirement fund for the rest of my life. I do drink and take drugs because of it though!
:D
Hoofbite
05-24-2012, 12:44 PM
I've been shocked at the quality of resumes I see now when I interview technical candidates. I'm usually interviewing for architect level positions, so I put a higher premium on communication skills than I would an entry-level developer.
9 out of 10 resumes I get contain spelling or grammatical errors. When I see that, the candidate automatically has a hole to dig themselves out of. If they don't show the due diligence to get their resume correct, why should I believe they will do it for a client document.
The overall quality of candidates just seems to be declining.
Sometimes people can't see their own mistake because they read it as they intend for it be read and now how it really is.
I had a typo on something a while back. Must have read it a hundred times but one look from another person and they mentioned the "s" I had in place of a "d".
5Stars
05-24-2012, 12:46 PM
Sometimes people can't see their own mistake because they read it as they intend for it be read and now how it really is.
I had a typo on something a while back. Must have read it a hundred times but one look from another person and they mentioned the "s" I had in place of a "d".
Yeah...now look again. You have another typo in this post alone!
:laugh2:
Reality
05-24-2012, 12:48 PM
A "big" basic program :D
10 PRINT "H";
15 GOTO 60
20 PRINT "R";
25 GOTO 80
30 PRINT "O";
35 GOTO 90
40 PRINT "W";
45 GOTO 100
50 PRINT "L";
55 GOTO 110
60 PRINT "E";
65 GOTO 50
70 PRINT "!"
75 GOTO 10
80 PRINT "L";
85 GOTO 120
90 PRINT " ";
95 GOTO 40
100 PRINT "O";
105 GOTO 20
110 PRINT "L";
115 GOTO 30
120 PRINT "D";
125 GOTO 70
#reality
Kangaroo
05-24-2012, 12:59 PM
A "big" basic program :D
10 PRINT "H";
15 GOTO 60
20 PRINT "R";
25 GOTO 80
30 PRINT "O";
35 GOTO 90
40 PRINT "W";
45 GOTO 100
50 PRINT "L";
55 GOTO 110
60 PRINT "E";
65 GOTO 50
70 PRINT "!"
75 GOTO 10
80 PRINT "L";
85 GOTO 120
90 PRINT " ";
95 GOTO 40
100 PRINT "O";
105 GOTO 20
110 PRINT "L";
115 GOTO 30
120 PRINT "D";
125 GOTO 70
#reality
I never liked the programing side that gave me flash backs to stuff we did in Computer Math class on a TSR 80
Bill Wooten
05-24-2012, 01:01 PM
Sometimes people can't see their own mistake because they read it as they intend for it be read and now how it really is.
I had a typo on something a while back. Must have read it a hundred times but one look from another person and they mentioned the "s" I had in place of a "d".
I totally understand that, but it is your resume. You should have someone proof-read it. However, the issues I'm seeing are glowing red and green when I open their resume in Word. If Word can see a typo or grammar error and the candidate ignores it, that is a red flag to me.
Kangaroo
05-24-2012, 01:06 PM
I totally understand that, but it is your resume. You should have someone proof-read it. However, the issues I'm seeing are glowing red and green when I open their resume in Word. If Word can see a typo or grammar error and the candidate ignores it, that is a red flag to me.
Then i am screwed my name comes up as one of those :eek:
Afigueroa22
05-24-2012, 01:09 PM
I wish I could read the Matrix code like you guys. :(
They put a priority on setting programmers free.
5Stars
05-24-2012, 01:11 PM
A "big" basic program :D
10 PRINT "H";
15 GOTO 60
20 PRINT "R";
25 GOTO 80
30 PRINT "O";
35 GOTO 90
40 PRINT "W";
45 GOTO 100
50 PRINT "L";
55 GOTO 110
60 PRINT "E";
65 GOTO 50
70 PRINT "!"
75 GOTO 10
80 PRINT "L";
85 GOTO 120
90 PRINT " ";
95 GOTO 40
100 PRINT "O";
105 GOTO 20
110 PRINT "L";
115 GOTO 30
120 PRINT "D";
125 GOTO 70
#reality
Hey, I've seen programmers code their programs in the most illogical way possible. :laugh2:
Sam I Am
05-24-2012, 01:15 PM
Nothing better than some obfuscated code. :D
#include <ncurses.h>/************************************************** ***/
int m[256 ] [ 256 ],a
,b ;;; ;;; WINDOW*w; char*l="" "\176qxl" "q" "q" "k" "w\
xm" "x" "t" "j" "v" "u" "n" ,Q[
]= "Z" "pt!ftd`" "qdc!`eu" "dq!$c!nnwf"/** *** */"t\040\t";c(
int u , int v){ v?m [u] [v-
1] |=2,m[u][v-1] & 48?W][v-1 ] & 15]]):0:0;u?m[u -1][v]|=1 ,m[
u- 1][ v]& 48? W-1 ][v ]&
15] ]):0:0;v< 255 ?m[ u][v+1]|=8,m[u][v+1]& 48? W][ v+1]&15]]
):0 :0; u < 255 ?m[ u+1 ][v ]|=
4,m[u+1][ v]&48?W+1][v]&15]]):0:0;W][ v]& 15] ]);}cu(char*q){ return
*q ?cu (q+ 1)& 1?q [0] ++:
q[0 ]-- :1; }d( int u , int/**/v, int/**/x, int y){ int
Y=y -v, X=x -u; int S,s ;Y< 0?Y =-Y ,s,
s=- 1:( s=1);X<0?X=-X,S =-1 :(S= 1); Y<<= 1;X<<=1; if(X>Y){
int f=Y -(X >>1 );; while(u!= x){
f>= 0?v+=s,f-=X:0;u +=S ;f+= Y;m[u][v]|=32;mvwaddch(w,v ,u, m[u
][ v]& 64? 60: 46) ;if (m[ u][
v]&16){c(u,v);; ;;; ;;; return;}} }else{int f=X -(Y>>1);; while
(v !=y ){f >=0 ?u +=S, f-= Y:0
;v +=s ;f+=X;m[u][v]|= 32;mvwaddch(w,v ,u,m[u][v]&64?60:46);if(m[u
][ v]& 16) {c( u,v );
; return;;;}}}}Z( int/**/a, int b){ }e( int/**/y,int/**/ x){
int i ; for (i= a;i <=a
+S;i++)d(y,x,i,b),d(y,x,i,b+L);for(i=b;i<=b+L;i++)d(y,x,a,i),d(y,x,a+ S,i
); ;;; ;;; ;;; ;;; ;
mvwaddch(w,x,y,64); ;;; ;;; ;;; prefresh( w,b,a,0,0 ,L- 1,S-1
);} main( int V , char *C[
] ){FILE*f= fopen(V==1?"arachnid.c"/**/ :C[ 1],"r");int/**/x,y,c,
v=0 ;;; initscr (); Z(Z (raw
() ,Z( curs_set(0),Z(1 ,noecho()))),keypad( stdscr,TRUE));w =newpad
( 300, 300 ) ; for (x= 255 ; x >=0 ;x--
) for (y= 255 ;y>=0;y-- )m[ x][ y]= 0;x=y=0;refresh( );while
( (c= fgetc (f) )+1) {if(
0||c==10|| x== 256){x=0;y++;if(y==256 )break;;} else{m[x][y]=(c ==
'~' ?64 : c ==32 ?0: 16) ;;x ++;
}}for(x=0 ;x< 256;x++)m [x][0]=16 ,m[ x][ 255]=16;for(y=0
;y< 256 ; y ++) m[0 ][y ] = 16,
m[255][y] =16 ;a=b=c=0; x=y =1; do{v++;mvwaddch (w, y,x ,m[
x][ y]& 32? m[x ][y ] & 16?
0| acs_map[l[m[x][y]&15]]:46 : 32);c==0163&&!(m[x][y+1]&16)?y++: 0;c
== 119 &&! (m[ x][
y- 1]& 16) ?y--:0;;c ==97 &&!(m[x-1][y]&16)?x--:0;c==100&&!(m[x+1
][ y]& 16) ? x ++:0 ;if( c==
3- 1+1 ){endwin( );; return(0) ;}x -a<5?a>S- 5?a-=S-5:(a=0):
0;x -a> S-5?a<255 -S* 2?a +=S
-5:(a=256-S):0; y-b<5?b>L-5?b-=L-5:(b =0) :0; y-b>L-5?b<255-L *2?
b+= L-5 :(b =256
-L) :0;e(x,y);if(m[x][y]&64)break;}while((c=getch())!=-1);endwin();cu(Q);
printf(Q,v);}
EDIT: Damn word wrap! :mad:
5Stars
05-24-2012, 01:32 PM
Nothing better than some obfuscated code. :D
#include <ncurses.h>/************************************************** ***/
int m[256 ] [ 256 ],a
,b ;;; ;;; WINDOW*w; char*l="" "\176qxl" "q" "q" "k" "w\
xm" "x" "t" "j" "v" "u" "n" ,Q[
]= "Z" "pt!ftd`" "qdc!`eu" "dq!$c!nnwf"/** *** */"t\040\t";c(
int u , int v){ v?m [u] [v-
1] |=2,m[u][v-1] & 48?W][v-1 ] & 15]]):0:0;u?m[u -1][v]|=1 ,m[
u- 1][ v]& 48? W-1 ][v ]&
15] ]):0:0;v< 255 ?m[ u][v+1]|=8,m[u][v+1]& 48? W][ v+1]&15]]
):0 :0; u < 255 ?m[ u+1 ][v ]|=
4,m[u+1][ v]&48?W+1][v]&15]]):0:0;W][ v]& 15] ]);}cu(char*q){ return
*q ?cu (q+ 1)& 1?q [0] ++:
q[0 ]-- :1; }d( int u , int/**/v, int/**/x, int y){ int
Y=y -v, X=x -u; int S,s ;Y< 0?Y =-Y ,s,
s=- 1:( s=1);X<0?X=-X,S =-1 :(S= 1); Y<<= 1;X<<=1; if(X>Y){
int f=Y -(X >>1 );; while(u!= x){
f>= 0?v+=s,f-=X:0;u +=S ;f+= Y;m[u][v]|=32;mvwaddch(w,v ,u, m[u
][ v]& 64? 60: 46) ;if (m[ u][
v]&16){c(u,v);; ;;; ;;; return;}} }else{int f=X -(Y>>1);; while
(v !=y ){f >=0 ?u +=S, f-= Y:0
;v +=s ;f+=X;m[u][v]|= 32;mvwaddch(w,v ,u,m[u][v]&64?60:46);if(m[u
][ v]& 16) {c( u,v );
; return;;;}}}}Z( int/**/a, int b){ }e( int/**/y,int/**/ x){
int i ; for (i= a;i <=a
+S;i++)d(y,x,i,b),d(y,x,i,b+L);for(i=b;i<=b+L;i++)d(y,x,a,i),d(y,x,a+ S,i
); ;;; ;;; ;;; ;;; ;
mvwaddch(w,x,y,64); ;;; ;;; ;;; prefresh( w,b,a,0,0 ,L- 1,S-1
);} main( int V , char *C[
] ){FILE*f= fopen(V==1?"arachnid.c"/**/ :C[ 1],"r");int/**/x,y,c,
v=0 ;;; initscr (); Z(Z (raw
() ,Z( curs_set(0),Z(1 ,noecho()))),keypad( stdscr,TRUE));w =newpad
( 300, 300 ) ; for (x= 255 ; x >=0 ;x--
) for (y= 255 ;y>=0;y-- )m[ x][ y]= 0;x=y=0;refresh( );while
( (c= fgetc (f) )+1) {if(
0||c==10|| x== 256){x=0;y++;if(y==256 )break;;} else{m[x][y]=(c ==
'~' ?64 : c ==32 ?0: 16) ;;x ++;
}}for(x=0 ;x< 256;x++)m [x][0]=16 ,m[ x][ 255]=16;for(y=0
;y< 256 ; y ++) m[0 ][y ] = 16,
m[255][y] =16 ;a=b=c=0; x=y =1; do{v++;mvwaddch (w, y,x ,m[
x][ y]& 32? m[x ][y ] & 16?
0| acs_map[l[m[x][y]&15]]:46 : 32);c==0163&&!(m[x][y+1]&16)?y++: 0;c
== 119 &&! (m[ x][
y- 1]& 16) ?y--:0;;c ==97 &&!(m[x-1][y]&16)?x--:0;c==100&&!(m[x+1
][ y]& 16) ? x ++:0 ;if( c==
3- 1+1 ){endwin( );; return(0) ;}x -a<5?a>S- 5?a-=S-5:(a=0):
0;x -a> S-5?a<255 -S* 2?a +=S
-5:(a=256-S):0; y-b<5?b>L-5?b-=L-5:(b =0) :0; y-b>L-5?b<255-L *2?
b+= L-5 :(b =256
-L) :0;e(x,y);if(m[x][y]&64)break;}while((c=getch())!=-1);endwin();cu(Q);
printf(Q,v);}
EDIT: Damn word wrap! :mad:
I quit! You can take this job and shove!
:laugh2:
Hoofbite
05-24-2012, 06:21 PM
Yeah...now look again. You have another typo in this post alone!
:laugh2:
For some reason the iphone likes to guess just about every word I type.
Most of the time I don't even try to correct it.
Hoofbite
05-24-2012, 06:22 PM
I totally understand that, but it is your resume. You should have someone proof-read it. However, the issues I'm seeing are glowing red and green when I open their resume in Word. If Word can see a typo or grammar error and the candidate ignores it, that is a red flag to me.
That's why it's smart to save it as a pdf.........:D
5Stars
05-24-2012, 06:23 PM
For some reason the iphone likes to guess just about every word I type.
Most of the time I don't even try to correct it.
:laugh2:
I know, bro...aint no thang
Hoofbite
05-24-2012, 06:24 PM
:laugh2:
I know, bro...aint no thang
trying to type in an email address when the first two letters are the same as mine is almost impossible.
Our shop is primarily Java with smaller amounts of C#, C, C++, and Ruby mixed in.
We've also had similar issues finding good college graduates and a few years ago we shifted to dramatically increasing the number of interns we pull from local colleges. As a rule, they have to be no further along in school than being sophomores and it gives us at least 2-3 years to evaluate them, train them, and get them familiar with how development practices.
Before they graduate, typically 6-12 months out, we make the ones we like full-time offers and take-over their payments for their remaining tuition.
Overall, the process has allowed us, to a certain extent, to control our own destiny in terms of replenishing /expanding our developer staff.
We've actually been dipping into the the local high schools and trying to get the high performing math and science students to get interested in engineering/programming. We also do the college co-op/intern route.
It seems to be working pretty well.
We also hit all the college career fairs ourselves. Granted, we don't get many people with multiple years of experience that way, but you can find some good young candidates right out of school and, if you have a good training/mentorship program, it can be very effective.
I really like to find the candidates that have some real experience in college (actually worked on a project with deadlines.....robotics, UAVs, etc). Colleges have a ton of those competitions these days and the kids that worked on those have had to debug real issues and have had to meet real deadlines (on top of getting a degree).
It is also amazing how far good old fashioned work ethic will take you. Being able to discern that from an interview can be tough sometimes.
I would also think recruiting programmers in NYC would be a nightmare just because of cost of living.
If I was going to start a SW company, I'd set up shop in the Midwest next to a slew of solid engineering schools and recruit them heavily.
SultanOfSix
05-24-2012, 08:33 PM
I'm a coder (software engineer) myself. I focus mostly on Microsoft based technologies, e.g. C#, ASP.NET (Web Forms and MVC), Javascript, jQuery, HTML, CSS, etc. When I graduated college, I was mostly coding in C++ until .NET came around, so I was familiar with the more "difficult" aspects of coding, e.g. pointers, memory allocation and leaks, which I haven't really considered in a long time.
You can presume a coder is pretty good if they've done something on their own that they can show off. Although it isn't much - it's a Windows gadget - I've written some software that one can download for free. Also, even if a presumed coder has never actually worked with a set of concepts, if they can at least explain them logically and clearly and apply them to a contrived scenario, then it's a pretty good bet that they know what they're talking about. I've been working at the same position for the past three years as an independent contractor. Prior to the interview for the position, I was told that certain concepts were important to them which I had no practical experience with: TDD, IOC, DI, etc. However, prior to the interview I read up on, understood, and actually could explain clearly enough the concepts that the interviewer said he was so "refreshed" to hear someone actually know what he was talking about. My guess was he was in the same boat as you as far as the talent he was coming into contact with.
One other thing about good coders is they write elegant code making it an art.
Age doesn't matter either. I worked with a guy over ten years ago who was the chief architect of a small software shop at 19. He was one of the best programmers I've ever worked with. He was home schooled, and he took an interest in it and has been doing it ever since.
Reality
05-24-2012, 09:06 PM
One other thing about good coders is they write elegant code making it an art.
I have said this exact thing many times .. almost word for word too! :D
#reality
Sam I Am
05-25-2012, 08:47 AM
One other thing about good coders is they write elegant code making it an art.
I have said this exact thing many times .. almost word for word too! :D
#reality
My code is elegantly hideous. :laugh2:
I suppose if I had been actually trained in software engineering and did it for a living, my code would much higher quality. ...but that isn't the case and the world has to deal with my nasty code base! It's a good thing nobody actually cares about the stuff I write! :laugh2:
That said, are there any Python guys here? (my language of choice)
Reality
05-25-2012, 09:22 AM
My code is elegantly hideous. :laugh2:
I suppose if I had been actually trained in software engineering and did it for a living, my code would much higher quality. ...but that isn't the case and the world has to deal with my nasty code base! It's a good thing nobody actually cares about the stuff I write! :laugh2:
When I was younger, I was a programmer for a company using old proprietary hardware, operating systems and an even worse programming language. The programming language was so limited, most BASIC languages would have been an upgrade and that is no exaggeration at all. Even worse, it was an unstructured language and the programmers of the original software as well as former programmers in the company had no consistent programming styles. It literally was spaghetti code. That "big" basic program I posted earlier in this thread would be a perfect example.
I worked there several years until I left to start my own company. A few years later, I get a phone call. The caller tells me he is a programmer for the company I used to work for. Now the first thing that entered my mind was, "Oh great .. he's calling me to ask me questions about programs I wrote long ago but have no idea about now." Actually, he was calling me to thank me. Apparently he had been given the assignment to modify the software used by a long-time client of theirs and it was written in the old horrible language that they had eventually replaced.
He said he was looking through the code and getting more worried he would never be able to figure out where or how to make the changes. Then he said he got to my code. He said it was line after line of garbled code, but then changed out of the blue to spaced out, well structured and documented code which included my name of course. He said the change took him a few seconds to make and since my elegant code had made his job so easy, he felt compelled to contact me and thank me for it! Needless to say, it made my day! :D
That being said, it is even better when your own design and documentation saves you that time and stress at some point!
That said, are there any Python guys here? (my language of choice)
Python is next on my list to learn. I have wanted to learn it for a while, but I just have not had any projects that required it so far. Learning a programming language without a project would be like learning French without ever talking with someone who speaks French.
#reality
JackWagon
05-25-2012, 09:39 AM
I dont want everyone to get the wrong impression. I love coding new projects. I believe i write the code we are all talking about. Well thought out ... forward thinking and easy to maintain. Its just hard to find guys like us out there all the time. Once the dot com boom/bust happened a lot of guys just left the industry. They made their money and went on to other industries where it was easier to make cash and the hours were better.
kmd24
05-25-2012, 09:59 AM
That said, are there any Python guys here? (my language of choice)
I write Python. It's not the language I use most often, but I know it enough to get by.
Mostly I write Objective-C and Java these days as a mobile developer. In my past, when I was working for refineries and chemical plants, I wrote more FORTRAN and C. Studied C++ for a while in the late 90's, but I barely recognize it any more since templating and the Boost libraries became mainstream.
I played around with Ruby for a long while, but I've never been that much into it.
I'd prefer to write Clojure code for a living if I could, or failing that some other Lisp, but there isn't a tremendous demand yet.
I'm not saying I'm the best programmer in the world, but the reason it's hard to hire me is that work remotely from one of the lowest cost of living states in the US, and it's not appealing to me to live in NY, SF, or Seattle to make more money just to spend it on my mortgage or rent. The one thing that would make me consider a move is to find a good community where I can actually have peers (I'm currently considering relocating to a few different places liken Raleigh/Durham or Austin for that very reason).
Sam I Am
05-25-2012, 10:00 AM
Python is next on my list to learn. I have wanted to learn it for a while, but I just have not had any projects that required it so far. Learning a programming language without a project would be like learning French without ever talking with someone who speaks French.
#reality
Great choice! :thumbup:
My first language was GW Basic. After that, I learned C then C++. If I write in C today, it ends up coming out a mixture of both C and C++. :laugh2:
I started to learn Perl, but after messing around with PHP, I decided that was less cryptic and a better choice. I started using PHP's cli binary to write administrative tools as I've only done one web project and that was a B2B app.
I came across Python around 2000 or 2001 and have never looked back. I absolutely love the language. At first I didn't like the indentation to break up blocks of code, but since I've learned to love it. It really improves readability. (I've come to hate curly braces since too! ;) )
Sam I Am
05-25-2012, 10:27 AM
I write Python. It's not the language I use most often, but I know it enough to get by.
Mostly I write Objective-C and Java these days as a mobile developer. In my past, when I was working for refineries and chemical plants, I wrote more FORTRAN and C. Studied C++ for a while in the late 90's, but I barely recognize it any more since templating and the Boost libraries became mainstream.
I played around with Ruby for a long while, but I've never been that much into it.
I'd prefer to write Clojure code for a living if I could, or failing that some other Lisp, but there isn't a tremendous demand yet.
I'm not saying I'm the best programmer in the world, but the reason it's hard to hire me is that work remotely from one of the lowest cost of living states in the US, and it's not appealing to me to live in NY, SF, or Seattle to make more money just to spend it on my mortgage or rent. The one thing that would make me consider a move is to find a good community where I can actually have peers (I'm currently considering relocating to a few different places liken Raleigh/Durham or Austin for that very reason).
We have a part time guy that lives in Seattle that telecommutes. He uses Selenium and writes mostly Ruby code for automated testing of our platform.
Reality
05-25-2012, 11:07 AM
Great choice! :thumbup:
My first language was GW Basic. After that, I learned C then C++. If I write in C today, it ends up coming out a mixture of both C and C++. :laugh2:
I started to learn Perl, but after messing around with PHP, I decided that was less cryptic and a better choice. I started using PHP's cli binary to write administrative tools as I've only done one web project and that was a B2B app.
I came across Python around 2000 or 2001 and have never looked back. I absolutely love the language. At first I didn't like the indentation to break up blocks of code, but since I've learned to love it. It really improves readability. (I've come to hate curly braces since too! ;) )
When web sites started transitioning from static pages of text and graphics to actual programs, perl was the main language I used. The main reason that perl lost its foothold to php is because of the transition from external cgi to server-side scripting. By that I mean that originally, when you wrote a perl program, each time the web server would call the problem, it had to run the perl interpreter which would then load your program, compile and execute it. Unlike server scripting (integrated) language modules, loading the external interpreter was very resource intensive especially if your site had any serious amount of traffic.
Of course mod_perl was out there that solved this problem but it created another one. The normal perl interpreter was very loose (not strict) when it came to coding. A lot of sloppy techniques were easily overlooked with the command-line interpreter that mod_perl would balk over. Of course mod_perl was attempting to force programmers to clean up sloppy code but it made converting cgi-based perl programs to mod_perl server-side programs a lot more work than many wanted to go through. Then php started gaining in popularity and and perl fell back.
The biggest problem is that perl was around long before the web and they tried to add web support into it where php was designed from the start to be a web programming language though you can use it for command-line programming as well.
#reality
Sam I Am
05-25-2012, 11:49 AM
Yeah, I remember the whole fiasco pre loadable server modules. Loadable server modules definitely made it better, but even so, they too are resource hogs. The first time I ran up against it, I had just started working for this media company. Every time they would release something new, their webservers would freeze up from so many people slamming the servers.
It was funny. It was my second day on the job and I had 6 executives standing at my desk looking like they were about to cry because the webservers were frozen up because they had just released some new media.
I logged into the web servers and first thing I noticed was all the servers had was 1gb of memory. The php.ini said it was using a max memory of 32M and http.conf had max clients at 256. :facepalm: (for those that don't understand, 32mb * 256 is a lot more than 1gb of memory! )
Anyhow, I kicked maxclients down to 20 from it's default of 256 (32mb * 20 = 640mb, leaving 384mb for the OS), and restarted Apache. All the sudden all the requests were being completed, though sometimes a bit slow. Every request was being filled though and that made for a lot of happy executives! :laugh2:
The other admin (developer, not really an admin) thought lowering maxclients to 20 wouldn't allow the webserver to server enough people. Sure it will, they will just have to wait in line rather than have the web server over-tax itself all at once!
Depending on the day, our web servers take 8 to 15 million hits per day. (99% of that happens between 8am and 4pm) Mostly ajax requests and each client does around 10 requests per second. I only use two web servers to handle this load, but then I'm not serving php or anything like that. My Apache servers only proxy the connections to the backend JBoss cluster. Actually, just one server can handle the entire load, but I keep two for obvious reasons. :)
vBulletin® v3.6.4, Copyright ©2000-2013, Jelsoft Enterprises Ltd.