|
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.
|
# ? Jan 9, 2015 18:55 |
|
|
# ? May 20, 2024 20:01 |
|
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. Check your PMs.
|
# ? Jan 9, 2015 19:59 |
|
This is a pretty nifty list of computer science courses around the internet: https://github.com/prakhar1989/awesome-coursesPollyanna 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.
|
# ? Jan 9, 2015 20:51 |
|
So about startups. I'm at one and I've heard about IPOs from the CEO. Should I ask about stock?
|
# ? Jan 10, 2015 03:17 |
|
Space Whale posted:So about startups. lol if you're at a startup and you're not already getting equity
|
# ? Jan 10, 2015 03:44 |
|
b0lt posted:lol if you're at a startup and you're not already getting equity Yeah... ouch.
|
# ? Jan 10, 2015 07:24 |
|
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 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.
|
# ? Jan 10, 2015 17:02 |
|
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 |
# ? Jan 10, 2015 20:59 |
|
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 .
|
# ? Jan 10, 2015 22:02 |
|
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.).
|
# ? Jan 11, 2015 03:02 |
|
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.
|
# ? Jan 11, 2015 03:49 |
|
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.
|
# ? Jan 11, 2015 04:30 |
|
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 |
# ? Jan 11, 2015 05:29 |
|
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.
|
# ? Jan 11, 2015 06:01 |
|
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.
|
# ? Jan 11, 2015 06:09 |
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?
|
|
# ? Jan 11, 2015 15:41 |
|
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?
|
# ? Jan 11, 2015 17:46 |
|
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.
|
# ? Jan 12, 2015 00:41 |
|
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."
|
# ? Jan 12, 2015 07:21 |
|
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
|
# ? Jan 12, 2015 08:10 |
|
You also don't generally have a usable debugger.
|
# ? Jan 12, 2015 09:31 |
|
The device you are driving might also be a total pile of poo poo.
|
# ? Jan 12, 2015 13:57 |
|
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 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.
|
# ? Jan 12, 2015 23:21 |
|
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. 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.
|
# ? Jan 12, 2015 23:56 |
|
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.
|
# ? Jan 13, 2015 02:41 |
|
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?
|
# ? Jan 13, 2015 04:48 |
|
You typically get a raise by finding a new job.
|
# ? Jan 13, 2015 07:36 |
|
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.
|
# ? Jan 13, 2015 08:09 |
|
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.
|
# ? Jan 13, 2015 08:55 |
|
triple sulk posted:You typically get a raise by finding a new job. sorry for your lovely companies
|
# ? Jan 13, 2015 13:01 |
|
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.
|
# ? Jan 13, 2015 15:18 |
|
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?
|
# ? Jan 13, 2015 15:29 |
|
I've gotten raises, but yes, quitting is usually the biggest raise. It's about leverage and BATNA.
|
# ? Jan 13, 2015 15:47 |
|
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. 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.
|
# ? Jan 13, 2015 15:53 |
|
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?
|
# ? Jan 13, 2015 16:12 |
|
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).
|
# ? Jan 13, 2015 16:20 |
|
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.
|
# ? Jan 13, 2015 16:30 |
|
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.
|
# ? Jan 13, 2015 18:22 |
|
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.
|
# ? Jan 13, 2015 18:34 |
|
|
# ? May 20, 2024 20:01 |
|
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...
|
# ? Jan 13, 2015 20:07 |