|
sarehu posted:The real gap of software engineering knowledge in programmers today isn't that of being on a team, using version control, communicating with coworkers, and the like. It's in the actual code -- how to write good software. How to make an API that's difficult to gently caress up, how to make one that's practical to update in the future, how to take advantage of a type system, exactly what is it about global variables that will gently caress you up, how to minimize the risks of mutable state, how to design your datatypes so that they're aren't a big nest of pointers, good opinions regarding "be liberal in what you accept," that sort of thing. I mean, everybody who's fresh out of college is going to be terrible at communicating with coworkers, customers, and such, but I think people generally pick that stuff up (anyway, it's not like you can teach it in a class). It's architecture scale things like, don't don't GOD DAMMIT YOU NOOB-rear end FRESHER DO NOT PUT THAT VARIABLE IN THAT CLASS! WHAT IS ITS LIFETIME??? DO YOU KNOW???? This is from a few pages back, but I got to thinking about this post and realized that I really don't know what I'm doing when it comes to some of this stuff. I learned some OO principles from internships, reading blogs, and Internet hearsay, but not nearly enough. For example, "big nest of pointers" is exactly how I'd describe my senior project right now, and my partner and I both agree that it's a goddamn mess. I know some ways to clean it up, but I'm sure that after the refactoring it'll steadily become nasty again as we implement more and more features in the future. So, in general, what should I read/study to become better at programming? I'm sure that I'll get better with experience once I start working, but what can I do to accelerate the process?
|
# ? May 28, 2015 18:05 |
|
|
# ? Jun 9, 2024 01:44 |
|
KidDynamite posted:I meant just in case as just in case I want to leave before I have to pay it back. Which is 23 months in this instance. If I'm reading it right, that's kinda lovely.
|
# ? May 28, 2015 18:35 |
|
Steve French posted:Am I interpreting this correctly to mean that you are expected to return the entire bonus if you leave in under 2 years? Not prorated? Or am I reading between the lines too much? It's pro-rated not sure at what rate since I haven't gotten that paperwork yet. I feel like I will probably be at the place a few years, but I just don't want to feel locked in if I can find a better opportunity elsewhere. I will keep it liquid in a high yield account.
|
# ? May 28, 2015 19:42 |
|
When asking for a signing bonus, do you just ask bluntly, or offer to have the first year's salary cut or prorate or whatever in the initial request? I'm finally employable enough people a thousand miles away like me (YAY) but I've only ever done the poo poo game in my unknown semi-major city.
|
# ? May 28, 2015 21:20 |
|
I just ask what kind of signing bonus I should expect. I wouldn't ever structure a bonus as an advance on first year salary, if you need money for relocation ask for relocation.
|
# ? May 28, 2015 21:30 |
|
VostokProgram posted:So, in general, what should I read/study to become better at programming? I'm sure that I'll get better with experience once I start working, but what can I do to accelerate the process? That list is a short list of where I improved since graduating, by the way. I think you mostly just have to do a bunch of programming and get burned a few times, especially on teams and doing maintenance on pre-existing projects. It helps to have a variety of experience (different languages, different fields)*, code review helps too, getting a job at a company with good coworkers is a good idea. *For example, how I'm organizing my in-memory data structures in one low-level project was influenced by how I might organize them in an SQL database, experience I got from doing web programming.
|
# ? May 28, 2015 21:41 |
|
VostokProgram posted:This is from a few pages back, but I got to thinking about this post and realized that I really don't know what I'm doing when it comes to some of this stuff. I learned some OO principles from internships, reading blogs, and Internet hearsay, but not nearly enough. For example, "big nest of pointers" is exactly how I'd describe my senior project right now, and my partner and I both agree that it's a goddamn mess. I know some ways to clean it up, but I'm sure that after the refactoring it'll steadily become nasty again as we implement more and more features in the future. Clean Code advises well on how to write readable code to the novice. The book will be underwhelming if you already have significant experience and already care about writing readable code, though. Some significant pithy points I would add to the book that help immensely with not having your program collapse under its own complexity:
|
# ? May 29, 2015 00:39 |
|
Clean Code is full of completely wrong, child-minded bad advice, amid a random sampling of common truisms you'll read about software development. Make things small! Make it simple! Be immutable (when you can)! Short names/long names! When you get down to the specifics you get a load of stupidity. Like suggesting that you rename assertEquals to assertExpectedEqualsActual. Bloviate jargon like "Monadic functions," "Dyadic functions," and "Triads," i.e. functions that take 1, 2, or 3 arguments. Passages like, "This side effect creates a temporal coupling. I.e. ..." The entire "Command Query Separation" subsection. Not to mention the idea that you should throw poo poo into member variables to avoid passing them as arguments... because that's more readable? Yeah, in a totally superficial brain-dead manner. Just to pick on one of the few chapters I bothered reading. Not sure what else to expect from somebody that wrote a UML book and a bunch of other books though. Somebody needs to spend more time behind a keyboard. Take everything it says with skepticism. Edit: Okay, my original abandoned read that stopped at chapter 4 before skimming might have missed good parts of the book. So I randomly chose a page and got this: quote:G2: Obvious Behavior is Unimplemented So, should that convert "Mon"? "M"? "m"? "Mon."? " Mon "? In reality you don't want to make your functions be so "helpful" -- if they are, it's an application-specific thing. How about having simple and documented behavior instead? Ironically this paragraph is immediately followed by quote:G3: Incorrect Behavior at the Boundaries sarehu fucked around with this message at 01:40 on May 29, 2015 |
# ? May 29, 2015 01:17 |
|
'Uncle Bob' is incredibly bad
|
# ? May 29, 2015 01:58 |
|
quote:Not to mention the idea that you should throw poo poo into member variables to avoid passing them as arguments... because that's more readable? Maybe I just have a very low bar since I see egregious errors of the 'common truisms' listed in the book frequently and have the mentality something is better than nothing.
|
# ? May 29, 2015 02:06 |
|
Writing good code isn't something you just read about. I think, as sarehu said, you have to be exposed to a lot of things and be burned a lot to get a good impression why not to do things. Just reading "composition over inheritance" doesn't drive home how awful inheritance chains can get. It's like the Matrix, you have to see it for yourself.
|
# ? May 29, 2015 02:18 |
|
Hey all, anyone have any experience with Goldman Sachs' relocation bonus and when they give it? I am in a position where I cannot really afford the costs of paying for rent upfront, getting furniture, getting electricity etc without getting my relocation bonus earlier. Asking my parents for more money is not an option. Is it possible for me to ask HR for the relocation bonus earlier, or do I have to take out some kind of loan? Here is what the offer letter said concerning the relocation bonus: "You will receive a gross relocation payment payable only after you commence employment with the firm in 2015. Such payment will be made to you in cash no later than the last day of the year in which you commence employment."
|
# ? May 29, 2015 02:32 |
|
Get a payday loan. Seriously. (A credit card might be cheaper.) You don't need to get furniture up-front. Get an air mattress.
|
# ? May 29, 2015 03:08 |
|
For anyone that is self taught and got a job, care to share (or pm me) your resume?
huhu fucked around with this message at 03:44 on May 29, 2015 |
# ? May 29, 2015 03:25 |
sarehu posted:Get a payday loan. Seriously. Sometimes you just need to do that kind of crap.
|
|
# ? May 29, 2015 03:38 |
|
sarehu posted:Passages like, "This side effect creates a temporal coupling. I.e. ..." Oh yeah, talk dirty to me baby. Don't forget the astronomy lesson!
|
# ? May 29, 2015 04:13 |
|
Akarshi posted:Hey all, anyone have any experience with Goldman Sachs' relocation bonus and when they give it? I am in a position where I cannot really afford the costs of paying for rent upfront, getting furniture, getting electricity etc without getting my relocation bonus earlier. Asking my parents for more money is not an option. Is it possible for me to ask HR for the relocation bonus earlier, or do I have to take out some kind of loan? Ask your HR contact about specifics on the disbursement. If you're a new college hire, they have almost certainly heard he question before. There's no shame in asking. Early relocation allowance disbursement differs from company to company. Most don't do it. Just get a couple of credit cards if your credit score can support it. Put your future income in the application and you should be able to get largish limits. That's how I'm financing my relo until I start work at the end of June.
|
# ? May 29, 2015 08:20 |
|
I was just like "why is this dude putting his signing bonus in a CD case? that makes no sense whatsoever" Is that something like a term deposit?
|
# ? May 29, 2015 13:10 |
|
Odette posted:I was just like "why is this dude putting his signing bonus in a CD case? that makes no sense whatsoever" Same thing, just we call them certificates of deposit here in the US.
|
# ? May 29, 2015 14:32 |
|
Is there a category that the languages Java, C++, and Python fall into? I've been looking at jobs and these three keep popping up together. Is there any reason why JavaScript wouldn't fall in there? I've dedicated myself to learning JS first and then moving on to Python since I played around with it before and enjoyed it.
|
# ? May 29, 2015 18:28 |
|
huhu posted:Is there a category that the languages Java, C++, and Python fall into? I've been looking at jobs and these three keep popping up together. Is there any reason why JavaScript wouldn't fall in there? I've dedicated myself to learning JS first and then moving on to Python since I played around with it before and enjoyed it. Probably (big) data related positions.
|
# ? May 29, 2015 18:33 |
|
If i had to categorize them I'd go with "the most commonly used languages in college courses."
|
# ? May 29, 2015 19:10 |
|
Most common non-web focused languages.
|
# ? May 29, 2015 19:16 |
|
They don't have much in common structurally. Java is purely OO based, C++ has objects bolted on, and Python only kinda. Java is compiled to bytecode to run on a VM, C++ is compiled to the specific OS/CPU architecture, and I don't know what Python does. Maybe it's just a scattershot and hoping to pick up someone that has at least one of those three.
|
# ? May 29, 2015 21:14 |
|
They're all Google-approved back-end languages.
|
# ? May 29, 2015 22:27 |
|
Alright, so.. I'm a C# coder tentatively. I've done a semester of C#/Java, a semester of PHP that I was not fond of, and a semester of C++. The C#/Java weren't even transfer courses and I don't have a degree in anything. I am now in dire financial straits, so I'm trying to use those skills to do something with myself. The two things I've coded most recently to try to actually use are a mp3 player and a window resizer: https://www.dropbox.com/s/njf7e56j66lmut0/goatMP3vF.zip?dl=0 https://www.dropbox.com/s/ef3ucvj487ypjrv/winSize.zip?dl=0 If anyone doesn't mind looking, are these something that would make a recruiter cringe or are they pretty okay?
|
# ? May 29, 2015 22:42 |
|
Doctor Goat posted:Alright, so.. I'm a C# coder tentatively. I've done a semester of C#/Java, a semester of PHP that I was not fond of, and a semester of C++. The C#/Java weren't even transfer courses and I don't have a degree in anything. If you want people to look at it, put it on Github.
|
# ? May 29, 2015 23:18 |
|
Ithaqua posted:If you want people to look at it, put it on Github. Alright, sorry. I've been used to Dropboxing things to let a few friends of mine dick with things I code, since they're better at breaking things than I am. https://github.com/DoctorGoat/winSize https://github.com/DoctorGoat/goatMP3vF I am not very proud of this but it's the most complex thing I've made
|
# ? May 30, 2015 00:12 |
|
Doctor Goat posted:Alright, sorry. I've been used to Dropboxing things to let a few friends of mine dick with things I code, since they're better at breaking things than I am. Your MP3 player has a huge problem: The entire thing is one giant class. Good OO programming dictates that you separate your application into classes that encapsulate behavior. Another problem: WinForms is awful and encourages you to do exactly what you did. WPF is a more modern equivalent for Windows desktop applications. Although WinForms apps still exist (and you may well end up maintaining one for a job), no one is actively starting new WinForms projects anymore if they know any better. Write unit tests whenever possible. Use appropriate naming conventions for the language you're writing. C# has very thorough conventions: https://msdn.microsoft.com/en-us/library/ff926074.aspx
|
# ? May 30, 2015 00:25 |
|
Doctor Goat posted:Alright, sorry. I've been used to Dropboxing things to let a few friends of mine dick with things I code, since they're better at breaking things than I am. That winSize program seems basically negligible, it only has 3 small functions, and still has two TODOs.
|
# ? May 30, 2015 00:33 |
|
Doctor Goat posted:If anyone doesn't mind looking, are these something that would make a recruiter cringe or are they pretty okay? A recruiter wouldn't have a clue. Ithaqua posted:Your MP3 player has a huge problem: The entire thing is one giant class. Good OO programming dictates that you separate your application into classes that encapsulate behavior. What classes would those be? Ithaqua posted:Write unit tests whenever possible. What unit tests would you write? (Fair anti-warning: I won't argue with or respond to any answers that you write.)
|
# ? May 30, 2015 00:35 |
|
piratepilates posted:That winSize program seems basically negligible, it only has 3 small functions, and still has two TODOs. Yeah, I wrote it earlier when I got ticked that there wasn't a feature built into several games. I'm trying to set goals for a program and stop myself from overreaching. In the case of the latter TODO, I'm going to have to learn a significant amount more about how Windows handles border styles unless I just copypaste something from stackoverflow or something. The earlier one is because I needed lunch and had to put it down, though.
|
# ? May 30, 2015 00:46 |
|
Doctor Goat posted:Yeah, I wrote it earlier when I got ticked that there wasn't a feature built into several games. I'm trying to set goals for a program and stop myself from overreaching. You don't need to justify these things to us, we're telling you things other people will say. You need to either fix those things, or come up with excuses you would be comfortable telling an interviewer. Whatever you bother to hold up as an example of your abilities better be the best you can possibly do, not something you didn't feel like doing better on or had to go get lunch.
|
# ? May 30, 2015 01:27 |
|
"Capable of creating and innovating solutions not by thinking outside the box, but as if there is no box" I love dumb white noise qualifications like these.
|
# ? May 30, 2015 21:07 |
|
• Must be capable of seeing the code when in the matrix
|
# ? May 30, 2015 21:23 |
|
Blotto Skorzany posted:• Must be capable of seeing the code when in the matrix They say that, but when I tell them I CAN see the code right now, they call me crazy.
|
# ? May 30, 2015 21:39 |
|
Would anyone care to give my website a 2 minute view(as if you were hiring) or a longer view to see if there are any issues? http://www.travisbumgarner.com/ Also, my resume, thoughts? https://drive.google.com/file/d/0B01niieJYRjKN0h3XzRXQnIzZDA/view?usp=sharing There might be some formatting issues, mainly the content at this point, I just created it from scratch and grabbed stuff from my old resume.
|
# ? May 30, 2015 21:42 |
|
huhu posted:Would anyone care to give my website a 2 minute view(as if you were hiring) or a longer view to see if there are any issues? http://www.travisbumgarner.com/ Your javascript page is super confusing and it took me several minutes to realize that the top two projects on the page are actually demos of things you built and aren't placeholders from a template that you forgot to fill in.
|
# ? May 30, 2015 22:15 |
|
huhu posted:Would anyone care to give my website a 2 minute view(as if you were hiring) or a longer view to see if there are any issues? http://www.travisbumgarner.com/ Some of the things there are really REALLY basic. FizzBuzz should not be the culmination of your abilities, that is a filter for the bare minimum of what's worth talking to. Also, your FizzBuzz solution is wrong (supposed to print the number if it's not any of Fizz, Buzz, or FizzBuzz). And your Fibonacci summation is hugely inefficient. There is no reason to keep pushing the numbers into an array to get the sum. I'm going to stop there though, lest people start to think I'm mean (I'm not, just overly critical) Skandranon fucked around with this message at 23:25 on May 30, 2015 |
# ? May 30, 2015 23:18 |
|
|
# ? Jun 9, 2024 01:44 |
|
Sorry I should have phrased that question differently. I just put in a ton of work building the website, custom child theme, templates for pages and posts, accordion on the education page, project sort on the engineering portfolio page, etc. I'm more focused on the quality of the actual website... HTML, CSS, and JavaScript as it relates to web design stuff. My next focus is to continue with MIT's OCW course and Eloquent JavaScript to improve my JavaScript abilities, which I know are far from good.Skandranon posted:Some of the things there are really REALLY basic. FizzBuzz should not be the culmination of your abilities, that is a filter for the bare minimum of what's worth talking to. Edit: Maybe it's better to throw all my solutions on Github and link to it so it's not so easy to find...since they're unpolished kind of stuff. Or maybe just don't show them at all? huhu fucked around with this message at 00:24 on May 31, 2015 |
# ? May 31, 2015 00:14 |