|
huhu posted: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? The problem is there is nothing to prove you didn't copy the answers from some other site... aside from the errors. Either way, at best, they provide no benefit, and at worst, could hurt your chances to even get an interview. Keep doing the exercises, but you should probably keep them to yourself. You need more of a final product type of thing to impress employers, and it should be really polished before you put it out there. Something with errors and a bunch of TODOs will hurt more than help. Also, if you want to get into more web design things, start looking into things like Typescript, AngularJS, React, LESS, etc. Having even the basics in some of those will put you ahead of a lot of candidates. I got my current job entirely by having experience with AngularJS. Skandranon fucked around with this message at 03:04 on May 31, 2015 |
# ? May 31, 2015 03:00 |
|
|
# ? Jun 8, 2024 04:12 |
|
Skandranon posted:The problem is there is nothing to prove you didn't copy the answers from some other site quote:Either way, at best, they provide no benefit, and at worst, could hurt your chances to even get an interview. quote:Also, if you want to get into more web design things, start looking into things like Typescript, AngularJS, React, LESS, etc. Having even the basics in some of those will put you ahead of a lot of candidates. I got my current job entirely by having experience with AngularJS.
|
# ? May 31, 2015 03:33 |
|
huhu posted:Any way they could help? Maybe if I create some fancy answers to Project Euler problems? Or does that still go back to nothing to prove I didn't copy and paste the answers? I really wanted to focus on getting all the way through a language and learning its in and outs and don't exactly feel like focusing on creating projects for now, but if I'm not creating projects then I'll have nothing to show. At the stage where they are looking at your website, it's all about getting an interview. Deciding who to interview is not a comprehensive evaluation, it's a filtering process. You look for reasons not to interview people, so you can focus on just a few. Since the answers can be copied, and they aren't exactly complex problems, at best it's a "he knows some JS". But if there are bugs or problems with the code you posted, it's an easy disqualification, and you don't even get the benefit of shaky nerves to blame. Like with the FizzBuzz problem, you a) display the number alongside the Fizz/Buzz, instead of doing a replacement b) don't display the number if it's not Fizz/Buzz/Fizzbuzz, which you are (IE, output for 3&5 should look like 1,2,Fizz,4,Buzz,Fizz,7, etc) This will make someone think you can't read directions well or understand requirements, and unless there is something else extremely compelling in your resume, instant disqualification. You don't get points for trying. That's why I suggested getting some more esoteric stuff on your resume. If a company is using Typescipt & AngularJS, and you have that, even just the basics, that possibly saves them a few months warming up a developer who has never heard of them. This can push you into the "worth a look" category, which is all you need. Once you get an interview, your resume barely matters and how you do there is all that really counts. Also, you DO get points for trying in the interview. huhu posted:Could basic be considered using jQuery to make an accordion from scratch instead of copying a template off of Bootstrap's documentation? Depends, but not really. Re-inventing the wheel is not a good practice in actual development, so if you try, and do a bad job, you lose points. You have to really succeed there for it to be to your benefit. When you are actually working as a developer, especially in the web, you'll be using a lot of libraries, not writing things from scratch. If you want something that will show you have something of value, learn AngularJS & React, and write your basic resume-ish site (without examples) in both. Have the entire code available on github, for both sites. Then they can see that you built a basic, top to bottom site, of your own (has your picture and poo poo in it) in two modern, in two sought after technologies. Don't try anything fancy, just make sure they work, and follow good practices for what you are making.
|
# ? May 31, 2015 03:57 |
|
huhu posted:I really wanted to focus on getting all the way through a language and learning its in and outs and don't exactly feel like focusing on creating projects for now I completely understand this impulse, but as far as I can tell it doesn't work. Or, at least, it's not the most optimal path towards creating the most optimal programmer that can be created out of an individual for a very large subset of those who have the impulse to learn this way. Not that I'm the best judge, but this is my impression from reading about the subject for years.
|
# ? May 31, 2015 03:59 |
Thermopyle posted:I completely understand this impulse, but as far as I can tell it doesn't work. Or, at least, it's not the most optimal path towards creating the most optimal programmer that can be created out of an individual for a very large subset of those who have the impulse to learn this way. I agree. Besides, most of the hard work programming is about how to implement things more than the specifics of any particular language.
|
|
# ? May 31, 2015 04:08 |
|
Sticking to one language for a bit while learning babbys first programming lessons seems like a good idea to me. What alternative would you guys suggest? learning a couple dissimilar languages like JS and C# at the simultaneously maybe?
|
# ? May 31, 2015 04:49 |
ROFLburger posted:Sticking to one language for a bit while learning babbys first programming lessons seems like a good idea to me. What alternative would you guys suggest? learning a couple dissimilar languages like JS and C# at the simultaneously maybe? I'd recommend doing a "full stack" web development course. HTML, CSS, JS, SQL, PHP/Ruby/Python (most likely backends) are all radically different languages (HTML and CSS aren't really 'programming' languages) and familiarizing yourself with the entire stack an incredibly marketable skill
|
|
# ? May 31, 2015 04:54 |
|
quote:At the stage where they are looking at your website, it's all about getting an interview. Deciding who to interview is not a comprehensive evaluation, it's a filtering process. You look for reasons not to interview people, so you can focus on just a few. Since the answers can be copied, and they aren't exactly complex problems, at best it's a "he knows some JS". But if there are bugs or problems with the code you posted, it's an easy disqualification, and you don't even get the benefit of shaky nerves to blame. quote:Depends, but not really. Re-inventing the wheel is not a good practice in actual development, so if you try, and do a bad job, you lose points. You have to really succeed there for it to be to your benefit. When you are actually working as a developer, especially in the web, you'll be using a lot of libraries, not writing things from scratch. quote:If you want something that will show you have something of value, learn AngularJS & React, and write your basic resume-ish site (without examples) in both. Have the entire code available on github, for both sites. Then they can see that you built a basic, top to bottom site, of your own (has your picture and poo poo in it) in two modern, in two sought after technologies. Don't try anything fancy, just make sure they work, and follow good practices for what you are making. quote:I completely understand this impulse, but as far as I can tell it doesn't work. Or, at least, it's not the most optimal path towards creating the most optimal programmer that can be created out of an individual for a very large subset of those who have the impulse to learn this way. Alrighty. Thanks for all your input thus far. Pretty burnt out from website updates, reading the JS textbook, and doing practice problems. I'll work on reducing the content of my site tomorrow.
|
# ? May 31, 2015 04:55 |
|
huhu posted:I feel like the number one suggestion I've seen while researching is pick a language, doesn't matter which, learn it, then move on from there. There's a lot more to software development than the language you are using. The goal is to understand the underlying software engineering principles, and then be able to pick up and apply them to any given language. Once you understand the underlying principles, the language is just a syntax lookup on Google.
|
# ? May 31, 2015 05:00 |
|
I didn't see anything about this in the OP, What kind of questions should one expect from a phone screen for a junior software developer role? Do they often involve the technical "do a fibanocci thing" questions?
|
# ? May 31, 2015 05:08 |
|
ROFLburger posted:Sticking to one language for a bit while learning babbys first programming lessons seems like a good idea to me. What alternative would you guys suggest? learning a couple dissimilar languages like JS and C# at the simultaneously maybe? People usually recommend Phyton as a beginner language, and I've seen some beginner books with Python, but I know zero Python and I think I turned out okay. It's probably awesome though. I started out with Java, and I think that was a good thing since it took me a while to wrap my head around concepts like objects and inheritance and polymorphism and such, which helped me learn general OOP concepts before moving onto other complex stuff. I think my head would have exploded had I started with C or C++ and learned about pointers and memory allocation. I think Stanford's CS106A is available for free on iTunes. It's a very good way to start out. That class pretty much tricked me into becoming a Computer Science major. I was like "Ooh I can move the robot and pick up the coins and make a Hangman game!" and now I'm writing a code generator for an imaginary programming language. I don't know what happened. I never really sat down and "learned" a language in college. I was given an assignment, a deadline of 9-10 days, and a language, and I researched and learned what I needed to do to complete the assignment. As I did more assignments I got the hang of practices that made my life easier, and kind of naturally memorized the stuff I used the most while forgetting the more esoteric stuff I used once. It was like nerdy natural selection. I still look up stuff, but I don't have to look up how to write a fscanf or a switch statement in StackOverflow anymore. I mean, I knew what a virtual function was, but never really understood why it was necessary until I had to use it in a project.
|
# ? May 31, 2015 05:16 |
|
ROFLburger posted:I didn't see anything about this in the OP, What kind of questions should one expect from a phone screen for a junior software developer role? Do they often involve the technical "do a fibanocci thing" questions? Depends on the company but yeah, its very often the usual algorithmic / data structure type stuff.
|
# ? May 31, 2015 05:17 |
|
Mine were similar to the in-person questions except we did it over a webdoc instead of a whiteboard.
|
# ? May 31, 2015 13:13 |
|
ROFLburger posted:I didn't see anything about this in the OP, What kind of questions should one expect from a phone screen for a junior software developer role? Do they often involve the technical "do a fibanocci thing" questions? Sometimes they just want to get a quick feel for someone before an interview. If you can provide intelligible answers to some simple technical questions, like "what is recursion?", then they move to either an in person interview, or maybe another phone interview with multiple people & some technical exercises.
|
# ? May 31, 2015 16:56 |
|
huhu posted:I feel like the number one suggestion I've seen while researching is pick a language, doesn't matter which, learn it, then move on from there. I'm not sure how exactly this is a response to what I said. I'm probably just not understanding your point. Picking a project and doing it doesn't require you to learn more than one language. Doing projects with a language is a great (best?) way to learn.
|
# ? May 31, 2015 17:27 |
|
Thermopyle posted:I'm not sure how exactly this is a response to what I said. I'm probably just not understanding your point. Expanding on this: Sitting down to "learn a language" in programming is startlingly similar to wanting to be a writer, so you sit down to memorize the dictionary. You might learn some things, but the majority of the information is going to have no context. Learning a language by finding a problem you want to solve (even if that problem is "I want hello world printed on my screen" ) is a much better way to learn context, and having a small project that works after a few hours is much more encouraging than spending 3 months memorizing syntax, and still not knowing what to do with it.
|
# ? May 31, 2015 17:36 |
|
Skandranon posted: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. Just want to chime in and say gently caress python's self._boogers __init__ __str__ nonsense. It was a nice program to the basics of computer functions, but once it gets in to OOP, it falls apart. It made so much more sense within 4 chapters of Beginner's Java.
|
# ? May 31, 2015 19:29 |
|
ElGroucho posted:Just want to chime in and say gently caress python's self._boogers __init__ __str__ nonsense. Conversely, it took Python for me to finally understand OO after struggling with Java for a year.
|
# ? May 31, 2015 19:34 |
|
I've never done OO programming in Python, just scripting. What's so bad about it?
|
# ? May 31, 2015 19:47 |
|
an skeleton posted:I've never done OO programming in Python, just scripting. What's so bad about it? It's actually not that bad, although it's challenging to make it perform well. (Quite a few other languages, such as Lua, use similar systems.) In Python's data model, an object in Python is basically a thinly disguised dict; "object.member" is syntactical sugar for "object->__dict__["member"]". You have a wide variety of methods with sentinel names that are called to implement rudimentary functionality: * When you create an object it calls obj.__init__ * When you call str(object) it calls obj.__str__ * When you call "%20s" % object, it calls obj.__format__("20s") * and so on. There's some really powerful things you can do with this model, in terms of readability and fluid code. For example, imagine you have a wrapper class around a database row; the object can inject the column names into its method table at runtime, so you can call row.SomeGodawfulSqlColumnName. (In that sense, Python doesn't have a clear division of code and data; a program just represents the initial data that's loaded into the environment. You can even use this to emulate some metaprogramming features that Python lacks, by using exec() and string formatting to generate code at runtime.) On the other hand, this means that most method calls are slow as molasses, compared to a v-table or even a ObjC message. It also means that it's very difficult to do static analysis, and it's not always intuitive/predictable what's actually being done when you use a method or attribute on an object.
|
# ? May 31, 2015 20:10 |
|
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/ This might just be me being nit picky but why isn't the page content centered at desktop screen sizes? It might just be me but I hate seeing websites where the page content isn't centered especially when the site is responsive like yours is.
|
# ? Jun 1, 2015 00:22 |
|
The Dreamer posted:This might just be me being nit picky but why isn't the page content centered at desktop screen sizes? It might just be me but I hate seeing websites where the page content isn't centered especially when the site is responsive like yours is.
|
# ? Jun 1, 2015 00:43 |
|
huhu posted:Care to share a screen shot? Not sure what you're talking about. Everything is centered on my screen. I'll have to get back on my other computer but if your screen is wider than 1600px the content just sits over to the left and leaves a gray void on the right. If your screen is 1600px or less you can go into Firefox and hit Ctrl+Shift+m and change screen size dropdown to larger than 1600 and scroll over to see what I'm talking about. The Dreamer fucked around with this message at 00:54 on Jun 1, 2015 |
# ? Jun 1, 2015 00:50 |
|
|
# ? Jun 1, 2015 00:54 |
|
huhu posted:Care to share a screen shot? Not sure what you're talking about. Everything is centered on my screen. You have max-width set to 1600px on .site, by the way.
|
# ? Jun 1, 2015 20:15 |
|
the site sitting to the left feels really odd. you could get rid of the max-width, or apply margin-left:auto and margin-right:auto to #page
|
# ? Jun 1, 2015 21:09 |
|
What level of experience/competency should I have with a language before I put it on my CV? I mean I'd ideally like a section like Fluent: Haskell, Java, F#, Python, VB.Net Have used a bit, and could pick up: C, C#, Fortran, Rust There's also Fortran which I'm fluent in but there's absolutely no way that I'd want a job in. Should that go on too?
|
# ? Jun 2, 2015 17:18 |
|
Don't put anything you aren't ready to whiteboard in. If you've used C# in a past project, but are rusty, add a section to each previous job describing the technologies used in each position. This will signal to them that yes, you have used C#, but that was 3 years ago and such. For current skills, make sure it's current. As for the Fortran... leave it off it you don't want anyone asking you to do it.
|
# ? Jun 2, 2015 17:33 |
|
In the Skills bit on my CV I did recently I put "Core" and "Additional" sections. Core for stuff I do daily or am happy to teach people about, really anything I'd expect to be able to pick up and be fully productive from the get go. Additional for things I've occasionally used professionally or done quite a bit in my own time but am not confident selling myself as a pro. This was backed up by what Skandranon suggested, having specific technologies listed against previous positions/projects in the experience bit. Recent set of interviews I didn't really get asked about it and got an offer
|
# ? Jun 3, 2015 15:08 |
|
So, what kind of questions can you ask or actions you can take with regard to a potential employer to make sure you're not going to end up working for one of these places that gets featured in the Coding Horrors thread where they've got lovely practices and terrible code bases?
|
# ? Jun 3, 2015 18:22 |
|
Ask detailed questions about their practices and make sure the answers are right. If you find out they lied, spend all your work time applying for other jobs.
|
# ? Jun 3, 2015 18:32 |
|
Joel Spolsky has a really old article about questions to ask interviewers up at http://www.joelonsoftware.com/articles/fog0000000043.html Some of them aren't as important, depends. For me, I try to imagine what conditions I actually want to work in, and try as much as possible to ask questions that will confirm/deny what I'm looking for. If foosball matters a lot to you, ask about it. If unit testing is your thing, ask if they do it.
|
# ? Jun 3, 2015 18:56 |
|
Skandranon posted:Joel Spolsky has a really old article about questions to ask interviewers up at http://www.joelonsoftware.com/articles/fog0000000043.html I've found that you shouldn't ask things directly, because they'll give answers you want to hear. "Do you unit test?" -> "Yes, of course!" = "We'd really like to do it someday" or "We have awful integration tests, half of which fail, because no one understands how to unit test properly but we think we do" "Are you Agile?" -> "Yes, of course!" = "We change what you're working on every three days based on the whims of management" "Do you do continuous integration" -> "Yes, of course!" = "We have some insane hacked up series of scripts that someone wrote 10 years ago, then that person quit, and no one knows what the scripts do or how they work" It's better to ask questions that will lead them into revealing this information: "How do you ensure code quality?" If they don't talk about unit tests, they don't do it. "How do you manage work estimates?" If they start talking about arbitrary milestones determined by a non-technical "project manager", they're waterfall, even if they claim otherwise. "How do you do software releases?" They'll talk your ear off about the toolchain they use to do continuous integration/delivery here... unless they don't. etc In case it isn't obvious, I've been burnt by this before.
|
# ? Jun 3, 2015 19:09 |
|
Thermopyle posted:So, what kind of questions can you ask or actions you can take with regard to a potential employer to make sure you're not going to end up working for one of these places that gets featured in the Coding Horrors thread where they've got lovely practices and terrible code bases? http://jvns.ca/blog/2013/12/30/questions-im-asking-in-interviews/ http://blog.pamelafox.org/2013/07/what-to-look-for-in-software.html
|
# ? Jun 3, 2015 22:14 |
|
You guys have excellent question suggestions, but I'm not sure if I can use most of them in my new grad/entry level interviews. I don't have any experiences with lovely practices myself, so it's kind of tough for me to say "Hmm I will have a terrible time working for these people." I wouldn't probably recognize if their practices are crap in the first place.
|
# ? Jun 3, 2015 22:22 |
|
UnfurledSails posted:You guys have excellent question suggestions, but I'm not sure if I can use most of them in my new grad/entry level interviews. I don't have any experiences with lovely practices myself, so it's kind of tough for me to say "Hmm I will have a terrible time working for these people." I wouldn't probably recognize if their practices are crap in the first place. Start following the Coding Horrors thread.
|
# ? Jun 3, 2015 23:59 |
|
UnfurledSails posted:You guys have excellent question suggestions, but I'm not sure if I can use most of them in my new grad/entry level interviews. I don't have any experiences with lovely practices myself, so it's kind of tough for me to say "Hmm I will have a terrible time working for these people." I wouldn't probably recognize if their practices are crap in the first place. It's fun to learn as you go - at least for me. I think the hard-hitting questions like above are for after you have a solid 5 years of programming and want a solid team to work with. Or maybe I'm the odd one
|
# ? Jun 4, 2015 00:13 |
|
kloa posted:It's fun to learn as you go - at least for me. I think the hard-hitting questions like above are for after you have a solid 5 years of programming and want a solid team to work with. Or maybe I'm the odd one You really don't want to work at a place with bad practices, you will pick up bad habits and will have to spend even more time unlearning them. While it may be harder to figure out if they are flat out lying to you, as Ithaqua warns of, you really want to try and start off learning from actually competent people instead of morons.
|
# ? Jun 4, 2015 00:37 |
|
Skandranon posted:You really don't want to work at a place with bad practices, you will pick up bad habits and will have to spend even more time unlearning them. While it may be harder to figure out if they are flat out lying to you, as Ithaqua warns of, you really want to try and start off learning from actually competent people instead of morons. Right. Guess I meant more in the sense that you add things as you go. I've worked at places that don't have any of the generally accepted things people here talk about : source control, unit tests, etc. not that I do it wrong per se, it just doesn't exist at some workplaces. I'm slowly adding better practices to my current job: Make a small program. It's expending, now make it run better. Now source control. Now unit tests. And so on.
|
# ? Jun 4, 2015 01:19 |
|
|
# ? Jun 8, 2024 04:12 |
|
kloa posted:Right. Guess I meant more in the sense that you add things as you go. I've worked at places that don't have any of the generally accepted things people here talk about : source control, unit tests, etc. not that I do it wrong per se, it just doesn't exist at some workplaces. That's fine, I wasn't trying to pick on you. However, being the one to implement these sorts of things can be extremely stressful, depending upon the culture. If you are just starting out, having someone show you the proper ways of using source control, of decoupled code, etc, sets you up so much better long term in your career. I wish I didn't have to muddle through a lot of these things the way I did.
|
# ? Jun 4, 2015 01:31 |