Please use this thread to have discussions about the Big 4 and questions related to the Big 4, such as which one offers the best doggy benefits, or how many companies are in the Big 4 really? Posts focusing solely on Big 4 created outside of this thread will probably be removed.
Abide by the rules, don't be a jerk.
This thread is posted each Sunday and Wednesday at midnight PST. Previous Big 4 Discussion threads can be found here.
Please use this thread to chat, have casual discussions, and ask casual questions. Moderation will be light, but don't be a jerk.
This thread is posted every day at midnight PST. Previous Daily Chat Threads can be found here.
If it ever sounds like this is me bragging, part of it is, but most of it is for context. Maybe this will give insight to people who are looking to intern.
I started interning at a "big name" financial tech company back in May 2018. Worked on distributed systems and budgeting servers. I was the only intern at this company, and I essentially worked alongside the other engineers.
My manager and I had weekly meetings where he would start the question off with questions like "are you having a good time here?" and "What do you feel like you've learned" but never gave much critical feedback. I thought this meant he did thought I was incapable of improving or that he thought I would be demotivated by criticism.
Often times in these meetings I would bring up things I could be doing better. I don't think it was self deprecating, but in the sense that I wanted to see what he would agree with so I could get some more insight to where I stood.
When giving me my return offer (100k + 20k benefits), he said that the reason he didn't give me much criticism was that anything he could have told me, I would have already thought of myself. He mentioned the differences between my first presentation and my later presentations and how it didn't matter where I was at now because I would keep getting better quickly. He used the word "introspective" a lot to describe my approach to work and I realized that it wasn't always about coming into a company as a "ninja coder" (I hate that term) but more of just a human that can assess themselves, because we're probably our own best critics.
In conclusion, I think more importantly than just being a skilled software intern is being an introspective one.
I’m reading a lot on managing others after a few misstepts in handling my team.
I have, like a lot of team leaders/managers, a technical background. I was promoted because I was the focal point of the team, the guy who allowed others to produce, the guy who always had a solution to every problem, etc.
All was nice and cool, until I realized I didn’t know squat about managing people. I took a step back and re-evaluated everything.
I think I’m making progress, however, there’s one area I’m still not comfortable with: micromanaging. I’m not against giving people autonomy to do their job, what I don’t like is to give others autonomy until I know they are ready.
In some cases, team members just don’t care about “improving” their skills, so they remain at a low skill level and yet don’t want to be told how to do their job. If I have to guarantee productivity and high quality on the job, this makes it very hard.
Another issue is organization. In some instances, I know timelines are tight, so I set down tasks, schedule activites and assign them to my team. And they not always take it well. Too much of this makes them feel “they have to do what I want all the time”. But how can I organize work if I don’t do this?
code quality: sometimes I code review their code, and whenever I ask them to correct something giving them a logical explanation, their reaction is not always good. Interns don’t complain, but seniors get angry that “they have to write code the way I want”.
I corrected a coworker’s code once because he had mixed try/catch blocks and if/else blocks to handle errors: it was unmaintainable and not all error cases were covered because of the mess. I pointed out it could be written better, and asked him to review it and use only one way to handle errors. He did it, but his reaction to another team member was very telling: “I’m tired of all these lessons...if it works, keep your mouth shut and let it be...”
To all the experts here: how can I reduce micromanaging my team BUT guarantee productivity?
This subreddit has been hugely helpful in my job hunt. I have just finished my job hunt (Google and Amazon offers) and am very pleased with it. So, I want to share my journey so that it might be helpful to someone who is in similar shoes as I was almost a year ago now.
Why I decided to look for another job:
Google doc link to preparation + interviewing timeline : Link
My primary source for preparing CS type questions was leetcode. Here is my monthly breakdown of my leetcode preparation-
Date Easy Medium Hard Total November 2017 10 0 0 10 December 2017 15 5 0 20 January 2018 20 15 5 40 February 2018 25 20 5 50 March 2018 45 40 7 92 April 2018 55 55 7 117 May 2018 64 60 8 132 June 2018 64 84 12 160
I used system design primer for prepping system design. A lot of places didn't ask me system design questions, so I didn't exhaust the github resource. I skimmed a lot of topics. I currently also do devops at my work, so I am decently familiar with how companies scale web apps. I kinda enjoyed reading through the system design topics; it was a nice break from monotonous leetcode sessions.
I also used pramp to get comfortable interviewing. Here's the timeline for pramp-
Date Pramp Sessions November 2017 1 December 2017 7 January 2018 14 February 2018 14 March 2018 17 April 2018 22 May 2018 22 June 2018 22
You'll notice that I did a lot of them in early part of my prep phase. Once I had done enough of them, I was super comfortable speaking my mind as I write code. This is absolutely crucial and I think it really helped me in the interviews.
I applied to bunch of companies, but only interviewed at the Jane Street, Two Sigma, Bloomberg, Google, and Amazon. I got referred to G and Amazon, and had recruiters from the rest approach me. There's a nifty toggle in linkedin where you can indicate that you are searching for jobs. Once I turned that on, I got bunch of recruiters message me. Here's a timeline of how the interviews went-
Date Phone interview Onsite Offers Rejections May 2018 Jane Street, Two Sigma Jane Street June 2018 Google July 2018 Bloomberg Two Sigma, Google Two Sigma August 2018 Amazon Amazon Google, Amazon
Once I had Google and Amazon offers, I stopped interviewing further. I had bunch of other companies in pipeline which I had heard back from and was trying to schedule hr/phone interviews. I am negotiating between Google and Amazon, so I don't have final numbers yet.
The journey was definitely painful in the beginning. It had been a while since I had read these CS topics, so leetcode easies were kicking my a** initially. However, once I got past the initial hurdle, it became much easier. Since I did a lot of pramp initially, it kinda helped me find motivation. Talking to someone who is on similar boat really helps. I was able to really connect with a couple of pramp interviewers and we actually ended up connecting on linkedin! I could have maybe compressed the preparation phase more, but I would end up burning out. I have a full time job and the only meaningful time I could find to really prep was during weekends and day offs. Over time, I kinda started to like prepping. Another thing I wished I did earlier was have flashcards with leetcode problems on one side and solution/hint on the other. It helped me remember some crazy tricks and also group problems which shared solution techniques.
Well, thats it! This was a long post, but I wanted to give back to the subreddit that was super helpful during my prep phase. Godspeed!
I was thinking about this story that happened to me a couple years ago, and I wanted to share. Then I thought it might be interesting to hear about the incompetence of others.
So here's my story. About 4 years ago or so, a guy I knew (a self described digital artist/website designer) was freelancing and had a job to make a small product demonstration for this company. The product was outside doors for housing and it was just meant to be a turntable of the product, with the ability to customize the look of the door. Nothing too complex.
Well, this guy despite thinking he's a graphics guru, had no idea how to implement this. The company offered their product in 10 different colors, with 4 different door handles, 6 different door styles, and 5 different hinge styles, as well as to display the product in 3 different lighting arrangements like day/night/afternoon. This guy thought he had to hardcode all of that, so he took pictures of every single combination, and since he had no idea how to make a turntable, he took one photo of each combination at a 1 degree of rotation, so 360 photos for a full rotation.
If you do the math, that's 1,296,000 individual photos he needed to show this off. He also wanted this to be in high quality, so he took the images in 4K resolution (~6mb per image) which is approximately 7.5 TB of storage space required. He thought this was reasonable to make as a pop up window in a web browser.
He set up his app in flash (using all no code required stuff naturally) to hardlink forward/next buttons and options together.
When I saw it, he was extremely frustrated, and freaking out because some company paid him something like $20,000 plus free product to build this, and he was going to have to return it all.
All he was able to put together was a single view of a single configuration of the product after about 2 months.
Eventually I fixed it for the guy, and even tried to show him how to do it himself, swapping models in and out, changing colors/lighting on the fly, etc... but he had no interest in learning.
I didn't implement every model, color, etc... just the support to do so. This guy couldn't figure out how to do it, and refused to pay me. Later on, he used what I built in court for proof of work, and kept the money the company gave him.
Hi everyone, thanks for taking the time to help! So this summer, I worked in a mega giant west coast company with a terrible work-life balance. Like, I don’t mind staying two hours more a day for a really interesting job. But I don’t want to work more than 50 hours a week, unless it’s something I feel like is truly meaningful that will help save the world.
So I’m interviewing for full-time positions at other companies, and am feeling rather stressed for two reasons:
I’m afraid they’ll ask why I don’t want to go back. I don’t want to say “I wanted work life balance”, because people sometimes interpret that in a poor way. I feel like some managers genuinely care about work life balance for their employees, some managers deceive themselves about it, and some managers straight up just lie and only pay lip service to it.
I don’t want to get into this situation again. My first priority is enjoying my free time and my relationship with my S.O. I want to be there for dinner at least 4/5 nights of the week, work really comes as a far second.
Advice? It’s not like I can go up to recruiters and be like, “what’s the easiest job you have at this company lol?”
I recently read an article about how JP Morgan is revamping their software engineering program (i'll attach link at the end of the post), and i'm wondering if any recent new grads/interns have any insight on what JP is actually doing to improve the program, and if the salary is also increasing with their new sweeping changes.
My company is being acquired. I don't want to stick around, and I have an excellent offer elsewhere that I'd like to accept. I told my supervisor about the offer, and he told me I should consider sticking around because it's highly likely my team will be laid-off asap after the acquisition closes in ~3 months, and I would receive severance equal to about 1/2 of the total yearly compensation of the offer I am considering. I have a good relationship with my manager and trust him.
The acquisition is not closed yet. It could fall through, the layoffs may take longer to happen, or they could do some other role transition with high-severance employees to get them to leave via attrition rather than paying out.
I'm conflicted about what to do. I want to accept the offer, but I also don't want to leave this potential large sum of money on the table.
My first instinct is to talk to the recruiter, explain the situation and ask for a bigger signing bonus or start date extension, but I kinda doubt they can do that since the offer is already very good and 4 months is a longish time to wait for a new hire.
Advice? Anyone have experience with trying to wait things out to get a big severance?
As of now I currently have a BSc Computer Science (1st Class) and wanted to know whether it would be possible for me to pursue a Finance/Banking related job role. Computer Science has provided me with the key fundamentals of programming and being able to work within a team collaborating ideas as well as enabling me to use algorithms to help the decision making process easier through decomposition methodologies etc. However my initial interest and always has been the financial industry. To be specific I would like to pursue a graduate scheme or an internship into finance. I understand their are many financial firms out there who offer roles for technology-based students however these all point towards a role and career leading to IT related. I have nothing against it but personally its not for me.
Is BSc Computer Science sufficient for Finance internships/graduate schemes?
Which companies should I specifically target?
I will be grateful for any suggestions/replies.
I have been programming since more than 6 years now and I have switched different domains and technologies in this short span, I have worked as ERP techno functional consultant to consulting for Google. In reality I grabbed all the challenging opportunities without thinking much of job stability. I have never worked on a particular language or tool to be an expert but at the same time I have proved myself whenever given an opportunity.
I invested a lot of time in reading books about programming and writing better code and prototyping projects on Github.
I always loved programming and never thought of big picture. I have always been an introvert.
Right now I am a full stack developer in a research facility. The environment is not growth friendly at all and it seems that I made a big career mistake. There is nothing much to learn and environment is too bureaucratic. No promotion but the good thing is I have enough time for me.Now, I want to settle down and feel a sense of career growth.
I also need to look after my financial stability because I am hardly able to save money.
I am thinking over all these issues since a long time and have come to the following career options for next 4-5 years:
I see that almost all of the other are mutually exclusive and demand their own time, effort and dedication.
My job title at work is Application Developer. I feel like this title might be too vague? Would it be better to put down my title as 'Software Developer'?
And would I ever get in trouble for putting down a different title than my official title?
I’m a fresh grad (finance major) working at a fin-tech right now. I’m 22. I realised coding is the future far too late and want to build a better future for myself personally and professionally, now.
So far I’ve completed 2 intro courses on Python, 1 intro course on HTML/CSS, and currently half way through an intro to SQL.
My career goal is be skilled at web-dev, data automation, and iOS dev.
But I don’t want to rush things. Do you think below is a good plan for the next year?
2 months each, 1 year plan:
Thank you very much! 🤗
I have a few friends who have done internships there and they seemed to enjoy it, but I never seem to see it discussed here. Lots of people in North Carolina seem to think it's the best tech company ever to have existed, but I'm curious what industry people think about it. I'm thinking about applying for an internship there, but I'm wondering how the name is perceived on a resume and how it compares to big companies that get discussed here often. Does anyone have any opinions on how the company is viewed in general?
Close to finishing a BS at a state school in NJ. School isn't necessarily famed for CS.
Goal is work in NYC, for a big company like bloomberg, goldman-sachs, JP Morgan, Bank of America.
bioinformatics. So like research hospitals or companies working towards curing rare disease research.
Of course, all this is easier said than done. It is a competitive environment, and I wouldn't have it any other way
My question is, as an aspiring professional, would I need or benefit from having anything listed in the title
Like I don't have any projects I do on the side (no time between school and work), so I don't really have a github
I don't really use any social media, so I am not also inclined to make a LinkedIn, although I am willing to change on that.
I am not seeking an academic position, so maybe I don't need a CV. but on the bioinformatics side, I could end up working for a research team in software capacity, so would I need to eventually establish that?
And the website, if I want to stand out to screeners or recruiters, is it necessary, especially for the finance companies I listed.
In all, are any of these things necessary/optimal for the line of work I seek.
Thank you very much!!
Rising senior and gonna graduate early at Dec 2018. I just applied to both Goldman Sachs and JP Morgan NYC office last week and they are dream companies for me working after graduation. My question are they really hard to get into? What is the interview process like?
This is what my rsme looks like: https://imgur.com/a/lAhNhHQ
Will it be really hard for me to get into JP Morgan/Goldman Sach? My GPA is a 3.7 but I only was as a research CS intern at NYU and an intern at a small start up. Dont got big company exp :/.
My friend who interned this summer and got a return offer refered me to JP Morgan. And Goldman Sachs sent me a hacerrank problem the day after I applied and I got all the test cases correct on both questions (not too bad) with 15-20 minutes to spare after I submitted.
If I can't get into them, will it be really hard for me to get a 80 or maybe even 90k job (before taxes)at NYC if I don't slack. I did around 40-50 Leetcode questions (Medium and Easy), and I am planning to study CTCI, prepare what to talk about in my resume, and brush up some general CS knowledge. Is there anything else I can do in August, September, and October for me to get a good offer?
As the headline says, I'm starting up a new project to maybe help my job search because my skills have been atrophying from 40+ hours a week of resume spamming. My school didn't offer a Java class in my final semester, so the only languages I've used are Python and C++. Would I be better off doing this project in Java to add that keyword to my skill list, or should I do it in a language that I already know to make sure that my fundamentals are still intact? Thanks.
Hey everyone, so I just finished my summer internship at a big bank (Goldman Sachs, BoA, JPMorgan type) and I received a return offer, with a deadline about a month from now to respond. I was hoping to apply to some tech companies to see if I could get in before the deadline, but if I toggle linkedin's 'actively looking' button can someone from JPMorgan (a recruiter) see it and rescind my offer? Sorry if this is a a stupid question I'm a paranoid undergrad haha
Hi, I’m an incoming freshman in undergrad. Lately, I’m been interested in data science looking at kaggle. However, I’m worried about the education required. I’m not exactly enthusiastic about getting a PhD, but a masters is fine. I’m also no so excited about the fact that internships for data science are hard to come by as a undergrad. Any advice?
I have applied to several positions for Intel, but recently received a few e-mails saying that they "canceled the position". Does this mean that they hired another person or they decided that this position was not needed anymore? I think I received at least 3~4 e-mails saying this for different positions. Is this common?
I took some numerical analysis & scientific computing courses in my university and found them interesting.
I also noticed that the iteration of knowledge in this field is not as fast as other fields (like web dev) of IT industry, like Fortran is still in use lol. So I would like to give it a try.
Can anyone tell me whether a graduate degree is necessary? Are jobs related to scientific computing in demand? Aside from what I learned in school (solving all kinds of equations, parallel computing, etc), what kind of knowledge does one need in one’s job? Thank you very much.
I'm entering college and I want to create my favorite board game on Java where the computer calculates probabilities before returning its move (so not random back and forth) as a side-project. However, there probably are renditions of this game already coded and on the internet. I'm not planning on looking so I can keep the project's integrity but will a recruiter look down on my project because of this or be less impressed? I really am excited about working on it and it would be a shame if my efforts went unnoticed.
Hi everyone. So I’m a rising sophomore studying comp sci. I’m going to try and look for some internships next year. I’m really fascinated by the field of computer vision and especially its applications in autonomous vehicles, but I don’t get to take computer vision courses until third year.
For the sake of being employable and being able to work on meaningful projects I decided to learn web development over this summer. I focused on the MERN stack and managed to put together somewhat decent projects; I also got a web dev stint with a lab so that was good learning experience. Now I don’t hate web dev, in fact I kind of enjoy it, but I don’t want to narrow myself into a web dev corner.
If I focus on web development for now and manage to secure a decent fullstack internship next year does that allow me to still pursue other fields of computer science in the future, or am I better off trying to self learn some of the advanced computer vision/deep learning concepts even though they might not result in practical skills for now.
Hi. Senior undergrad in Compsci here.
We have a compilers course (the actual name of the course is "Language Processors") that is offered as a technical elective. It used to be a must course in our department, but the course was found to be too difficult (a majority of the students would fail) and then they started offering it as an elective. But in my university it hasn't been in demand for a long time. The course has never been offered in the last 7 years, but I was told this year they will be offering the course (since there has been sufficient demand).
The course contents were described on its website as follows:
Formal description and classification of programming languages. Specifications syntax. The parsing problem. Top-down and bottom-up parsing. Attaching semantics to syntax. Translator writing systems. Translator writing case study.
The textbook is the most recent edition of the dragon book.
We have a must course called "formal languages and abstract machines". I've already taken that course and learned about basic concepts in parsing, etc. so I have an idea what the most of the course will be like.
I'm really interested in compilers, but I'm not sure if I should be taking this course. I have a few questions,
Are parsers/lexers considered interesting projects in 2018? How far is the tech? What unsolved problems are here? What will the future of compilers look like?
What is the industry demand in compilers like? My guess is a lot of compaines nowadays would be interested in developing their own domain specific languages (rather than programming languages) or you would have tech giants like Apple and Google who are very interested in the success of certain programming languages, and would look for a compiler expert. What are the most recent trends?
Combining past knowledge with this course, should I expect to be able to develop my own programming language at the end of the course? Is it a worthwhile project?
Thank you for reading.
Welcome, one and all, to CSCareerQuestions!
Here we discuss careers in Computer Science, Computer Engineering, Software Engineering, and related fields. Please keep the conversation professional, adhere to the reddiquette, and remember to READ OUR RULES.
Good question! It's like this: if the question is more about college/university, it goes in /r/csmajors; if it's more about a job, it goes here; if it's in between, it can go in either one.
Examples of questions that can go in either would be, "Are college career fairs worth it?" or "What do you actually use from CS classes in real jobs?" or "Someone gave me this advice about getting an internship, is this right?" For more details, check out the rules.
First: Read the rules
Third: Check the FAQ
Fifth: Post post post
Noticed some cool user flair around? Take a look at this thread to see what it's all about.
tl;dr: darker colors == more posting experience here.
Share your current compensation and review the data submitted by other users in the two links above. More info about the salary survey can be found on the subreddit wiki.
In addition to a chat thread that's newly spawned every day, we have a daily rotation for threads for certain topics. Please don't start new threads about these topics without getting mod permission first, lest we be forced to...intervene.
Sunday: Big 4
Wednesday: Big 4
Friday: Special Rant Thread
We could always do with more help and wisdom, friend! The better the FAQ, the harder we can come down on lazy posters with low-effort OPs, which means a higher quality subreddit experience for you.