|
mrmcd posted:In my experience, CS masters programs are useless, and exist only as cash cows for milking foreign students, or for people with non-technical degrees to get academic cred. PhD programs can be legit but not necessary if you don't want to work in academia or some corporate research labs. I was dumb and thought I'd do a CS masters' immediately after finishing my CS undergrad. 90% of the people in the program were people who had biology or similar backgrounds but wanted to go into bioinformatics and needed to learn CS skills. The program felt like a re-pack of undergrad, just at a faster pace. I dropped out midway through the first semester because I realized the opportunity cost of taking the masters' degree versus the important first-few-years career ramp-up. 15 years later I don't regret it, although it was a hard lesson that cost me a few thousand dollars in tuition.
|
# ? Feb 5, 2018 17:01 |
|
|
# ? Jun 8, 2024 08:19 |
|
I actually work in a research lab and I haven't even thought about writing a white paper. It's not a measure of success its an artifact of coming across something in your line of work that warrants publishing it (assuming your employer allows you to publicly publish things). If your goal is to write a white paper in order to be successful, then you're going to end up finding something to write about regardless of its merit. What about like getting paid or just enjoying your job and the people you work with?
|
# ? Feb 5, 2018 17:08 |
|
Pollyanna posted:I can do a good job, and whether or not the project is successful is up to the project. What constitutes being a "better developer"? Based on the demands that companies around here are looking for, that can be anything from "can lead a whole team of engineers", "can mentor junior engineers", "can deliver an entire product/project on their own" (that's more of a startup thing), and "can take ownership of an entire codebase quickly" (maybe I misunderstood that one company IDK). I can sort of mentor engineers more junior than I and answer some questions, but I'm nowhere near good enough to lead a team of engineers or deliver a product on my own (that's a hell of a thing), and taking ownership of a codebase takes more time and effort than some places realize. A good manager will be able to tell you what areas you need to work on, then work on those. Part of the problem is your listening to 20 different people on a comedy forum telling you to do 20 different things* *Except me, listen to me
|
# ? Feb 5, 2018 17:11 |
|
Star War Sex Parrot posted:In isolation, yes this is completely fine. Combined with this however... I don't really know what to tell you. I'm not a super self-motivated individual, that's just how I am. And I don't think it's so strange to specifically seek out companies, projects and products that might expose me to new and interesting things. I am garbage at finding new stuff on my own, and actually I am pretty garbage on my own in all respects. Blame my executive dysfunction or my need for therapy, but I benefit from structure and organization around me. quote:Do not pay for more grad school. This sounds like a recipe for failure. I have learned this lesson. My parents have not. Which leads me to: quote:Get a job that pays the bills, and seek therapy. Why get therapy when a dead gay comedy forum does the job also every therapist I've been to bar one or two has been utterly useless, though maybe it's just me kitten smoothie posted:I was dumb and thought I'd do a CS masters' immediately after finishing my CS undergrad. I did a bioinformatics MS after undergrad and ditched it after it became apparent that I wasn't learning any skills that had been in date since 2000 and that bioinformatics salaries were like 50% of what I could get as a web developer. Mom and dad were pissed. Portland Sucks posted:I actually work in a research lab and I haven't even thought about writing a white paper. It's not a measure of success its an artifact of coming across something in your line of work that warrants publishing it (assuming your employer allows you to publicly publish things). If your goal is to write a white paper in order to be successful, then you're going to end up finding something to write about regardless of its merit. What about like getting paid or just enjoying your job and the people you work with? This is what I wanted to hear and it makes complete sense and matches up with what I've seen and experienced. 👍 Jose Valasquez posted:It can be anything. Maybe you get better at understanding business needs, maybe you get better at understanding security concerns, maybe you get better at structuring and designing your code. Those are all things that will someday help you mentor junior engineers or deliver an entire project, but that isn't the focus. And that makes sense. Continue to do a good job and contribute, and you will learn as time goes by. quote:A good manager will be able to tell you what areas you need to work on, then work on those. Part of the problem is your listening to 20 different people on a comedy forum telling you to do 20 different things* I would hope that's the case and I seek to foster a setup that lets me regularly get that kind of feedback and improve on it. And hey, getting a consensus (or otherwise) on something is a good thing in my opinion, so I like that I get 20 different responses. Also most managers aren't very good
|
# ? Feb 5, 2018 17:34 |
|
Pollyanna posted:Also most managers aren't very good I think the most valuable lesson I've learned thus far is to bail after like, 2 months of seeing a manager sucks. They ain't getting better, sorry. First manager last company: good, a bit obnoxious but I learned an assload in 6 months Second manger: same, less of an rear end in a top hat Third: didn't learn dick in 12 months so I lieft Now: Only learned poo poo cause I put in way too much effort to do such on my own CTCI low-key thicc AF but the problems r Good and i actually enjoy them beyond the lovely array and string poo poo
|
# ? Feb 5, 2018 17:41 |
|
Pollyanna posted:I don't really know what to tell you. I'm not a super self-motivated individual, that's just how I am. Pollyanna posted:Why get therapy when a dead gay comedy forum does the job also every therapist I've been to bar one or two has been utterly useless, though maybe it's just me Pollyanna posted:And I don't think it's so strange to specifically seek out companies, projects and products that might expose me to new and interesting things.
|
# ? Feb 5, 2018 17:43 |
|
I came through CS program (well, CS undergrad, AI focused Master) and I would recommend it, but I live in country where university is free, as god intended Most of the things I could say have already been said, but as to the publishing thing... I know couple of people* who actually moved the sum of scientific knowledge forward as part of their Master's thesis, or even during their studies before. The thing they all had in common is that they were willing to work their rear end off for around a year to get the results, so if you cannot self-motivate, I wouldn't recommend measuring your success by meaningful published papers. It might also be a good idea to have something that pays the bill before attempting it. * Myself not included, I just chanced into a particular niche that has not been well-studied and then got paid to work on it for a year
|
# ? Feb 5, 2018 17:51 |
|
Xarn posted:university is free, as god intended half the thread isn't going to read the rest of your post lol
|
# ? Feb 5, 2018 17:54 |
|
Pollyanna posted:And I don't think it's so strange to specifically seek out companies, projects and products that might expose me to new and interesting things. I am garbage at finding new stuff on my own, and actually I am pretty garbage on my own in all respects. Blame my executive dysfunction or my need for therapy, but I benefit from structure and organization around me. Why not scratch this itch in ways that don't involve immediately jumping into trying to get a job doing that tech. Go as a tourist to technology meetups and the Women Techmakers chapter in your area, watch people's talks, and hang with others who are doing "new and interesting things." It's a zero-commitment way to get an idea of what the new and interesting things are, is and decide if that is something you're interested in doing yourself. If you come upon some tech/product you like, it's a place for you to learn more about growing those skills, and to keep in touch with people who you might want to work with.
|
# ? Feb 5, 2018 18:10 |
|
Pollyanna posted:I guess my question is, what are those "wins" I need to get? What am I trying to do early on in my career to set myself up for success? Write a popular library? Manage a team or project? Become pointperson for a particular system? Just do a good job for a few years? I understand that I need to do something, but I don't know what. Here is the thing: Nobody knows, because everyone wants something different. This is not a bad thing, as it means there are many niches you can occupy for yourself, but you have to realize that fulfilling everyone's expectations is impossible. The best I can recommend is to select something you like doing, or are good at, and practice it. Maybe you have talent for bringing newbies up to speed, even if you are not the best swe ever. This is valuable and is a fairly marketable skill, as long as you aim at larger companies and not startups. Or maybe you have talent for extracting actionable requirements from customers, herding cats, or something else. If you have one, you should find it and practice it, so you can get hired on its strengths, but you have to also be ok with the fact that many companies are looking for someone with different strengths. To give an example, when I market myself, there are couple of things I put in front
None of this will appeal to someone who is looking for a web-dev person, but it shows that I play well with others, can mentor more junior people without making them feel completely lovely and probably have some idea of what I am doing coding-wise.
|
# ? Feb 5, 2018 18:11 |
|
i think pollyanna should focus on finding a spot on a competent team with competent people she can learn from. that's really the only proven way to get better
|
# ? Feb 5, 2018 19:12 |
|
Outside of career chat: do you Google nerds use Gerrit internally? How do you like it? I'm finding the Git PR flow to be a massive, massive deducer in productivity on our team.
|
# ? Feb 5, 2018 19:15 |
|
Good Will Hrunting posted:Outside of career chat: do you Google nerds use Gerrit internally? How do you like it? I'm finding the Git PR flow to be a massive, massive deducer in productivity on our team. I had to look up what this was, I think it is only used by teams working on git projects outside the normal repo. It looks similar to the tool we use on the main repo, which I find very easy to work with, but no clue what it is actually like to use the git version
|
# ? Feb 5, 2018 19:35 |
|
Pollyanna - I think the best thing I could recommend is to take a long break from this thread. Seriously. You will become a better developer by finding a job youre content with doing and trying your best each day. You will encounter problems you are initially unable to solve and, by solving them, improve your skills. Over the course of a few years you may find a new area you didnt realize you were interested in. Or you may not, and you may simply be happy doing solid but unexciting work wherever you wind up. You dont need to write a white paper or go to grad school or meet some arbitrary requirement for success your parents or your ego are forcing on you. I would reckon most of us in this thread arent rockstars and many of us (including me) treat our jobs as just that - jobs. I go to the office, do some work that Im not particularly passionate about (but its enjoyable enough) and then I go home and dont think about it until the next day. Next time you feel like posting here, go start some side project and work on it instead, or write a cover letter, or meditate or exercise or something. Youre putting the cart so very very far before the horse in terms of potential future worries and I dont feel like the myriad of opinions in this thread are helping. (Except obviously the ones in this post!)
|
# ? Feb 5, 2018 19:42 |
|
Jose Valasquez posted:I had to look up what this was, I think it is only used by teams working on git projects outside the normal repo. It looks similar to the tool we use on the main repo, which I find very easy to work with, but no clue what it is actually like to use the git version Interesting. My boss swears all his Google cohorts use and love it. We've been having a ton of problems with Git lately. Four of us working on config files, two of which have been making concurrent changes to the nature of the way they're parsed/structured and two of us adding parameters, and it's been a loving nightmare to deal with git especially because we have these interleaved commits and cherry-picking has become a bitch. Last job I worked on an API that was self-contained enough in content so that there were relatively few merge issues ever. This job, not so much. Is it me, or is Git kinda garbage in certain cases?
|
# ? Feb 5, 2018 20:12 |
|
Good Will Hrunting posted:... Maybe your process is garbage? Seriously though, I have no idea what version system would let you get away with this sanely. Why are you cherry-picking all over the place? Why do you have interleaved commits? If you work is so interleaved, why don't you work off single branch?
|
# ? Feb 5, 2018 20:19 |
|
I would use Google docs or some other real time shared editing in that case.
|
# ? Feb 5, 2018 20:33 |
|
Xarn posted:Maybe your process is garbage? Wish I had answers to any of those questions. PRs stay open for weeks because management writes too much code and prioritizes their own poo poo before reviewing our poo poo. Their poo poo also hasn't always been squashed or cleaned up properly so history becomes a pretty amalgamated mess and we have to go back and re-write PRs to reflect a sometimes but rarely re-written history. I tried to grab an example but it has too much doxxing info in it. I wrote 3 small features (maybe 5 files each) that were based on something in master that has been changed like 3 times, but since the features were an A -> B -> C relationship and A was never approved before I started B and C (because that's how we work) I had to resolve conflicts or cherry pick patches multiple times all while merging any sort of changes to master (and actually other branches too lol).
|
# ? Feb 5, 2018 20:35 |
|
Good Will Hrunting posted:Outside of career chat: do you Google nerds use Gerrit internally? How do you like it? I'm finding the Git PR flow to be a massive, massive deducer in productivity on our team. I'm on Android and we use Gerrit and I quite like it, but git style workflows are very natural to me (GitHub is complete rear end compared to Gerrit btw). E: for your specific situation you'll have some unavoidable pain but just rebase your changes? Gerrit workflow works great with rebasing/changing patches..
|
# ? Feb 5, 2018 20:44 |
|
Good Will Hrunting posted:Wish I had answers to any of those questions. no git workflow is gonna fix this
|
# ? Feb 5, 2018 20:48 |
|
I mean what about coming in every day, pulling master, rebasing my current branch with whatever changes were added, and rewriting history every day? "Be the change you want to see in the repository"
|
# ? Feb 5, 2018 21:13 |
|
mrmcd posted:In my experience, CS masters programs are useless, and exist only as cash cows for milking foreign students, or for people with non-technical degrees to get academic cred. PhD programs can be legit but not necessary if you don't want to work in academia or some corporate research labs. In my experience, the bar for graduating from a master's program is pretty low, but the good ones do provide opportunities for students who are more motivated. I wouldn't have been able to go from working directly into a PhD program; I had to do a master's along the way.
|
# ? Feb 6, 2018 02:21 |
|
kitten smoothie posted:I was dumb and thought I'd do a CS masters' immediately after finishing my CS undergrad. 1. You can have someone else pay for it. 2. You have something concrete to show that you're working towards during your annual review. 3. You have the added work experience of developing software or planning projects to aid in your schoolwork. Of course, you have to work your classwork into the hustle and bustle of your already-overcrowded schedule. Still, it is doable. Your education isn't a race, and it can take a long (sometimes very long) time to complete. I've had false starts on degrees, moved across the country and had to continue a degree program at a different university, taken courses via distance education, and have even set my career aside and gone back to school full-time for a while. If you want a masters degree (you like to learn, want to shift focus to a new area, or it will open some more doors for you), go for it. If you just want one more box for companies to check when hiring you, it probably isn't worth the effort and money. If you view the experience of a masters degree as some kind of awful uphill slog to get a piece of paper that you view as a non-expiring technical cert, I would advise against doing it. Spend your time improving elsewhere. One thing that I will suggest to pretty much anyone is to consider getting an MBA. I know, I know... developers don't like MBAs because those people are all used car salesman-types, right? But, hear me out on this one: 1. You know all those awful, insecure managers that you have had that are terrible with people and who can't manage anything, right? What kind of formal training have they had on budgets, organizational behavior, project management, and product positioning/analysis? They probably picked that stuff up here and there by watching some other clueless manager when they were starting out. An MBA teaches you a set of skills that will help you to avoid making the same mistakes as those guys. I mean... sure, you'll still be insecure inside. But you'll get a lot of practice at faking it until you make it, and you'll get experience with presenting material to normal people without seeming like a condescending jerk. 2. It is a good generic graduate degree that is generally of lower difficulty than a technical program. Trying to get an MBA while working is much easier on you than getting a CS/CE/EE/whatever degree. They're also often tailored toward working individuals, so evening/weekend classes are more common. 3. The skills are pretty transferable, and you'll really view organizations way differently and understand more once you get to understand what many of the other pieces of the company are doing. 4. You wouldn't believe how much more attractive it makes you to organizations when you act as a consultant. That technical BS with an MBA is a pretty powerful one-two punch. Want to get seed capital or a loan to start a business? Subcontracts from a big firm? That MBA is a big first step in the right direction for doing so. 5. Many managers believe that an MBA holder has some form of magical powers. You'll get more traction when arguing for functionality or schedule changes if you can approach it from a market/product/strategic standpoint and frame it with a supporting business case. You'll be that one developer that management thinks finally gets it. 6. You know that nebulous "networking" thing that you're supposed to do to get the inside track on those hidden, awesome jobs out there? Your MBA classmates will be masters at it, and they're going to eventually be sprinkled throughout the management structure of all sorts of companies. You're going to get dragged along for the ride if you play your cards right. Who are they going to think of when some technical position opens up at their job? That one smart "computer guy" who aced the operations management and finance classes (those dreaded math classes) and helped them get through it, that's who. 7. An MBA is the entry-level degree for a whole different skill tree of jobs. Want to punch the reset button and try something else? Here's your golden ticket. You'll get better mileage out of your MBA education if you start it after a few years of working because you'll have better context in which to view everything that you're learning. There are some 4 + 1 CS/MBA programs out there, but you miss out on having that practical experience context. Some of you hated school, and I understand that. It isn't for everyone, and sitting through even more school is liked by even fewer people. Still, if you're putting in the effort to learn something to get you a better job, why not pick something that will help make you a better and more well-rounded person? Disclaimer: I got an MBA maybe five years after I finished my CS bachelors, and it helped me out so drat much over the course of my career. I even got my PhD in EE/CE over a decade after my MBA while developing software all the while, so it didn't doom me to a life of middle management, either!
|
# ? Feb 6, 2018 04:23 |
|
Good Will Hrunting posted:Outside of career chat: do you Google nerds use Gerrit internally? How do you like it? I'm finding the Git PR flow to be a massive, massive deducer in productivity on our team. We tried Gerrit a couple of years ago, but never got it to work well with bitbucket. Granted we didn't try all too much and Gerrit felt kind of hacked together and unfinished. I would love to try it again or find something else that does the same thing (usource?). But I have to pick and choose my battles and not overwhelm my coworkers while we hire more people. I hate our entire git process because it just becomes a giant clusterfuck due some internal processes out of my team's control.
|
# ? Feb 6, 2018 04:23 |
|
Good Will Hrunting posted:I mean what about coming in every day, pulling master, rebasing my current branch with whatever changes were added, and rewriting history every day? "Be the change you want to see in the repository" Rebasing your patches isn't hard or expensive and it shouldn't take a lot of effort unless you're code base is moving really quickly for everyone but you, in which case you should coordinate poo poo.
|
# ? Feb 6, 2018 05:12 |
|
Oh yeah it shouldn't be this level of chore at all and most certainly stems from the fact that there are just lots of little commits merged into master and also those commits have master merged into them periodically, sans any rebase or squashing, and the history is a long mess so when I try to do my interactive rebase to squash everything I find myself having to re-resolve conflicts I already did at one point when incremental patches are replayed. I guess the best way to do it is just rebase and squash any changes into my latest commit whenever I see those new changes merged into master and then do a final squash when my feature is approved? Just seems very messy for half of us to rewrite the history and half to use merge commits.
|
# ? Feb 6, 2018 06:00 |
|
Good Will Hrunting posted:Oh yeah it shouldn't be this level of chore at all and most certainly stems from the fact that there are just lots of little commits merged into master and also those commits have master merged into them periodically, sans any rebase or squashing, and the history is a long mess so when I try to do my interactive rebase to squash everything I find myself having to re-resolve conflicts I already did at one point when incremental patches are replayed. I guess the best way to do it is just rebase and squash any changes into my latest commit whenever I see those new changes merged into master and then do a final squash when my feature is approved? Just seems very messy for half of us to rewrite the history and half to use merge commits. Er, are you using Gerrit because your history shouldn't look like that. You shouldn't be merging master back into your feature branches, you should be using something like `git rebase --onto` to keep your patch(es) up to date and use amend/rebasing to keep your commits from ballooning as you address comments or make changes. I never use squash since I'm either amending my current commit or if doing a chain an interactive rebase to amend my earlier commits. Don't spam commits and then squash at the end that's just more work for you.
|
# ? Feb 6, 2018 07:38 |
|
apseudonym posted:Rebasing your patches isn't hard or expensive and it shouldn't take a lot of effort unless you're code base is moving really quickly for everyone but you, in which case you should coordinate poo poo. it is when syncing frameworks/base hangs or fails half of the time
|
# ? Feb 6, 2018 09:00 |
|
Pollyanna posted:I can do a good job, and whether or not the project is successful is up to the project. Really? The result of a project is a function of the people working on it, their output, and the processes around it (also a bunch of other stuff including some luck). I know you know there are better ways to do things on projects you've worked on because I've seen you call it out in other posts! Getting buy-in to your ideas and improving the people, their output, and the processes ya'll follow to make a project better is exactly what it means to be a "better developer". also, your parents are abusive in a way that's very hard for people to say "wow, that's abusive". you should really try out therapy and setting boundaries with them.
|
# ? Feb 6, 2018 09:11 |
|
hendersa posted:MBA Holy poo poo, do you also learn how to write extremely convincing arguments?
|
# ? Feb 6, 2018 12:44 |
|
hendersa posted:MBA Just to let everybody know, there is also an alternative thing that focuses only on finance parts of the MBA program, is wayyyy cheaper, is entirely self-taught, and is equivalent to a Masters Degree in some countries for visa purposes (e.g. UK, Aus, NZ). It's called the CFA and all you have to do is pass their 3 exams. I passed the 1st one a couple of years ago despite absolutely zero finance background at all and am currently preparing for the 2nd one in my spare time along with working on this programming job stuff. They're pretty hard (~40% pass rate), which is why they're so much cheaper to do compared to the MBA. Love Stole the Day fucked around with this message at 13:31 on Feb 6, 2018 |
# ? Feb 6, 2018 13:26 |
|
redleader posted:Holy poo poo, do you also learn how to write extremely convincing arguments? Pretty sure thats just part of hendrsas natural magic.
|
# ? Feb 6, 2018 13:40 |
|
FamDav posted:Really? The result of a project is a function of the people working on it, their output, and the processes around it (also a bunch of other stuff including some luck). I know you know there are better ways to do things on projects you've worked on because I've seen you call it out in other posts! Getting buy-in to your ideas and improving the people, their output, and the processes ya'll follow to make a project better is exactly what it means to be a "better developer". I mean that the project has a fate of its own, not that I wouldnt work towards its success.
|
# ? Feb 6, 2018 14:01 |
|
Love Stole the Day posted:Just to let everybody know, there is also an alternative thing that focuses only on finance parts of the MBA program, is wayyyy cheaper, is entirely self-taught, and is equivalent to a Masters Degree in some countries for visa purposes (e.g. UK, Aus, NZ). It's called the CFA and all you have to do is pass their 3 exams. I passed the 1st one a couple of years ago despite absolutely zero finance background at all and am currently preparing for the 2nd one in my spare time along with working on this programming job stuff. They're pretty hard (~40% pass rate), which is why they're so much cheaper to do compared to the MBA. CFA Institute website posted:- Evaluating or applying financial, economic, and/or statistical data as part of the investment decision-making process; supervising persons who conduct such activities; or teaching such activities. (Are they still recommending the Fabozzi book for studying fixed-income securities? Good God I hated that thing.) leper khan posted:Pretty sure that's just part of hendrsa's natural magic.
|
# ? Feb 6, 2018 14:30 |
|
I don't discount the importance of advanced degrees if there's something you want to pursue. I'm just saying, if you're not 100% committed, it's not worth it.
|
# ? Feb 6, 2018 15:21 |
|
apseudonym posted:Er, are you using Gerrit because your history shouldn't look like that. I typically don't merge master back into my feature branches, but others are and then pushing that up to master. So in git log I'll see the "merge" commit but when I do an interactive rebase I'll see all the commits. I'll try to give a more elaborate explanation next time I'm resolving something. One of the issues this last go around was that someone renamed a file from starting with a capital letter to lower case and git couldn't figure out what was going on so this killed my rebase entirely and I had to do a straight up merge.
|
# ? Feb 6, 2018 15:30 |
|
b0lt posted:it is when syncing frameworks/base hangs or fails half of the time I've so far managed to avoid issues with syncing framework/base, and most the work I do is there. Good Will Hrunting posted:I typically don't merge master back into my feature branches, but others are and then pushing that up to master. So in git log I'll see the "merge" commit but when I do an interactive rebase I'll see all the commits. I'll try to give a more elaborate explanation next time I'm resolving something. One of the issues this last go around was that someone renamed a file from starting with a capital letter to lower case and git couldn't figure out what was going on so this killed my rebase entirely and I had to do a straight up merge. That shouldn't break your rebase? It'll conflict when you try to rebase on top of it but then you just resolve it.
|
# ? Feb 6, 2018 16:22 |
|
apseudonym posted:I've so far managed to avoid issues with syncing framework/base, and most the work I do is there. I did, yet Git wasn't picking up that it was resolved and still saying ```You must edit all merge conflicts and then mark them as resolved using git add``` for some reason.
|
# ? Feb 6, 2018 16:40 |
|
I found Gerrit to be pretty ugly, myself. I also found it more confusing than the PR model, though maybe that's due to the process we used when I last used it.
|
# ? Feb 6, 2018 16:48 |
|
|
# ? Jun 8, 2024 08:19 |
|
I've got an interview for a senior software engineer position tomorrow with a company that makes remote controlled cars/planes/boats etc. Sounds like it'll be about half mentoring (I've taught on and off so I'm confident about that) and half device driver writing which I'm less confident in. Any advice on interview prep for device driver stuff specifically? I think I'd feel less nervous if I had something to review before going in. Also the interview is going to be at least 3 hours so that's something to look forward to. LLSix fucked around with this message at 17:37 on Feb 6, 2018 |
# ? Feb 6, 2018 17:25 |