Author Topic: Programmer Interview  (Read 8184 times)

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Programmer Interview
« on: April 18, 2010, 06:46:16 AM »
So, for our class maatschappijleer ( a low form of sociology ) at school we have to do an interview with someone that has the same job as what you want to have. In my case, it's being a programmer.

Now, this interview consists of about 20 questions (I think I have about 9 so far, but the rest should be a reaction to the answers I get), so it should be over quite quickly.

I'm wondering if anyone here is a programmer for a living, and if so, could I please interview you? (through PM, email, or preferably through some chat protocol or IRC). It would really help me out!

Offline Kayedon

  • Sr. Member
  • ****
  • Posts: 378
Programmer Interview
« Reply #1 on: April 18, 2010, 02:50:32 PM »
Do what I did.

1) Get a LinkedIn
2) Find your favourite games and add a programmer or two from each and be sure to indicate you want a quick email interview.
3) Pray any of them add you.
4) Interview!
"Trust me, I'm crazy."

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Programmer Interview
« Reply #2 on: April 18, 2010, 03:20:54 PM »
That might work, thanks.

Offline CK9

  • Administrator
  • Hero Member
  • *****
  • Posts: 6226
    • http://www.outpost2.net/~ck9
Programmer Interview
« Reply #3 on: April 18, 2010, 03:20:57 PM »
I think most of the programmers here are programmers for their own amusement or are still in school.
CK9 in outpost
Iamck in runescape (yes, I still play...sometimes...)
srentiln in minecraft (I like legos, and I like computer games...it was only a matter of time...) and youtube...
xdarkinsidex on deviantart

yup, I have too many screen names

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Programmer Interview
« Reply #4 on: April 18, 2010, 07:45:16 PM »
I'm actually employed as a programmer.

I do a largely different style of programming at work than on my own though. Most of my work stuff uses scripting languages, and involves a lot of web programming. The stuff I do on my own is largely compiled and avoids the web stuff.

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Programmer Interview
« Reply #5 on: April 19, 2010, 08:40:15 AM »
Yeah, CK9, I was afraid of that.

Hooman, can I interview you? (the questions are really basic, like "Do you work at home?" and "What languages do you use?")

Offline CK9

  • Administrator
  • Hero Member
  • *****
  • Posts: 6226
    • http://www.outpost2.net/~ck9
Programmer Interview
« Reply #6 on: April 19, 2010, 11:27:42 AM »
lol, keep forgetting Hooman is a professional...even though we had a decent discussion over the difference between the coding of engineers and the coding of programmers...

Hooman, you should definately do the interview.  I had to do the same basic thing AmI has to for my professional development class and it's a pain in the ass trying to find people willing to do the interview.
CK9 in outpost
Iamck in runescape (yes, I still play...sometimes...)
srentiln in minecraft (I like legos, and I like computer games...it was only a matter of time...) and youtube...
xdarkinsidex on deviantart

yup, I have too many screen names

Offline Kayedon

  • Sr. Member
  • ****
  • Posts: 378
Programmer Interview
« Reply #7 on: April 19, 2010, 02:36:04 PM »
Quote
lol, keep forgetting Hooman is a professional...even though we had a decent discussion over the difference between the coding of engineers and the coding of programmers...

Hooman, you should definately do the interview.  I had to do the same basic thing AmI has to for my professional development class and it's a pain in the ass trying to find people willing to do the interview.
It's easier with charmingly good looks, a bottle of vodka, some roofies, some duct tape, and a shotgun.
"Trust me, I'm crazy."

Offline Sirbomber

  • Hero Member
  • *****
  • Posts: 3238
Programmer Interview
« Reply #8 on: April 19, 2010, 02:46:06 PM »
You frighten me.  Have I mentioned that?
"As usual, colonist opinion is split between those who think the plague is a good idea, and those who are dying from it." - Outpost Evening Star

Outpost 2 Coding 101 Tutorials

Offline Kayedon

  • Sr. Member
  • ****
  • Posts: 378
Programmer Interview
« Reply #9 on: April 19, 2010, 03:39:10 PM »
Quote
You frighten me.  Have I mentioned that?
Really? I'm quite normal and almost wholly sarcastic.
"Trust me, I'm crazy."

Offline alice

  • Administrator
  • Hero Member
  • *****
  • Posts: 553
Programmer Interview
« Reply #10 on: April 19, 2010, 06:53:03 PM »
I work as a professional software engineer, and would be willing to do an interview if you would like.

Offline CK9

  • Administrator
  • Hero Member
  • *****
  • Posts: 6226
    • http://www.outpost2.net/~ck9
Programmer Interview
« Reply #11 on: April 19, 2010, 10:17:56 PM »
well, that explains why your OP3 got...delayed...yea...that's it...
CK9 in outpost
Iamck in runescape (yes, I still play...sometimes...)
srentiln in minecraft (I like legos, and I like computer games...it was only a matter of time...) and youtube...
xdarkinsidex on deviantart

yup, I have too many screen names

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Programmer Interview
« Reply #12 on: April 19, 2010, 11:36:52 PM »
I suppose I might answer some stuff.

I don't usually work at home. I mostly only work at home if I'm sick, or something important comes up outside of my normal hours that requires immediate attention.

The most used language at work is Ruby. I also have to know a fair bit about web programming (so HTML, CSS, JavaScript too). I also work with a lot of Fortran programs, and occasionally poke at their source to find the causes of cryptic error messages. I don't have to write any Fortran though.


Interesting there gpgarrettboast. I'm kind of curious as to what you do.
 
« Last Edit: April 19, 2010, 11:37:32 PM by Hooman »

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Programmer Interview
« Reply #13 on: April 20, 2010, 04:33:48 AM »
Thanks guys, for your willingness to help me.

I'm in GMT+1 (the time of posting is now 11:30 AM), and I expect to be on IRC until about  10 PM.

Any chance one of you could get online in that time?

Edit: Might as well put some questions up. If you've already answered some of them feel free to skip those.
Quote
1. In what language(s) do you code or work with?
-1a. If this is a compiled language, do you have special build-servers or farms?
2. Do you work from your home or do you work at an office?
3. Do you work in teams or as an individual?
-3a. If you work in teams, is there a lot of personal contact with you colleagues, or is it purely about getting the job done. aka, what sort of atmosphere is it?
4. Do you do have a fixed task? (for example, do you always do the design of a piece of software, or perhaps take care of all the embedded JavaScript in a website?)
-4a. If so, what is this task and what is it about?
5. Do you often have to work overtime? (is that a correct translation? I mean working longer)
6. Is it hard to meet your deadlines?
7. Are there many women at your job?
8. Are there a lot of foreigners at your job? (not being racist here of course, I just mean people from a lot of countries, perhaps working as freelancers)
9. How does your regular work day/week look like?
10. Have you ever been unable to solve certain programming-problems?
-10a. If so, was did this become a real problem for your project or where you able to go around it?
11. Do you ever get bored of programming?
12. Do you still like to program in your free time? => yes ;)

This is actually due pretty soon so there's pretty much only one day left to answer.. (aka your previous posts are at 2 AM and 6:30 AM respectively, and that will only occur once more). My teacher didn't plan it so well this time. Okay, off to bed!
« Last Edit: April 20, 2010, 03:43:55 PM by AmIMeYet »

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Programmer Interview
« Reply #14 on: April 21, 2010, 01:31:27 AM »
1. Mostly Ruby.
 1. a. No build server, and mostly scripting languages, but we have had to purchase a rather expensive Fortran compiler. We do use a small but growing cluster of computers for processing data, just not for compiling. The end product is scientific reports, not software.

2. I work from an office.

3. I mostly work kind of alone. My boss likes to check up on progress once or twice a day. I'm the only person in the company that specializes in programming. The others are engineers and have minimal formal training in programming. I have to make sure they know how to use what I've written, and I occasionally have to help them with programming projects. They are usually only assigned programming projects when there is no other immediate work.
 3. a. There are occasionally company get-togethers and outings. I've been to a few people's houses. I now share an office with my brother's best friend from highshool. We often have crazy off topic conversations at work (usually academic in nature).

4. Fixed task? Umm..., no. More like whatever programming or sys admin task that is beyond the training of the other people. With all of my boss's schemes, this is quite a wide variety of things. This might mean writing programs in Ruby, designing web interfaces, JavaScript, database programming, setting up and administering Linux servers (format, install, cron jobs, user and group accounts and access rights, SELinux, init.d boot scripts, package updates, source code installs), setting up and administering network services (Apache, SSH with some emphasis on public keys, Samba, SVN, PostgreSQL, RSync), designing hardware (Verilog and VHDL level mostly), writing backup scripts, writing Windows install scripts, signal processing, programming geographic information systems, security and security auditing, general IT support, data parsing and processing, review new technology for relevance, write code for fully automated retrieval, processing, and storage of large datasets (about 2-12 GB of new raw data per day) that can run unattended for weeks or months, understanding cryptic messages from Fortran programs (which usually involves reading their source code), and generally badgering other people to follow proper coding conventions, do things the "right" way, not write horribly inefficient code, and make proper use of the version control system. (I have fun with the badgering part) :P
 4. a. I basically do what other people don't know how to do (well), or at least plan things out for them, and possibly help with or review their work. Oh! And explicitly not to deal directly with the customers! :)  (It's actually a bit of a public safety issue, since I don't have the same training as the engineers do, and also to avoid embarassing customer relations, as again, I don't have the same training as the engineers do, and so I'm not as well versed with client concerns or government regulations).

5. Umm, no, I don't really work any overtime. Although, there are two reasons there. The first being that my boss doesn't want to pay overtime wages, so he doesn't authorize overtime work (unless it's client billable, which my work, being internal development, virtually never is). The other reason being that I worked for a long time as a contractor, and so there is no concept of "overtime". When I was a contractor I basically worked for how ever long I felt like in a day as long as there was work to be done (provided I met some unspecified minimum level of performance). When I started I had other commitments, so I was working less than full time, maybe about 120 hours a month. My peak was at about 193 hours in a month. Officially I now work about 160 hours per month, but in practice there's a bit of wobble about that point. Instead of overtime pay, I get to bank my hours.

6. Deadlines? I don't really have much in the way of "deadlines". I had a set of tasks that need to get done, and they take however long they need to take. I give my best estimate as to how long a task will take, quickly double it because things almost always go wrong, and then my boss takes that number and doubles it again because programmers are hopelessly optimistic. By that point the estimate is usually starting to get close to how long it will actually take. If it's a substantial project, he then adds about a week to make sure other people can figure out how to use the system, and to make sure it's properly tested and debugged. Customers won't hear about the upgrade or new system, not even for demo purposes, until we are into the testing stage and it seems to be working. Only after working code is up and running are any meetings scheduled. Rather than schedule when something needs to be done by, we simply schedule later things after a finished date. As for what to work on, that depends on the time estimates, and what we see comming up to determine what the highest priority item is. If something looks like it'd be particularly useful by a certain date, and doable by that date, then we may prioritize working on that item. But we never tell anyone we worked on it until we're done.

7. Half the company when I started.

8. Yes, plenty of foreigners.

9. Regular work day/week? Umm... irregular! I sleep in, get up when I'm good and ready, show for work maybe about noon.... ;)

10. Mostly just time or workload constraints that affect what is doable. If that's the case, we either start with a smaller subproblem that is doable and has immediate benefits, or we come up with a new problem that we are more likely to benefit from solving.
10. a. Occasionally disk space or processing speed are limiting factors, but that usually just means more hardware is purchased. We have a number of 8 core machines for data processing, and all the engineers have 4 core machines for desktops. I have the lowest powered machine with only 2 cores (2.4 GHz), which was nearly garbage material to them before I joined. My computer has 3 harddrives, with 2.5TB of disk space on the secondary data drives. I think all the desktop computers now have a 1TB, 1.5TB, or 2TB secondary data drive. We have also have external drives and network attached storage devices. Those are 1.5TB and 10TB. The web and compute servers have two 750GB drives each, but they're in a mirrored RAID array so there is only 750GB total available on those mochines. If a job is active on one of those machines, we usually monitor and clean it up about once a week to keep them from filling up. Raw input data eats up 2GB-12GB per day, and is always active for archiving purposes. If a job is also actively running, that will eat up probably more than double, even with self cleaning of the bulk of intermediate files. Any job data is generally archived for a period of several months, and at least a trimmed version of the input data is archived indefinately. Essentially, we had disk space issues, and solved it by buying more disk space, automated self cleanup, and automated backups, as it's just too much data to deal with by hand.

11. Bored of programming! Blasphemy!
Just kidding. There are times when it gets a little frustrating and I want to do other things. Mostly just short term though, and usually involves a desire to sleep.

12. Naturally. Mind you, the kind of programming I do in my spare time is kind of different from what I do at work. There is occasionally some overlap though.

 

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Programmer Interview
« Reply #15 on: April 21, 2010, 04:56:38 AM »
Thanks, Hooman, you've been a great help! :lol:
I will now translate that to Dutch.

Also, I want your job. It sounds great.

Offline alice

  • Administrator
  • Hero Member
  • *****
  • Posts: 553
Programmer Interview
« Reply #16 on: April 21, 2010, 11:41:58 AM »
Unsure if it's too late for the answers or not, but..
1. In what language(s) do you code or work with?
I was hired as a PHP developer, but also work in the VB.NET side. Currently I'm working on a Ruby and Flex application. Every once in a while an old Access/VB6 app comes through. We're a primarily web shop though, so HTML/CSS/Javascript/(PHP|VB.NET)/SQL. I have a Cold Fusion project coming up soon.. (We service external clients, rather than doing product development, so we have a wide variety of projects that come through)

-1a. If this is a compiled language, do you have special build-servers or farms?
Our only compiled work is the .NET stuff, but we do not use any form of distributed compiling for this. We do have a virtual machine (HyperV more specifically) that is running ~13 development servers that I manage. These servers include MS SQL 2000, 2005, 2008, MySQL 5x, PHP 5.2, .NET/IIS Dev, .NET/IIS Staging, Website monitoring (Nagios), file server, and a few others.
2. Do you work from your home or do you work at an office?
I work at an office, in my ~6'x6' cube, haha (I do have figures/etc on my desk and my Sennheiser headphones to keep my company :))

3. Do you work in teams or as an individual?
We do very team oriented development for larger projects, but sometimes get tasked for individual work. I guess it depends if you mean parallel or serial. Projects go from sales -> design -> development -> testing, and sometimes it can be a single individual tasked for each step. We have several large projects that require multiple developers to be working on it at the same time.

-3a. If you work in teams, is there a lot of personal contact with you colleagues, or is it purely about getting the job done. aka, what sort of atmosphere is it?
Our atmosphere is very friendly and we're a tightly knit group. Dress is business casual though, but.. people share music etc.. I can get up and walk to my coworker's cube and ask them a question if I want.

4. Do you do have a fixed task? (for example, do you always do the design of a piece of software, or perhaps take care of all the embedded JavaScript in a website?)
Nope; I do whatever is required for the project, including interfacing with the customer, designing the application from top to bottom, and implementing it. It just depends how the tasking falls and who is more experienced or available to work on it schedule-wise. For me personally, I also do much more beyond development.. I manage all of our staging, virtual development, and live servers (including managing users, maintaining security, ensuring backup execution, bringing servers up and configuring them, decommissioning them). I manage all of our customer's domain names and DNS, mail servers, SSL certificates, and much more. I monitor all of our websites to ensure that they are constantly up and send out customer notifications if they go down. Every once in a while I'll get to go on site to a client and do something there. I estimate level of effort for incoming projects, I debug and resolve issues with anything the client can thing up... Fixed tasking wasn't in the job description hehe.

5. Do you often have to work overtime? (is that a correct translation? I mean working longer)
I personally tend to work fairly long hours, but by choice usually. There have been a few 'crunch time' moments where a developer and I worked a weekend to meet a deadline. I work late to make up for time that I felt wasn't spent effectively during the day.. We bill clients by the hour, so I try to make sure they are getting their money worth. I'm salaried though, so I don't get overtime pay.

6. Is it hard to meet your deadlines?
It depends if the project was accurately estimated. Sometimes the project is on par with the estimate, sometimes it takes several times longer.. Lots of things can cause this, whether they be the schedule not falling right or the project's scope expanding to encompass more. As the schedule is usually tied to the estimate (e.g. '30 hours of work' -> 'we can have it to you in one week'), it comes down to whether the due diligence was done to ensure the estimate was accurate.

7. Are there many women at your job?
We have a fair number of women in the administrative professionals and accounting side of the organization. The only women in our division is one of our sales rep currently. We used to have a .NET developer and a designer that was female, but they are no longer here. We also had two PHP interns that were female.

8. Are there a lot of foreigners at your job? (not being racist here of course, I just mean people from a lot of countries, perhaps working as freelancers)
Nope, none. We used to have a guy that worked in a nearby(? 80 miles?) major city in one of our satellite offices, and he'd come on site. I think he was either Korean or Japanese. Beyond that, nope.

9. How does your regular work day/week look like?
Do you mean time-wise or what do I do? Time wise, I'm scheduled for 8-5, 5 days a week, 1 hour lunch. What do I do.. we have a morning meeting for 15 minutes (a scrum) where we tell what we're going to do that day, if we're late on anything, and if we are 'stuck' or need help with anything. Then we go to cube city and get programming =P

10. Have you ever been unable to solve certain programming-problems?
There is a student scheduling app for one of our clients that has been rewritten several times and never delivered... it's a fairly difficult problem..

Beyond that, not really. Most things that are difficult to solve are just difficult to reproduce/etc. (cross browser; different server environments) Finding the problem is half the battle.

11. Do you ever get bored of programming?
Nope ^^ I loved it when I was a kid and I love it now

12. Do you still like to program in your free time?
It's one of the few things I do outside of work ^^'

I hope that these answers were sufficient and that they didn't come too late. If not, I guess they might be interesting to read regardless.

Let me know if you need anything else!
« Last Edit: April 21, 2010, 11:50:55 AM by gpgarrettboast »

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Programmer Interview
« Reply #17 on: April 21, 2010, 12:02:21 PM »
Wow, thanks gpgarrettboast! I wasn't expecting to get another reply, but I guess that if I add your reply as well, I might even get extra credit? :D

When I think about becoming a programmer, your work actually looks a lot more like it.
But.. did you just say Ruby AND Flex? Nice. Very nice.

Actually, I have some more questions, although they're a bit random. I'll edit them in in a second.

Quote
1. Do you think you will do this job until retirement?
2. What do you hate most about your job?
3. Do you get weeks off? Like on holidays?
« Last Edit: April 21, 2010, 12:06:01 PM by AmIMeYet »

Offline CK9

  • Administrator
  • Hero Member
  • *****
  • Posts: 6226
    • http://www.outpost2.net/~ck9
Programmer Interview
« Reply #18 on: April 21, 2010, 01:37:43 PM »
ooo!  I think I know hooman's answer to 2!  Having to deal with fixing the problems with the coding the engineers do :P
CK9 in outpost
Iamck in runescape (yes, I still play...sometimes...)
srentiln in minecraft (I like legos, and I like computer games...it was only a matter of time...) and youtube...
xdarkinsidex on deviantart

yup, I have too many screen names

Offline alice

  • Administrator
  • Hero Member
  • *****
  • Posts: 553
Programmer Interview
« Reply #19 on: April 21, 2010, 02:08:20 PM »
Quote
Wow, thanks gpgarrettboast! I wasn't expecting to get another reply, but I guess that if I add your reply as well, I might even get extra credit? :D

When I think about becoming a programmer, your work actually looks a lot more like it.
But.. did you just say Ruby AND Flex? Nice. Very nice.

Actually, I have some more questions, although they're a bit random. I'll edit them in in a second.

Quote
1. Do you think you will do this job until retirement?
2. What do you hate most about your job?
3. Do you get weeks off? Like on holidays?
Extra credit or no, I hope the answers helped a bit ^^

For your other questions:

1. Do you think you will do this job until retirement?
This job being programming? I hope so. Although I may want to teach someday; I haven't decided. But I'll program until I die, or until the need for it disappears.

If you mean will I work for the company that I currently do until I retire, I'd have to say probably not. While I have worked here for over 2 years, I don't see myself staying here forever. Even if I were to work here for *20 years*, that'd only put me at 40, midway through my life (hopefully lol). I'd like to have a change of pace I think, maybe work on product development, or work for a company that runs a service (monster/facebook/etc). Although, I'm unsure how long I'll be staying here, I also don't have any plans on leaving, so who knows?

2. What do you hate most about your job?
I'd say the way our billing has to work.. essentially, if someone calls in, we start billing them in .15 minute increments. This means I have to account for every minute of my day, so the appropriate client is billed. As you can see from my answers above, that could be many clients within one day. And if I get stuck on a problem, or just am unproductive for some reason, I still have to account for that time. I don't like billing clients for time that I'm unproductive, but if I don't, then I can't say "I worked 8 hours" that day, and I have the potential to push a project over budget because the time spent on it was not spent effectively. It's frustrating at times, but I can't really do anything about it.

3. Do you get weeks off? Like on holidays?
I get a day for most US holidays off, and I get a fair number (a bit more than a week) of vacation days that I can take. This may differ greatly by country, but that's how it is in the US for me.
 

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Programmer Interview
« Reply #20 on: April 21, 2010, 02:36:54 PM »
Awesome, I think my report might actually be good enough now.

I'll be sure to update this thread with my grade ;)

Again, thank you both!

Offline evecolonycamander

  • Hero Member
  • *****
  • Posts: 602
Programmer Interview
« Reply #21 on: April 21, 2010, 05:47:54 PM »
Best of luck! out of curiosity what school are you going to? it seems that they give out a s[censored] hole amount of homework... something I've never dealt with well
''The blight cant get us up here!''
-famous last words
--------------o0o--------------
Outpost 2: EoM project status: Re-planning

Offline Hidiot

  • Hero Member
  • *****
  • Posts: 1018
Programmer Interview
« Reply #22 on: April 22, 2010, 12:42:23 AM »
I'd assume college, and just about any self-respecting form of higher education will drown you in homework (especially the humanities part).
"Nothing from nowhere, I'm no one at all"

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Programmer Interview
« Reply #23 on: April 22, 2010, 01:21:45 AM »
Quote
1. Do you think you will do this job until retirement?
2. What do you hate most about your job?
3. Do you get weeks off? Like on holidays?

1. Nevermind retirement, I'll probably be into programming until I die. I doubt I'll stay at my current job the whole time, but I have no plans to leave any time soon. I've been considering teaching computer science at a university some day though, so I might not always be a code monkey.

2. As much as I find humor in CK9's response, I think I rather enjoy the teaching aspect. Perhaps what gets to me more is having to live with inefficiency. Why is the web based on text based protocols? It's not like people ever really need to read that stuff. It's all machine processed. They'd be able to process a binary protocol faster, and with less data to send over the wire. For the few times you'd need to use something like WireShark, you could have just used a protocol analyser. Similarly with FireBug, you're not actually reading the raw headers (in default mode), but an interpretation of them.
That, and perhaps not having as much vacation time as when I was a student. I liked having that freedom, and now I feel a little tied to my job.

3. I get 2 weeks worth a year of my own choosing. Actually, I think 10 work days would be a little more accurate of a statement.
 

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Programmer Interview
« Reply #24 on: April 22, 2010, 11:06:15 AM »
Quote
Best of luck! out of curiosity what school are you going to? it seems that they give out a s[censored] hole amount of homework... something I've never dealt with well
The Dutch equivalent to High School, unfortunately :/
But next year I'll go to HBO, which is kind of like "Community College" according to wikipedia, but it lasts for about 4 years. There I'll study Informatica ( programming, basically :lol: )

Thanks for your response Hooman! :) (although I must say I've already had to hand in the report just today). I'm a bit curious as to why you said "Why is the web based on text based protocols?". Last time I checked, TCP was pretty damn binary. Or do you mean HTML, etc.? That is indeed a good one. If only the people who thought it up would have envisioned what the web is today, then perhaps they would have gone that extra mile.