Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Sang-
Nov 2, 2007

Cryolite posted:

I'm just curious, what kind of work would you be doing where they asked you that?

High performance computing. The company makes complete stacks for other companies (and will go down to designing FPGAs etc if the client needs that level of performance).

Adbot
ADBOT LOVES YOU

evensevenone
May 12, 2001
Glass is a solid.
It still sounds like a fun interview question even if you obviously aren't going to be writing your own garbage collectors.

Acer Pilot
Feb 17, 2007
put the 'the' in therapist

:dukedog:

Zero The Hero posted:

I was told on Tuesday that the company would be contacting the selected candidate by the end of the week. Well, it's the end of the week. Sigh... I don't want to start looking for jobs all over again. That was the only good opportunity I'd had in months, and I was looking forward to living in the new area.

Always keep interviewing with multiple companies, never bet on anything.

Zero The Hero
Jan 7, 2009

I didn't really bet anything, but I invested more money than I should have into the venture. They paid for the airplane tickets, but of course I bought my clothes, food, took off of work, took a cab, etc.. I'm just tired of job seeking, I'd give up if that were possible. I graduated in 2009 and no one is interested in me, this was a stroke of luck, or so I thought. Instead it was a waste of money. I'm going to be extremely careful if I ever get another interview in California

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

Zero The Hero posted:

Sigh... I don't want to start looking for jobs all over again.
In response to this I'll mention that early in my most recent job search, whenever I had a couple of active employer contacts I would stop sending out new applications and would be selective about responding to new contacts. If there's an economy where that makes sense, the current economy isn't it. At the time I was working out of my e-mail inbox and whatever I could remember from day to day. It helped a great deal to start keeping a daily log of all applications and contacts, so that I could keep track of more leads even while doing in-person interviews.

Most companies will reimburse for meals and a cab ticket. Did you ask?

Gazpacho fucked around with this message at 07:34 on Jun 15, 2013

Uziel
Jun 28, 2004

Ask me about losing 200lbs, and becoming the Viking God of W&W.
In line with the recent posts about applying and working for Google, does anyone know someone that could comment on interviewing and working for SpaceX? I am very interested in applying as part of their new graduate program at some point in the future. Unfortunately an internship wouldn't work.

RICHUNCLEPENNYBAGS
Dec 21, 2010
This is more subjective, maybe, but I guess I wonder when I'm "ready" to go for a programming job. Let me give a little background to say when I'm coming from:

I have a totally unrelated degree (Japanese), but when that wasn't working out for me I decided to try and get into IT. I kind of lucked into a jack-of-all-trades sort of IT job. The pay is not very good, but the nice part is I get to "punch above my weight" a lot so I got lots of experience with stuff I walked in knowing nothing about. So anyway, while I've been on this job I've been on a gradual progression through SQL queries, access, blah blah, so anyway I'm at the point now where I regularly write scripts with Perl (for Unix) and and Powershell (for Windows) and I've written and deployed some small JavaScript things. I've also cranked out a simple C# Winforms application for work on my own (I started a bigger CRUD sort of a app using Linq at home but then I found out someone else had written software to do the same thing and kind of lost motivation).

So anyway, part of me says, you know, I really lack a formal background and there are huge gulfs in my knowledge (and certainly there's a lot of stuff I'd like to do, like writing device drivers, where my skills just aren't enough right now). On the other hand, another part of me says there are thousands and thousands of .NET CRUD apps in the world where my skills are perfectly adequate to work on them.

How much is enough to seriously consider looking at a junior programming job? I'm not going to starve if I stay at my job for longer, but the money is a big deal and I'd like to focus more on programming than the more "retail" IT kind of stuff that's also part of my job.

wolffenstein
Aug 2, 2002
 
Pork Pro
Need to see a GitHub or at least a portfolio before any personal assessment can happen. If you don't have either or can't show anything for whatever reason, local developer meetups are a great way to determine your skill level.

Infinotize
Sep 5, 2003

RICHUNCLEPENNYBAGS posted:

This is more subjective, maybe, but I guess I wonder when I'm "ready" to go for a programming job. Let me give a little background to say when I'm coming from:

I have a totally unrelated degree (Japanese), but when that wasn't working out for me I decided to try and get into IT. I kind of lucked into a jack-of-all-trades sort of IT job. The pay is not very good, but the nice part is I get to "punch above my weight" a lot so I got lots of experience with stuff I walked in knowing nothing about. So anyway, while I've been on this job I've been on a gradual progression through SQL queries, access, blah blah, so anyway I'm at the point now where I regularly write scripts with Perl (for Unix) and and Powershell (for Windows) and I've written and deployed some small JavaScript things. I've also cranked out a simple C# Winforms application for work on my own (I started a bigger CRUD sort of a app using Linq at home but then I found out someone else had written software to do the same thing and kind of lost motivation).

So anyway, part of me says, you know, I really lack a formal background and there are huge gulfs in my knowledge (and certainly there's a lot of stuff I'd like to do, like writing device drivers, where my skills just aren't enough right now). On the other hand, another part of me says there are thousands and thousands of .NET CRUD apps in the world where my skills are perfectly adequate to work on them.

How much is enough to seriously consider looking at a junior programming job? I'm not going to starve if I stay at my job for longer, but the money is a big deal and I'd like to focus more on programming than the more "retail" IT kind of stuff that's also part of my job.

With your type of background and goal of going into full programming/development/engineering it seems like CS fundamentals would be the place to improve the most. I've been doing a bunch of interviewing and so far most places ask the same genre of questions. If you aren't familiar with data structures, O(n), etc, you could be a fine enough programmer but will have a tough time interviewing. Look up interview questions and stuff like topcoder SRMs and google code jam to gauge your chops.

Also while I get questions about my resume in about half of interviews, I think most of the time it's sortof a check on whether or not it was bullshit and I actually did the stuff on it. When it comes down to it IMO it's more about interview performance than background.

I like this blog post for general stuff you should know to get a job. It's about Google but I think it applies most places.

http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html

evensevenone
May 12, 2001
Glass is a solid.

Uziel posted:

In line with the recent posts about applying and working for Google, does anyone know someone that could comment on interviewing and working for SpaceX? I am very interested in applying as part of their new graduate program at some point in the future. Unfortunately an internship wouldn't work.

I've known a few people that work/worked at SpaceX. It's a very top-down organization; Elon is (or was) extremely involved and he hires VPs/managers etc that have a similar style. For a long time Elon interviewed all of the engineering staff as the last step in the process, but I think he stopped doing it.

The interview process seemed pretty intense, at least for engineers. A couple rounds of interviews and a technical presentation. However I don't think the bar is impossibly high, the people I knew are smart and capable, but not insane super-geniuses or anything.

RICHUNCLEPENNYBAGS
Dec 21, 2010

Infinotize posted:

With your type of background and goal of going into full programming/development/engineering it seems like CS fundamentals would be the place to improve the most. I've been doing a bunch of interviewing and so far most places ask the same genre of questions. If you aren't familiar with data structures, O(n), etc, you could be a fine enough programmer but will have a tough time interviewing. Look up interview questions and stuff like topcoder SRMs and google code jam to gauge your chops.

Also while I get questions about my resume in about half of interviews, I think most of the time it's sortof a check on whether or not it was bullshit and I actually did the stuff on it. When it comes down to it IMO it's more about interview performance than background.

I like this blog post for general stuff you should know to get a job. It's about Google but I think it applies most places.

http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html

Well, yeah, that's obviously my biggest gap and I have mountains of reading material to work through; I imagine I'm not going to be able to fake a background in comp-sci in a couple weeks. I guess what I was wondering is if, in the meantime, there was a reasonable chance of getting in somewhere where I can crank out mundane data entry type applications before I have all that knowledge.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

RICHUNCLEPENNYBAGS posted:

Well, yeah, that's obviously my biggest gap and I have mountains of reading material to work through; I imagine I'm not going to be able to fake a background in comp-sci in a couple weeks. I guess what I was wondering is if, in the meantime, there was a reasonable chance of getting in somewhere where I can crank out mundane data entry type applications before I have all that knowledge.

Totally separate from CS education, there's a mountain of software engineering practices that you should be familiar with before you write production code. You say you "can crank out mundane data entry type applications". You're wildly underestimating what goes into writing good software. Even a simple CRUD application should be properly designed and make proper use of the language's idioms and best practices. You don't know how to design software, and you don't know what these practices are yet.

Only lovely, desperate, or ignorant companies are going to hire you to write software for them, because the software you write will belong in the "coding horrors" thread and anyone who knows what they're doing that comes after you will hate you.

Obviously, everyone has to start somewhere. Choose a language to learn. Start really learning it on your own. Get some code on Github and solicit feedback. Be willing to accept constructive criticism, because you're going to get a lot of it. Look at other active, well-regarded projects in your language, see how they do things. If you see something that's new or weird, find out what it is and why it's done that way. Read Stack Overflow -- I read it every day, and you'll see a lot of common horrors pop up in questions and be quickly pointed out and explained by people who know their poo poo.

No matter what language you start learning in depth, learn what unit testing is and how to do it well.

SurgicalOntologist
Jun 17, 2004

In short: I'm getting a Ph.D. in Psychology but rather than do research I want to get into scientific computing.

Background (warning: I wrote too much)
Undergrad: Sc.B. in Cognitive Neuroscience. Good GPA, great school. Took one CS class, "Intro to Scientific Computing" where I learned Matlab (although really I consider myself self-taught since that class was slow as balls). Other relevant classes besides psych/neuro: Calculus, linear algebra, abstract algebra, philosophy of math.

In-between: Lab Manager in a psych lab, did lots of technical stuff. During this time because an expert in Matlab/Simulink (taught myself OOP, GUI development, functional programming all from a Matlab perspective [yes, now I know, go ahead and roll your eyes]). Biggest project during this time (self-initiated) was a GUI for simulating systems of ODEs. Set the parameters and initial conditions, view the outcome.

Currently: Two years into a realistically 6+ year program in Psychology. Without linking to the specific institution (although you could probably figure it out from my post history) this is a very unorthodox program. Relevant classes I have taken (all grad level): Complex systems (from a physics perspective), nonlinear timeseries analysis, dynamical systems, statistics. I'm about to submit my first manuscript to Physics Review E, about multifractal structure in human movement data. I am also currently preparing a conference presentation on a dynamical model consistent with two theories (previously thought to be competing).

In my first summer here I taught an informal seminar on Matlab to other grad students and I have been tentatively invited to another university to do it again.

The two biggest projects I have worked on here (both Matlab):
- A GUI for visualizing parameter fits in parameter spaces of arbitrary dimensionality. For each point in parameter space we have a matrix of fits (e.g. one R^2 for each trial, some other metrics). User selects or supplies a function (e.g. median R^2) to get one value from these. User selects 3 dimensions to visualize, is presented with a slider for all other dimensions. User can make any number of these panels each displaying a different metric or different values of the non-visualized variables. GUI displays a surface of equal-fit contour, which can be adjusted with another slider. For example, move the slider up until the blob all but disappears and you find the best fit in the parameter space. Move it down and you can see the area of parameter space which fits "okay".
- A GUI for plotting 1 and 2-D dynamical systems. User supplies an anonymous function representing one or two ODEs with any number of parameters. GUI presents sliders for all parameters. 1D version plots potential and flow and marks attractors and repellors. 2D version plots phase space and all fixed points marked by type (e.g. stable, unstable, center, etc). When user clicks, runs a simulation and plots the trajectory. 1D version can also generate bifurcation diagrams.

Basically I really enjoy taking a task I need for a specific project and generalizing as much as I possibly can.

Recently I have taught myself R and Python and frankly I'm addicted. I'm spending more time on pet projects than on my research. I had already been making suggestions to colleagues like "I'll do 100% of the programming / data analysis for any project for a co-authorship" (except not so explicitly). If I could do all the programming (stimulus presentation, data analysis, data exploration, generating publishable figures) for my department and do nothing else, I would.

Goal
I would love to work in any sort of scientific computing, especially data analysis/visualization and modeling.

Questions
- I should finish the Ph.D., right? On the one hand, it's psychology, on the other hand, my specific program is all about understanding organisms as complex systems and frankly I think I could sell these skills as applicable to any domain. Most of the techniques I'm using (e.g. the paper I'm submitting to PRE) come from the financial domain, for example.
- What are my job prospects with little to no formal programming experience? In the context of my department I'm the god of programming. But in the context of other programmers, I suck.
- What sort of jobs are out there that I haven't thought about? Academia is all I know. I'd consider anything really, from software development to data mining to teaching scientific computing (although the latter is probably as dysmal a job market as being a Psych professor). Ideally, I'd like to stay on the academic side and be a sort of programming consultant for researchers, but the problem there is nearly all researchers do it themselves or delegate to grad students, no matter how much they suck or how much time they're wasting. The closest thing to that is probably just being a technically-oriented researcher with lots of collaborators, but that still means going through the Professor job market. Which I don't want to do, because even if I can get a job it either won't pay well or will be in the middle of nowhere.
- What should I be working on in the meantime? Anything other languages I should pick up? Caveat: I have no interest in doing anything that requires low-level programming. I want to be doing as high-level programming as humanly possible. Is that realistic? I guess I should make an exception for databases, anything else?
- I'll have to choose a thesis eventually, assuming I stick with the program. How's this strategy: do something that requires a lot of programming, and avoid being too domain-specific if possible.

drat, sorry I wrote so much. Maybe I just need someone to talk me down from quitting my program. I enjoy it, I love the topic (my biggest regret about leaving Psych would be leaving the specific research domain), but recently if there's work that requires programming, I get it done instantly. If it doesn't require programming (like writing a manuscript :suicide:) it takes me months.

Ninja edit: dear god I hope my advisors don't ever see this.

SurgicalOntologist fucked around with this message at 19:44 on Jun 15, 2013

Nippashish
Nov 2, 2005

Let me see you dance!

SurgicalOntologist posted:

I'm getting a Ph.D. in Psychology ... I would love to work in any sort of scientific computing, especially data analysis/visualization and modeling.

So basically what you're saying is you want to be John Myles White.

RICHUNCLEPENNYBAGS
Dec 21, 2010

Ithaqua posted:

Totally separate from CS education, there's a mountain of software engineering practices that you should be familiar with before you write production code. You say you "can crank out mundane data entry type applications". You're wildly underestimating what goes into writing good software. Even a simple CRUD application should be properly designed and make proper use of the language's idioms and best practices. You don't know how to design software, and you don't know what these practices are yet.

Well, sure, if I go back to something I wrote a year ago my reaction is usually gee, I could have done this a lot better. Experience has that effect (especially when you find yourself having to maintain stuff you wrote well after you've forgotten all about how it works). I've gotten roped into writing tons of requirements documentation for other projects so I'm not a total naïf to formal process either (for the stuff I do on my own, I just sketch something out on paper before I start; I realize that has problems with scale but, hey, so do one-man projects).

I don't have delusions about tomorrow becoming a software engineer for Google or a software architect or anything like that but I wondered if being a junior programmer anywhere was in my grasp. This thread seems to feel like the answer to that is no.

double sulk
Jul 2, 2010

RICHUNCLEPENNYBAGS posted:

I don't have delusions about tomorrow becoming a software engineer for Google or a software architect or anything like that but I wondered if being a junior programmer anywhere was in my grasp. This thread seems to feel like the answer to that is no.

There's no such thing as a junior programmer any more.

RICHUNCLEPENNYBAGS
Dec 21, 2010

gucci void main posted:

There's no such thing as a junior programmer any more.

What do you mean by this? There are plenty of jobs that describe themselves this way at least.

Safe and Secure!
Jun 14, 2008

OFFICIAL SA THREAD RUINER
SPRING 2013

gucci void main posted:

There's no such thing as a junior programmer any more.

Is that related to this?

gucci void main posted:

However, for what it's worth, the entire CS market is hosed anyway in the next few years if the non-SF/NYC/Austin markets don't become more flexible towards non-senior developers.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

RICHUNCLEPENNYBAGS posted:

Well, sure, if I go back to something I wrote a year ago my reaction is usually gee, I could have done this a lot better. Experience has that effect (especially when you find yourself having to maintain stuff you wrote well after you've forgotten all about how it works). I've gotten roped into writing tons of requirements documentation for other projects so I'm not a total naïf to formal process either (for the stuff I do on my own, I just sketch something out on paper before I start; I realize that has problems with scale but, hey, so do one-man projects).

The problem is it sounds like you're coding in a bubble. Without more experienced developers around to guide you and slap you on the wrist when you do something silly, you'll never stop doing silly things.

"Formal process" varies from company to company. If you come to me and say "I've written requirements documents in the past!", my response will be, "So? We do Agile here. We don't have requirements documents because those are almost always inaccurate and don't reflect the finished product in any meaningful way."

gucci void main makes an excellent point... the industry is at a point where no one wants to take a risk on hiring someone, even as a junior, who can't already program reasonably well. That's why you need to start learning to program reasonably well on your own, and not in a bubble. There's an expectation that programmers enjoy what they do and continue their education outside of work.

DreadCthulhu
Sep 17, 2008

What the fuck is up, Denny's?!
Why don't you implement something pretty self-contained that is of use to people in the real world? If you want to work in the web industry, put together a web app in Rails or whatever modern framework of choice and use that as a stepping stone towards a real programming job in that field. Release it to the web so others can use it, this is critical for moving past the "just a program I hacked together at home". Even better, share the source so that people can give you a critique. You'll both get some hands-on experience and increase your likelihood that some web shop will give you a shot in a very junior position.

Uziel
Jun 28, 2004

Ask me about losing 200lbs, and becoming the Viking God of W&W.

evensevenone posted:

I've known a few people that work/worked at SpaceX. It's a very top-down organization; Elon is (or was) extremely involved and he hires VPs/managers etc that have a similar style. For a long time Elon interviewed all of the engineering staff as the last step in the process, but I think he stopped doing it.

The interview process seemed pretty intense, at least for engineers. A couple rounds of interviews and a technical presentation. However I don't think the bar is impossibly high, the people I knew are smart and capable, but not insane super-geniuses or anything.
Thanks. Is it an accurate assumption that it would be similar to google in that data structures, algorithms and white board code are of utmost importance to the interview process? My degree is IS instead of CS so I'm aware those things are my biggest weakness that I'm working to correct. I'm also wonder how the new grad programs work if you are a recent graduate and also have a few years experience.

RICHUNCLEPENNYBAGS
Dec 21, 2010

DreadCthulhu posted:

Why don't you implement something pretty self-contained that is of use to people in the real world? If you want to work in the web industry, put together a web app in Rails or whatever modern framework of choice and use that as a stepping stone towards a real programming job in that field. Release it to the web so others can use it, this is critical for moving past the "just a program I hacked together at home". Even better, share the source so that people can give you a critique. You'll both get some hands-on experience and increase your likelihood that some web shop will give you a shot in a very junior position.

I mean, sure, but isn't stuff I wrote for nontechnical end users at work, or stuff I did for my employer's company Web site, "of use to people in the real world?" I had the impression that being able to say "someone has paid me to do this in the past" is good.

Ithaqua posted:

The problem is it sounds like you're coding in a bubble. Without more experienced developers around to guide you and slap you on the wrist when you do something silly, you'll never stop doing silly things.

"Formal process" varies from company to company. If you come to me and say "I've written requirements documents in the past!", my response will be, "So? We do Agile here. We don't have requirements documents because those are almost always inaccurate and don't reflect the finished product in any meaningful way."

gucci void main makes an excellent point... the industry is at a point where no one wants to take a risk on hiring someone, even as a junior, who can't already program reasonably well. That's why you need to start learning to program reasonably well on your own, and not in a bubble. There's an expectation that programmers enjoy what they do and continue their education outside of work.
Well, I have a boss who's a much more experienced .NET dev but I don't see a lot of him.

That problem isn't really limited to programming; pretty much every aspect of my job I'm self-taught. Which sometimes is an ego boost but it has the downsides you mentioned.

RICHUNCLEPENNYBAGS fucked around with this message at 15:21 on Jun 16, 2013

baquerd
Jul 2, 2007

by FactsAreUseless

RICHUNCLEPENNYBAGS posted:

I don't have delusions about tomorrow becoming a software engineer for Google or a software architect or anything like that but I wondered if being a junior programmer anywhere was in my grasp. This thread seems to feel like the answer to that is no.

I would look at easing yourself into it if you eventually want to be a programmer. You could look at paid internships, or something like IT operations where you will likely be writing scripts and working with devs.

RICHUNCLEPENNYBAGS
Dec 21, 2010

baquerd posted:

I would look at easing yourself into it if you eventually want to be a programmer. You could look at paid internships, or something like IT operations where you will likely be writing scripts and working with devs.

I already have a job like that (except in addition to scripts I'm sometimes developing end user tools)... I'm looking at the next step of easing myself into it.

Opulent Ceremony
Feb 22, 2012

RICHUNCLEPENNYBAGS posted:

I already have a job like that (except in addition to scripts I'm sometimes developing end user tools)... I'm looking at the next step of easing myself into it.

People in this thread have been giving good advice in general with regard to becoming a better programmer, but everything you've written about yourself tells me you can indeed get an entry-level development position right now. Let me qualify that: It depends a lot on where you live and what the market is like.

This isn't to say it will probably be a great job where you have brilliant co-workers forcing you to improve your skills, and you probably won't be rolling in money. Someone had a much harsher phrase to describe these types of development jobs a couple posts ago, but there is nothing wrong with starting a career at one or working at one for your whole life. Just take a look at Craigslist and Dice and give it a shot.

For example, I've lived in many different places in California over the last 5 years and there were always little .NET shops that are more interested in whether you've used .NET before at all than whether you are a good programmer. Being able to whip up a little CRUD app would convince most of these places to hire you.

double sulk
Jul 2, 2010

Opulent Ceremony posted:

People in this thread have been giving good advice in general with regard to becoming a better programmer, but everything you've written about yourself tells me you can indeed get an entry-level development position right now. Let me qualify that: It depends a lot on where you live and what the market is like.

This isn't to say it will probably be a great job where you have brilliant co-workers forcing you to improve your skills, and you probably won't be rolling in money. Someone had a much harsher phrase to describe these types of development jobs a couple posts ago, but there is nothing wrong with starting a career at one or working at one for your whole life. Just take a look at Craigslist and Dice and give it a shot.

For example, I've lived in many different places in California over the last 5 years and there were always little .NET shops that are more interested in whether you've used .NET before at all than whether you are a good programmer. Being able to whip up a little CRUD app would convince most of these places to hire you.

Place the emphasis on "depends a lot on where you live" because 99% of places do not have entry level positions. They do not exist. See Ithaqua: "the industry is at a point where no one wants to take a risk on hiring someone, even as a junior, who can't already program reasonably well." You will get used to going through the loop of "we need someone with more experience" while the company you interviewed with continues to look for a senior developer/magical unicorn that will never appear. Having a degree helps a bit, especially with the odds of getting through HR and meeting someone in person, but if you don't have the actual experience on top of it, you're still at a massive disadvantage in non-SF/NYC markets.

If you have absolutely nothing holding you back and can financially afford to move to SF or NYC, feel free to do it. Do note that NYC's market is still really bad in comparison to SF in terms of quality of companies, though, at least when it comes to startups. You're more likely to work for a web shop than a startup there, and to roughly quote a well-put comment I saw once, many of those (NYC) companies are more willing to throw money at you and drop you on a dime if anything doesn't go perfectly. Don't commit to anything more than a month-to-month if you make a move.

The biggest piece of advice I have is that you get a big sense of what a life doing development is like when you have a job in a non-major company. It often becomes a lifestyle and you're expected to spend non-work hours doing toy projects or learning new things (when instead you really might just want to spend most of your evenings with your spouse, children, or friends). There's not anything wrong with this, by any means, but you might also find that while doing development is fun on your own, there can be a lot of pressure and unhappiness when you've got a boss to report to and/or a client to satisfy. This can apply to a lot of jobs, but I think that in development you learn pretty quickly whether or not you want to just keep it as a hobby.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
Something to add to the NYC chat: C# is extremely popular here right now. If you have even a basic understanding of computer science fundamentals, a teeny bit of experience with C#/.Net framework, can prove you aren't an idiot in an interview, and basics of web technologies, you can almost certainly find something here.

evensevenone
May 12, 2001
Glass is a solid.
I have no idea what you are on about, there are tons of junior/entry-level developer/programmer jobs. The thing is you don't see them in job listings because they're easy to fill. Most places I've worked did it pretty much 100% via networking and referrals.

Whereas organizations will spend months/years trying to find that white whale Senior Architect to replace the guy that's been there 10 years.

evensevenone fucked around with this message at 18:02 on Jun 16, 2013

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

RICHUNCLEPENNYBAGS posted:

I mean, sure, but isn't stuff I wrote for nontechnical end users at work, or stuff I did for my employer's company Web site, "of use to people in the real world?" I had the impression that being able to say "someone has paid me to do this in the past" is good.

Well, I have a boss who's a much more experienced .NET dev but I don't see a lot of him.

Tell him you're trying to improve your skills and you'd like a code review. Sit down with him and learn.

Of course, there's no guarantee that he doesn't suck. I've known plenty of "experienced" developers who are lovely and will just teach you more bad practices. That's why I'm recommending getting stuff out there on Github. I'd be more than happy to look over your code and give you pages and pages of notes on how you could improve.

RICHUNCLEPENNYBAGS
Dec 21, 2010

Good Will Hrunting posted:

Something to add to the NYC chat: C# is extremely popular here right now. If you have even a basic understanding of computer science fundamentals, a teeny bit of experience with C#/.Net framework, can prove you aren't an idiot in an interview, and basics of web technologies, you can almost certainly find something here.

I'm within commuting distance of NYC already so this is kind of encouraging. I guess I'll just get on Dice and see what's up.

I don't have much to add to the discussion at this point but this discussion has been helpful. I'll try to get more stuff up on Github. What I have now is a half-finished project that I used to learn GUI programming so it's not really representative of how I would do something similar now.

double sulk
Jul 2, 2010

RICHUNCLEPENNYBAGS posted:

I'm within commuting distance of NYC already so this is kind of encouraging. I guess I'll just get on Dice and see what's up.

I don't have much to add to the discussion at this point but this discussion has been helpful. I'll try to get more stuff up on Github. What I have now is a half-finished project that I used to learn GUI programming so it's not really representative of how I would do something similar now.

Use Stack Overflow, not Dice. Dice is generally a massive waste of your time and you'll just end up getting 50 calls/emails a day from Indians who kindly want your Word resume (I wish I wasn't sounding racist here but it's legitimately what happens).


evensevenone posted:

I have no idea what you are on about, there are tons of junior/entry-level developer/programmer jobs. The thing is you don't see them in job listings because they're easy to fill. Most places I've worked did it pretty much 100% via networking and referrals.

Whereas organizations will spend months/years trying to find that white whale Senior Architect to replace the guy that's been there 10 years.

Cronyism is always nice, but the fact still exists that smaller/not The Big Two markets are sorely lacking in this department. To add, some language/framework communities are absolutely full of idiots and/or assholes. See: JS, Ruby/Rails. This can make it a lot harder to get in. I'm not 100% familiar with the community, but I'd probably recommend C# as your best bet for a regular job with normal people.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

RICHUNCLEPENNYBAGS posted:

I'm within commuting distance of NYC already so this is kind of encouraging. I guess I'll just get on Dice and see what's up.

I don't have much to add to the discussion at this point but this discussion has been helpful. I'll try to get more stuff up on Github. What I have now is a half-finished project that I used to learn GUI programming so it's not really representative of how I would do something similar now.

Yeah, get some stuff up on Github and share the link.

Here's a list of subjects to study up on. A "*" denotes something that's C#-specific.

  • What is polymorphism? Give an example.
  • What is inheritance? Give an example.
  • What's an abstract class? What's an interface? How are they different? Give an example of when you'd use each. Literally everyone asks this question. I don't think I've ever not been asked it. It's almost entirely useless as an interview question at this point, but I still ask it because you'll occasionally get someone who doesn't know, and then you can safely disqualify them.
  • What is the MVC pattern? Where would you use it? Why would you use it?
  • What is the MVVM pattern? Where would you use it? Why would you use it?
  • Explain a few patterns (singleton, factory, visitor, whatever) and when you'd use them. Note: I always like to hear that singletons are awful and shouldn't be used. That gives me a warm fuzzy feeling.
  • What's a virtual method? *
  • Tell me about how you've used LINQ. *
  • Why shouldn't you use public fields? * (This is more of a trivia question. Not knowing the answer isn't a big deal, but knowing the correct answer actually tells me a lot)
  • What are generics? When would you use them?
  • When would you use an ArrayList over a List<T> * (trick question, the answer is "never, unless I've traveled back in time and I'm writing code in .NET 1.1")
  • Why shouldn't you build SQL queries via string contatenation? (Not knowing this is instant disqualification in my book)
  • Explain the difference between a reference type and a value type.
  • Explain the difference between a struct and a class.
  • Tell me about unit testing. Do you unit test? What's the value in unit testing? WHat test frameworks have you worked with?

I could come up with dozens more, but being able to give good answers to those questions will help you get a foot in the door at most companies. For your CS fundamentals, just be familiar with the various types of searching/sorting algorithms, their complexity (read up on "Big O notation"), and data structures (stack, queue, heap, linked list, trees).

New Yorp New Yorp fucked around with this message at 18:58 on Jun 16, 2013

Lurchington
Jan 2, 2003

Forums Dragoon

gucci void main posted:

Cronyism is always nice, but the fact still exists that smaller/not The Big Two markets are sorely lacking in this department. To add, some language/framework communities are absolutely full of idiots and/or assholes. See: JS, Ruby/Rails. This can make it a lot harder to get in. I'm not 100% familiar with the community, but I'd probably recommend C# as your best bet for a regular job with normal people.

DC is flush with junior folks due to the prime defense contractors vacuuming them up. This is mostly enterprise-Java and some C/C++ and we've had a hard time hiring from that pool for people who can do more than "implement the functions from this Interface Control Document."

I'm at a python shop and I'm perhaps too close it, but it's a pretty sweet community compared to some of the other stuff out there.

RICHUNCLEPENNYBAGS
Dec 21, 2010

Ithaqua posted:

Yeah, get some stuff up on Github and share the link.

Here's a list of subjects to study up on. A "*" denotes something that's C#-specific.

(snip)

If these are kind of representative questions then I feel pretty good because most of them I feel pretty comfortable answering.

Let me ask another question: do you have a book you recommend to learn the CS fundamentals part? I do a fair bit of reading on programming in my spare time anyway so based on the sound of things I should move something like a textbook to teach those concepts further up the list (I've spent a lot of time on "journeyman" kind of stuff like Learning Perl or Learning C# etc etc but I've gotten to the point where I'd rather read something that is giving me some sort of theoretical insight rather than just learning more syntax)

aBagorn
Aug 26, 2004

Ithaqua posted:

I'd be more than happy to look over your code and give you pages and pages of notes on how you could improve.

Hijacking. I may take you up on this before I start looking again. You were nothing less than awesomely helpful my first job search, but now the wife (and others) are very into moving near her remaining family in the Dallas area and I'm going to have to go through job hunting again. Don't look forward to it

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

aBagorn posted:

Hijacking. I may take you up on this before I start looking again. You were nothing less than awesomely helpful my first job search, but now the wife (and others) are very into moving near her remaining family in the Dallas area and I'm going to have to go through job hunting again. Don't look forward to it

Of course! Don't hesitate to PM me or message me on Skype or whatever.

RICHUNCLEPENNYBAGS posted:

If these are kind of representative questions then I feel pretty good because most of them I feel pretty comfortable answering.

Let me ask another question: do you have a book you recommend to learn the CS fundamentals part? I do a fair bit of reading on programming in my spare time anyway so based on the sound of things I should move something like a textbook to teach those concepts further up the list (I've spent a lot of time on "journeyman" kind of stuff like Learning Perl or Learning C# etc etc but I've gotten to the point where I'd rather read something that is giving me some sort of theoretical insight rather than just learning more syntax)

Jon Skeet's "C# in Depth" is excellent and brings a lot to the table even for experienced C# developers. He really hammers home what makes C# a unique and interesting language.

Someone else could probably give better recommendations on algorithms/data structures books; I'm admittedly rusty in that regard because the CS fundamentals don't come up too often in my line of work. I mostly have to brush up before interviews, and wikipedia is sufficient for that.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

RICHUNCLEPENNYBAGS posted:

Let me ask another question: do you have a book you recommend to learn the CS fundamentals part? I do a fair bit of reading on programming in my spare time anyway so based on the sound of things I should move something like a textbook to teach those concepts further up the list (I've spent a lot of time on "journeyman" kind of stuff like Learning Perl or Learning C# etc etc but I've gotten to the point where I'd rather read something that is giving me some sort of theoretical insight rather than just learning more syntax)

https://www.coursera.org/course/algs4partI

Fantastic course for learning this stuff. Couple interview questions I got were easier to work through because of programming exercises I did in this course. Unfortunately it doesn't have a date for when it'll be offered next, but I'd absolutely keep an eye out. There's a book that goes along with it too if you're interested in starting with that.

RICHUNCLEPENNYBAGS
Dec 21, 2010
Those book suggestiosn look pretty good; on them.

Also, is not really knowring C or C++ worth a lot of anguish? I've found myself doing stuff that involved COM interop a few times and thought it would be nice to have a better understanding of the documentation I was reading but I'm not sure how much I'd really use it otherwise.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

RICHUNCLEPENNYBAGS posted:

Those book suggestiosn look pretty good; on them.

Also, is not really knowring C or C++ worth a lot of anguish? I've found myself doing stuff that involved COM interop a few times and thought it would be nice to have a better understanding of the documentation I was reading but I'm not sure how much I'd really use it otherwise.

Both languages are pervasive, but they're also tough languages to do well. If you're not interested in actually using them day-to-day, I wouldn't bother learning them if it means you'd be neglecting a language that you actually do intend to use day-to-day.

COM interop sucks pretty much no matter what.

Adbot
ADBOT LOVES YOU

rsjr
Nov 2, 2002

yay for protoss being so simple that retards can win with it

gucci void main posted:

Cronyism is always nice, but the fact still exists that smaller/not The Big Two markets are sorely lacking in this department. To add, some language/framework communities are absolutely full of idiots and/or assholes. See: JS, Ruby/Rails. This can make it a lot harder to get in. I'm not 100% familiar with the community, but I'd probably recommend C# as your best bet for a regular job with normal people.

I've used the "we're looking for someone with a bit more experience" excuse when turning down people in the past. It's just a nice way of saying we're not interested (most of the time for reasons that have nothing to do with experience).

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply