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
shodanjr_gr
Nov 20, 2007

Pollyanna posted:

If AngelList isn't the top resource/approach to take, what is? Aside from networking, which has the best chance of success but I suck the most at, trolling AngelList has been my best bet. What else should I be doing? The advice I've gotten from my program's career advisor has been "get your name out" and "let people come to you", but that feels way too ineffective to me.

Find a startup/company that you are interest in, track down their HR person on LinkedIn and message them, introducing yourself.

Adbot
ADBOT LOVES YOU

Doh004
Apr 22, 2007

Mmmmm Donuts...

Pollyanna posted:

If AngelList isn't the top resource/approach to take, what is? Aside from networking, which has the best chance of success but I suck the most at, trolling AngelList has been my best bet. What else should I be doing? The advice I've gotten from my program's career advisor has been "get your name out" and "let people come to you", but that feels way too ineffective to me.


I can definitely see the appeal of not being herded around/limited by meetings and protocols and everything, and one day I want to be on the decision-making top rather than part of the lower rungs, but I'm definitely not at that point yet. You've got seven years under your belt, I've got, like, one and a half. There's a lot learned in those seven years that I wouldn't have, and I'd just flounder at this point if given creative freedom.

Check your PMs.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
This is a pretty nifty list of computer science courses around the internet: https://github.com/prakhar1989/awesome-courses

Pollyanna posted:

I have to agree on this. I like the idea of startups, but I've found that the vast majority of them look like they'd topple over if I breathed on them wrong.
Everything has its upsides and downsides. It's not like people work at Google/Facebook/et al. because they're in love with the idea of being a tiny cog in a huge machine, y'know? It's just that being in a huge machine has its own pluses, like stability.

Space Whale
Nov 6, 2014
So about startups.

I'm at one and I've heard about IPOs from the CEO. Should I ask about stock?

:q:

b0lt
Apr 29, 2005

Space Whale posted:

So about startups.

I'm at one and I've heard about IPOs from the CEO. Should I ask about stock?

:q:

lol if you're at a startup and you're not already getting equity

Doh004
Apr 22, 2007

Mmmmm Donuts...

b0lt posted:

lol if you're at a startup and you're not already getting equity

Yeah... ouch.

KernelSlanders
May 27, 2013

Rogue operating systems on occasion spread lies and rumors about me.

Pollyanna posted:

I have to agree on this. I like the idea of startups, but I've found that the vast majority of them look like they'd topple over if I breathed on them wrong. I would much prefer to be at a more established company, where I can actually get some kind of mentorship and learn the ropes. What should I be doing if I want to work for something more along those lines?

I've also been told that if you do decide to work at a startup, make sure it's at the very least series C.

I would modify that to a more functional approach. Make sure that at their current funding level and burn rate they can last for two years without raising more capital.

Shrimpy
May 18, 2004

Sir, I'm going to need to see your ticket.

Doh004 posted:

I dunno about having to wait until C. It all depends on what you're comfortable with and the impressions you get from interviews.

KernelSlanders posted:

I would modify that to a more functional approach. Make sure that at their current funding level and burn rate they can last for two years without raising more capital.

Agreed to both, but I think 18 months is a bit more realistic.

One other thing you can do is use Crunchbase to investigate the startup beforehand and see when they last fundraised and get a feel for where they are in their lifecycle.

For example, it can show you whether a company raised a $10m Series A in early 2014 or raised a $3m Series A late 2013, which can then shape your questions about the company when you go into interviewing.

shodanjr_gr posted:

Find a startup/company that you are interest in, track down their HR person on LinkedIn and message them, introducing yourself.


If there's no HR person, you can also try reaching out to pretty much anyone at the company. Now my company has an in-house recruiter, but we've had people reach out to our CEO and CTO directly as well as some of our junior engineers to get themselves into the interview pool.

Shrimpy fucked around with this message at 21:10 on Jan 10, 2015

shodanjr_gr
Nov 20, 2007

Shrimpy posted:

If there's no HR person, you can also try reaching out to pretty much anyone at the company. Now my company has an in-house recruiter, but we've had people reach out to our CEO and CTO directly as well as some of our junior engineers to get themselves into the interview pool.

Hey, depending on the stage of the startup, the CEO/CTO IS the HR person :haw:.

Safe and Secure!
Jun 14, 2008

OFFICIAL SA THREAD RUINER
SPRING 2013
Did anyone actually learn about tries in school? We had a data structures course and algorithms curse and they were never mentioned (though the data structures textbook explained basic tries, just nothing more complicated like ternary search tries, regex matching, etc.).

Che Delilas
Nov 23, 2009
FREE TIBET WEED

Safe and Secure! posted:

Did anyone actually learn about tries in school? We had a data structures course and algorithms curse and they were never mentioned (though the data structures textbook explained basic tries, just nothing more complicated like ternary search tries, regex matching, etc.).

I certainly didn't, the most complicated data structures we worked with were graphs and AVL trees. A trie is one of those data structures that I'd suggest being aware of, but only really study seriously if I were going to work for a place where I know I'd be doing a ton of work with text and text search.

Hell, in your basic programming job making custom software for businesses, you rarely need to use anything beyond an indexed list-type data structure.

Pronounced
Aug 18, 2013
I am a second year CS student working on a B.S. and I am a little concerned at the moment about my programming knowledge. I am one class away from being able to get an associates in CS, which im considering doing just so i can start working in the field while going to school, but I dont feel like I am actually qualified for any programming job. I am only really proficient in C++ and I haven't really worked on any large projects outside of school work. The associates requires that you take a data structures class so I know how to linked list, and i have worked with trees and hash tables, but that is about as advanced as it got. I am terrified of trying to get a job and realising that I am horribly out of my depth and have basically wasted 2 years.

My question is basically, am I boned? I have no concept of what working as a programmer is like or what an entry level programmer is expected to know.

Flat Daddy
Dec 3, 2014

by Nyc_Tattoo
If you do an internship this summer I think those fears will go away.

And entry level programmers are just expected to know the stuff that's in a CS degree program, pretty much.

Flat Daddy fucked around with this message at 05:32 on Jan 11, 2015

Linear Zoetrope
Nov 28, 2011

A hero must cook

Safe and Secure! posted:

Did anyone actually learn about tries in school? We had a data structures course and algorithms curse and they were never mentioned (though the data structures textbook explained basic tries, just nothing more complicated like ternary search tries, regex matching, etc.).

I did, though for whatever reason I always think a trie is a treap, so it never really stuck.

Che Delilas
Nov 23, 2009
FREE TIBET WEED

Pronounced posted:

My question is basically, am I boned? I have no concept of what working as a programmer is like or what an entry level programmer is expected to know.

The short answer is, no, you aren't boned. Long answer follows.

First, realize that the people you're competing against when you graduate and enter the work force are all more or less in the same boat as you. Very few of them will have worked on large projects in school, aside from maybe one or two multiple-term capstone-style projects. Entry-level jobs worthy of the name are going to be built around this fact. Internships and entry level gigs are more than likely going to see you working directly under the mentorship of a senior dev. Once you get that first job or internship, you'll be surprised at how quickly you learn and improve (consider how many hours per day you're ACTUALLY programming during school, and don't count sitting in class listening to a lecture. 2, 3 at the most per day on average? Compare that to the 8+ you get from a job. It's a world of difference). These levels of jobs will not expect you to have much, if any, industry experience - they expect you to have passed your computer science courses.

Second, your worries are extremely common (my posting history in this very thread should have several variations on the speech I'm giving you right now). You're just beginning to realize just how enormous this field is and how much there is to know. Every time you research how to do something, you're introduced to a new concept or design pattern or library, if not several, and you run across blogs that describe techniques you've never even heard of with phrasing like, "of course" and "obviously." You learn how to do one thing, and become aware of four other things you don't know how to do.

There are two things you need to understand here: First, this happens to everyone who gets serious about programming. Everyone. Second, it never stops (though it does get easier to handle). This discipline is enormous, and besides that, it is constantly changing! I have been doing this for 5 years, and sometimes I feel like everyone else knows more than I do. Instead of letting that feeling of inadequacy paralyze me, though, I use it as motivation to keep learning and improving. Yes, it helps that I have actual industry experience under my belt and can point to things and say "I made that and it works and the people using it love it," but I started in the same place you did - feeling inadequate and lost and not knowing if I could succeed. I almost turned down my first job, a fantastic opportunity, because I didn't think I knew enough to succeed, but I forced myself to give it a shot and I did fine, and they loved me. Accept the fact that you don't and will never know anything, come to appreciate the things you DO know and CAN do, and otherwise never stop learning.

My advice is to keep going for that B.S., and maybe try for an internship at the end of your second or third year. Those are tailor made for people like you (remember, you're a student with a student's level of experience - none - just like nearly everyone else applying for internships and entry-level jobs). Stop comparing yourself to people with 10 years of experience, finish your education, and for God's sake let the companies you apply to decide if you're qualified to work there, don't decide it on your own.

lunar detritus
May 6, 2009


I feel like I'm pretty good at making things work based on the requirements given but awful at planning how to deal with changes down the line.

What resources are there for learning how to build maintainable systems?

Doghouse
Oct 22, 2004

I was playing Harvest Moon 64 with this kid who lived on my street and my cows were not doing well and I got so raged up and frustrated that my eyes welled up with tears and my friend was like are you crying dude. Are you crying because of the cows. I didn't understand the feeding mechanic.
So I had an internship over the summer that turned into a junior dev position in October. I'm also still in school (2 year online master's) until the end of July. I like my job, but it looks like my wife and I might be looking to move back to St. Louis from the Baltimore area for family reasons. Might not happen but it looks that way. So I guess I am looking for advice on job searching and so on. I was thinking that waiting until I'm done with school would be smart, because at that point I'll have close a a year experience, which will help. Is it worth it at all to start applying to anything now?

The other thing that complicates things is that my wife is also working as a mechanical engineer here. Is there any way to handle this that will minimize the time we'll have to spend either in different cities or with one of of us without a job?

Che Delilas
Nov 23, 2009
FREE TIBET WEED

Doghouse posted:

So I had an internship over the summer that turned into a junior dev position in October. I'm also still in school (2 year online master's) until the end of July. I like my job, but it looks like my wife and I might be looking to move back to St. Louis from the Baltimore area for family reasons. Might not happen but it looks that way. So I guess I am looking for advice on job searching and so on. I was thinking that waiting until I'm done with school would be smart, because at that point I'll have close a a year experience, which will help. Is it worth it at all to start applying to anything now?

Companies can do math; be clear about when you're available and they'll be able to figure out that by the time you go to work for them, you'll have 9 months of experience, not 3. Even if it doesn't go anywhere, you could get more practice with phone interviews.

Pie Colony
Dec 8, 2006
I AM SUCH A FUCKUP THAT I CAN'T EVEN POST IN AN E/N THREAD I STARTED

Gazpacho posted:

Device drivers, external control systems

How boring would it be to have a "device driver writing" job? I've never written a device driver but it sounds like it might be better than "web apps."

ullerrm
Dec 31, 2012

Oh, the network slogan is true -- "watch FOX and be damned for all eternity!"

Pie Colony posted:

How boring would it be to have a "device driver writing" job? I've never written a device driver but it sounds like it might be better than "web apps."

Putting it gently: If you don't know what writing a device driver entails, you probably don't want a job writing one.

The main challenge of writing a device driver is that your code is typically running in kernelspace. This means two things:

* If your code misbehaves in any way, it doesn't just crash and stop working -- it causes a bluescreen (or kernel panic, on Mac and other UNIXes) and the entire machine reboots. If your code causes a hard lock during an ISR or DPC, the machine may hang. You have zero room for mistakes/bugs when writing a driver; it must have predictable stable behavior at all times, under all conditions, no matter what.
* You don't get some of the niceties that come standard with user-mode code. For example, you're not guaranteed that all of your code will be in memory at the time that it's running! You may have limitations on what system APIs you can call and when, how much memory you can allocate, and so on.

(There are some exceptions -- Windows has moved lately towards allowing you to write drivers that operate in usermode, trading off latency for the ability to gently caress up without wrecking the entire machine. In particular, printer drivers, limited parts of video drivers, and some sound drivers can run in user-mode on Windows.)

In general: Writing drivers requires deep familiarity with an OS's internals and how one interfaces with hardware. It's not something you should blindly jump into.

More details: http://en.wikipedia.org/wiki/Device_driver

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.
You also don't generally have a usable debugger.

AlexG
Jul 15, 2004
If you can't solve a problem with gaffer tape, it's probably insoluble anyway.
The device you are driving might also be a total pile of poo poo.

Pollyanna
Mar 5, 2005

Milk's on them.


I got a reply from an interviewer I did a coding exercise for, and got some good feedback. I'd like some advice on how to do better on these next time, though.

The exercise was to make a really simple Javascript application which also manipulated the DOM, ideally with tests and modularity. The interviewer said "this can take a day or two for some, but you should be able to do this in an hour". My first reaction was to dive right in and try and write some tests - put a certain kind of input in, get a certain kind of change to the DOM out. The functionality is really simple, but I ended up taking a first approach that got out of hand for me. By that point, it'd been about an hour and a half, and I went "oh poo poo" and felt that I needed to switch to something easier ASAP. So I chose to use a simplified version of what I was expected to do (hint: eval), wired it up to the DOM, and sent both the simplified version and the original version of my code off to the interviewer.

Their advice to me was to commit to a better solution from the start, and that had my code been more organized and better tested (just the tests actually being written, not necessarily passing), then I would have performed better. Also various things like testing internal Javascript logic and my code being a little too skeletal to judge.

I definitely got hosed over on two things: one, I flipped out over the time limit and that heavily influenced my approach, response, and code quality; two, I wasn't nearly as on the ball with Javascript application design and TDD as I would have liked, and I suspect it's due to a lack of experience.

What can I do to make the next time I have to do one of these better? I think I should lay off of the time limit worries, but I'm not sure what the accepted protocol is on that.

Regardless, I got an in-person interview :woop: They're gonna do "application architecture whiteboarding" which is something I haven't done much (if ever), another code exercise and review, and then pair programming. Also, apparently I need to make a presentation...? I have no idea what to think about that.

JawnV6
Jul 4, 2004

So hot ...

gmq posted:

I feel like I'm pretty good at making things work based on the requirements given but awful at planning how to deal with changes down the line.

What resources are there for learning how to build maintainable systems?

Pollyanna posted:

They're gonna do "application architecture whiteboarding" which is something I haven't done much (if ever),

I really don't know a systematized approach to these things aside from "get burned because of lovely planning a half dozen times and rationalize some safeguards against those after the fact."

It's like debugging. It's difficult to teach debugging as a skill in and of itself in an academic environment. Canned debug is stupid, so there's a reliance on the problem sets creating enough "interesting" bugs. But students might not be clever enough to write a bug that's good enough to hide for a while. They might take the boring, simple approach and craft a great bug-free system the first time out.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
If your school's CS classes do enough projects it seems inevitable that you'll learn how to debug at least semi-effectively. Then again I'd think the same thing about coding in general and you still get people who can't fizzbuzz so perhaps I am overly optimistic.

SadBag
Jun 24, 2012

Something has gone very wrong for us to get to the point where Hot Dog is the admiral.
I know that I should negotiate starting salary, but what about raises? Anything particular that I should keep in mind when my company is giving me a raise?

triple sulk
Sep 17, 2014



You typically get a raise by finding a new job.

FamDav
Mar 29, 2008

Cicero posted:

If your school's CS classes do enough projects it seems inevitable that you'll learn how to debug at least semi-effectively. Then again I'd think the same thing about coding in general and you still get people who can't fizzbuzz so perhaps I am overly optimistic.

a lot of is it pattern matching, which helps when you start working in a language/framework/system/methodology that you don't know. i know there's a fair amount of people who are all "heh, i write software not math; leave the algorithms to the professors" but a secondary benefit of taking an algorithms course and doing programming challenges (or doing logic puzzles or the daily sudoku or literally whatever puzzler you can think ofw) is that you become more proficient at spotting and codifying patterns, which is one of the most useful skills i can think of.

scissorman
Feb 7, 2011
Ramrod XTreme
So, I finally submitted my application to Google for the Software Engineer, University Graduate opening at the Munich branch last week and am now nervously waiting for a response.
Do you typically get a mail or something once someone looks at your application?
How long do you typically have to wait for a first response (even if it's just a rejection)?

My current plan is, since I heard that the Google process takes relatively long, to wait for the first response before sending out my other applications, so that they'd run somewhat concurrently, though I don't know if that's the best strategy.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

triple sulk posted:

You typically get a raise by finding a new job.

sorry for your lovely companies

KernelSlanders
May 27, 2013

Rogue operating systems on occasion spread lies and rumors about me.

Blinkz0rz posted:

sorry for your lovely companies

If you're getting a substantial raise for doing the same job then you were under paid for all your time there prior. So there's that.

Space Whale
Nov 6, 2014

triple sulk posted:

You typically get a raise by finding a new job.

This is the weirdest part of this industry to me. Does anyone give raises anymore?

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.
I've gotten raises, but yes, quitting is usually the biggest raise. It's about leverage and BATNA.

astr0man
Feb 21, 2007

hollyeo deuroga

scissorman posted:

So, I finally submitted my application to Google for the Software Engineer, University Graduate opening at the Munich branch last week and am now nervously waiting for a response.
Do you typically get a mail or something once someone looks at your application?
How long do you typically have to wait for a first response (even if it's just a rejection)?

My current plan is, since I heard that the Google process takes relatively long, to wait for the first response before sending out my other applications, so that they'd run somewhat concurrently, though I don't know if that's the best strategy.

Why would you not just apply to other places now? If you get the google thing and decide you want it then you can just end the application process with the other places. There's no reason to wait for responses before sending out your next application though.

scissorman
Feb 7, 2011
Ramrod XTreme

astr0man posted:

Why would you not just apply to other places now? If you get the google thing and decide you want it then you can just end the application process with the other places. There's no reason to wait for responses before sending out your next application though.

My fear is that if I get an offer for another place while still waiting for Google that I won't be able to delay until I get the result from Google.
That's at least what I think might be best, however I'm very inexperienced so this might just be dumb.

What's your experience with such situations?
Do potential companies typically pressure you to accept quickly if you made it far enough to get an offer?

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.

scissorman posted:

Do potential companies typically pressure you to accept quickly if you made it far enough to get an offer?

Yes, they'll generally pressure you to accept quickly. You don't have to submit to that pressure, though. Pressuring you is dumb anyway, there's no law that says you can't continue the process with Google afterwards and quit after 1 month if a better offer comes in (Google or anyone else).

Space Whale
Nov 6, 2014

Skuto posted:

Yes, they'll generally pressure you to accept quickly. You don't have to submit to that pressure, though. Pressuring you is dumb anyway, there's no law that says you can't continue the process with Google afterwards and quit after 1 month if a better offer comes in (Google or anyone else).

Also, one month gaps on the resume don't actually look that bad, and are easily omitted! In general, though, be careful about this kind of bridge-burning.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



KernelSlanders posted:

If you're getting a substantial raise for doing the same job then you were under paid for all your time there prior. So there's that.

Or you take on more responsibility or change jobs within the company or show evidence that the local market could pay you more. Of course that last one requires you to work for someone who knows/understands/thinks you're not easily replaceable, so YMMV.

Tunga
May 7, 2004

Grimey Drawer

Munkeymon posted:

Or you take on more responsibility or change jobs within the company or show evidence that the local market could pay you more. Of course that last one requires you to work for someone who knows/understands/thinks you're not easily replaceable, so YMMV.
Or everyone else good quits and you say "pay rise or a quit too". That worked out well for me once. This requires you to work for a bad company so that everyone else quits, which is soul destroying, so don't use it as a long-term solution.

Adbot
ADBOT LOVES YOU

Doh004
Apr 22, 2007

Mmmmm Donuts...

Tunga posted:

Or everyone else good quits and you say "pay rise or a quit too". That worked out well for me once. This requires you to work for a bad company so that everyone else quits, which is soul destroying, so don't use it as a long-term solution.

The past two companies I've been with have had this happen and yet I keep never running into this actually occurring. Maybe I need to find better places...

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