Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Che Delilas
Nov 23, 2009
FREE TIBET WEED

Pilsner posted:

:stonk:

That's a bold and crazy statement. Do you think it's too obsessive about code quality or what? What if everyone just hammered down code like they were drunk, making it "just work", how would that be?

I see you aren't familiar with Sarehu's work in this thread.

Adbot
ADBOT LOVES YOU

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord
I know it's sarehu and all but for once I kind of agree, Robert C Martin is a total bozo indeed.

I'm not saying that absolutely everything he preaches is worthless but I feel like Clean Code is kind of overrated.

sarehu
Apr 20, 2007

(call/cc call/cc)

Pilsner posted:

:stonk:

That's a bold and crazy statement. Do you think it's too obsessive about code quality or what? What if everyone just hammered down code like they were drunk, making it "just work", how would that be?

Not bold at all.

The most memorable example is in the first edition of Code Complete, which recommends giving an array size n+1 when allocating it, so it works with either zero or one based indexing. I've gone through the first half of edition 2, and it's a stream of bland generalities (which might be good for some people) and stuff that's plain wrong. And, you know, stuff that's right, if only by luck, and it's depressing that people read this stuff and don't think it's incredibly obvious.

It shouldn't surprise you. This is par for the course for people that write about programming at the non-technical level. Other examples include Atwood, and anybody that has anything to say about testing or agile.

sarehu fucked around with this message at 16:57 on Oct 29, 2016

Sarcophallus
Jun 12, 2011

by Lowtax

sarehu posted:

Not bold at all.

The most memorable example is in the first edition of Code Complete, which recommends giving an array size n+1 when allocating it, so it works with either zero or one based indexing. I've gone through the first half of edition 2, and it's a stream of bland generalities (which might be good for some people) and stuff that's plain wrong. And, you know, stuff that's right, if only by luck, and it's depressing that people read this stuff and don't think it's incredibly obvious.

It shouldn't surprise you. This is par for the course for people that write about programming at the non-technical level. Other examples include Atwood, and anybody that has anything to say about testing or agile.

What are your thoughts re: testing and agile?

sarehu
Apr 20, 2007

(call/cc call/cc)

Sarcophallus posted:

What are your thoughts re: testing and agile?

I have nothing to say about that. :smug:

ExcessBLarg!
Sep 1, 2001

dantheman650 posted:

Seriously? You don't get like...blackballed from the industry for doing that?
There's no industry-wide database that tracks potential employees like this. It's probably not wise to use your current employer as a reference though.

dantheman650 posted:

What do you tell people in interviews about why you were there for such a short time?
If you actually only work at a place for one week plus the notice period, it's probably best to leave it off your resume. If this is your first job, then make your next job your "first" job.

If it does ever come up, you can state that you were mislead into the kind of role it was and quickly realized it wasn't a good fit.

oliveoil
Apr 22, 2016
Bought code complete while at my first job and it seemed unhelpful when I skimmed but I didn't read closely enough to recognize terrible advice, just stuff that seemed obvious obut mostly unhelpful is my memory of it.

In hindsight, make an array one element bigger so you can 0 or 1-based indexing sounds awful but that's the kind of thing I wouldn't have recognized at that time as terrible so much as just... Pointless.

JawKnee
Mar 24, 2007





You'll take the ride to leave this town along that yellow line
sure, you might no be getting what you want from that index, but at least you aren't getting an index out of bounds error!!!

denzelcurrypower
Jan 28, 2011
I feel like I'm doing OK on object oriented design principles, but I've never even heard of unit testing at school and it seems to be talked about all the time on these forums. I'm also really lacking in my knowledge of algorithms/data structure implementations. Any suggestions on books which cover these topics from the BASICS onward? I have CtCI but it is a little too advanced/goes straight to the solution without explaining all the theory.

For my data structures class we just learned how to use stuff like hashmaps but not how to actually implement our own. The only thing we implemented ourselves was a linked list, stack and queue. And we haven't really done anything for algorithms, either. E.g. to learn how to sort, our teachers said use Arrays.sort() or searching Arrays.binarySearch that type of thing.

FamDav
Mar 29, 2008
this is an actually good list of programming books, the first section of which is algorithms http://danluu.com/programming-books/

i recommend skiena.

BirdOfPlay
Feb 19, 2012

THUNDERDOME LOSER
Is Design Patterns by the Gang of Four also an overrated book?

Kibbles n Shits posted:

Hopefully this is the right place to ask..

I am a 3rd year CS student and I'm having a lot of fun learning and writing code but I feel miles away from being hireable. What should I start learning right now that isn't being taught in school to increase my marketability? My interests are the .net stack, SQL and Visual Studio. I'm reasonably confident in the code that I write but when I look at more experienced people I feel like I've barely started climbing the mountain.

Not directly your question but do you have a local .NET usergroup? The one here in Pittsburgh meets once a month, and they either have a member, a Microsoft MVP, or a .NET evangelist give an hour long talk about some new thing. For example, the last one I went to focused on .NET One/Core (can't remember what it's called) and another a year or two ago was all about Xamarin. It mostly went over my head, but if you're deep into the .NET stack, you'd get a lot out of it.

Plus, networking is never a bad thing if you aren't a big ol' goon.

WINNINGHARD
Oct 4, 2014

Ornithology posted:

I feel like I'm doing OK on object oriented design principles, but I've never even heard of unit testing at school and it seems to be talked about all the time on these forums. I'm also really lacking in my knowledge of algorithms/data structure implementations. Any suggestions on books which cover these topics from the BASICS onward? I have CtCI but it is a little too advanced/goes straight to the solution without explaining all the theory.

For my data structures class we just learned how to use stuff like hashmaps but not how to actually implement our own. The only thing we implemented ourselves was a linked list, stack and queue. And we haven't really done anything for algorithms, either. E.g. to learn how to sort, our teachers said use Arrays.sort() or searching Arrays.binarySearch that type of thing.

If you know a bit of python, i cannot recommend test driven development with python enough. Its free online. It's almost entirely example based and will walk you through an AWS deployment with NGINX. TDD itself is a little overkill in my experience, but it will get you in the habit of testing your code thoroughly.

Subyng
May 4, 2013
A job posting for a embedded systems developer position is asking for "experience with USB, RS-232 protocols"

Does anyone know what that means in terms of specific skills or knowledge? For anyone in the thread that could put "experience with USB, RS-232 protocols" in their resume, could you provide examples? Thanks!

Kibbles n Shits
Apr 8, 2006

burgerpug.png


Fun Shoe

BirdOfPlay posted:

Not directly your question but do you have a local .NET usergroup? The one here in Pittsburgh meets once a month, and they either have a member, a Microsoft MVP, or a .NET evangelist give an hour long talk about some new thing. For example, the last one I went to focused on .NET One/Core (can't remember what it's called) and another a year or two ago was all about Xamarin. It mostly went over my head, but if you're deep into the .NET stack, you'd get a lot out of it.

Plus, networking is never a bad thing if you aren't a big ol' goon.

Actually yes, there is! And it's decently sized too. Thanks for the idea. I'm a tad goony but I've made this sort of thing work before.

Gavinvin
Jan 3, 2013

Ambition is not a dirty word. Piss on compromise. Go for the throat.

the talent deficit posted:

help desk is worthless experience but at smaller companies you might be able to talk your way into a dev role eventually. don't even bother at anywhere with 100+ employees tho

Yeah the only time I have seen this happen was at a small 30 employee company I worked at. We also had a help desk guy join sales, and another become a business analyst.

JawnV6
Jul 4, 2004

So hot ...

Subyng posted:

Does anyone know what that means in terms of specific skills or knowledge? For anyone in the thread that could put "experience with USB, RS-232 protocols" in their resume, could you provide examples? Thanks!
Have you ever worked with UART? It's a very similar protocol to RS-232. There are some subtle differences (e.g. voltage swing), but for the most part working with it is going to Digikey and selecting the right USB converter. In my experience, RS-232 isn't as specialized as CAN and you could probably get along just fine without too much prior exposure.

USB is very well integrated now, I'd expect it to be a part of whatever microprocessor is being used. It's more difficult on the EE side of things (isolation, clocking, etc.) in software you'd just need to know about traffic types and endpoints.

All that's assuming they're not just looking at a prototype with a USB/RS232 converter in it and saying "we need one of those embedded folks..."

Baaulp
Sep 6, 2011
Graduated and I've been working at this place for 2 months now, but turns out its terrible. Now I'm thinking of looking for a new job and I'm curious about working for the public sector. I'm in Boston specifically. Anyone have any insight on the differences in hiring and actual work involved?

Cheston
Jul 17, 2012

(he's got a good thing going)

Baaulp posted:

Graduated and I've been working at this place for 2 months now, but turns out its terrible. Now I'm thinking of looking for a new job and I'm curious about working for the public sector. I'm in Boston specifically. Anyone have any insight on the differences in hiring and actual work involved?

I had a neighbor last year who works at Boston city hall. She told me I could expect less work, extreme stability after being there for... five years? Benefits in line with public sector work, but lower pay. Politicking is optional but if you don't like it you will likely have to put up with poor project management at some point (see: extreme job stability). Oh, and you have to physically live within Boston's city limits for the first five years.

This is all secondhand information though.

Pollyanna
Mar 5, 2005

Milk's on them.


Public sector work sounds interesting, but how closely tied to making people's lives better is it? Especially as a dev. I've copped to the fact that tech can't fix everything and the fact that I'm not directly contributing to real good is s little existentially worrying; I want to do something that has a visible effect on people. I don't know of much dev work available in that sense.

lunar detritus
May 6, 2009


Pollyanna posted:

Public sector work sounds interesting, but how closely tied to making people's lives better is it? Especially as a dev. I've copped to the fact that tech can't fix everything and the fact that I'm not directly contributing to real good is s little existentially worrying; I want to do something that has a visible effect on people. I don't know of much dev work available in that sense.

There are ways to volunteer your time and knowledge but I think finding a meaningful job is almost impossible in tech. The profits margins just aren't there.

asur
Dec 28, 2012

gmq posted:

There are ways to volunteer your time and knowledge but I think finding a meaningful job is almost impossible in tech. The profits margins just aren't there.

Google? Wikipedia? Autonomous whatever? Education? Given that pretty much everything has a computer in it there's no end to potentially meaningful jobs that require software engineering skills. They, for the most part, will not pay as much as FB, Amazon, etc though. This is also highly dependent on your definition of meaningful.

I wouldn't take it as a guarantee that public sector work is meaningful.

asur fucked around with this message at 15:15 on Nov 3, 2016

spiritual bypass
Feb 19, 2008

Grimey Drawer
Too many people who want to make a better world end up wasting their lives in pointless and poorly paid nonprofit work, whether or not they work with computers. If you try to make a living out of making the world a better place, you're almost certain to fail at both.

smackfu
Jun 7, 2004

A lot of public sector tech work is obscure record keeping CRUD apps.

Pollyanna
Mar 5, 2005

Milk's on them.


This is more or less what I figured. I'm sure there's lots of things I can do to help, but tech isn't really the crux of it...I'll figure it out later.

The Leck
Feb 27, 2001

smackfu posted:

A lot of public sector tech work is obscure record keeping CRUD apps.
Sometimes those make the world a better place too. :unsmith: I felt like I was doing more good by getting documents and information out to the public and fostering government transparency than by working at a company with a "social mission".

e: that's not to discount any of the other things said about public work. The pay wasn't too bad, but the tools were atrocious and it's REALLY easy to let yourself just coast when there aren't many rewards for doing well or consequences for doing badly.

e2: saw the hiring question above. This might be less of the case now, but a few years ago, one of the departments I was working for required a CS degree (no other degree would qualify you) and a few years experience for an entry level dev job that certainly didn't pay very well. Eventually someone convinced them that this is why they couldn't hire anybody. So depending on who's actually looking at your resume, the job requirements might actually be taken very seriously (and your meeting those reqs determines your pay scale) in a way that's counter to a lot of general advice.

The Leck fucked around with this message at 16:18 on Nov 3, 2016

huhu
Feb 24, 2006
I've taken a temp to hire job at a web development firm. I started as front end with basic WordPress/CSS stuff but have quickly moved on to more interesting stuff like Django and Business Intelligence tools (front end graphs and charts with data from databases, json files, etc). I'm enjoying my work but there's no promise of full time.

I've started looking again at jobs and realize JS/HTML/CSS/WordPress is exactly what I don't want to do. Besides Django and Business Intelligence, I also have experience with Python and Arduino(c++). Any suggestions for fields that would be interesting to check out that wouldn't be a complete pivot from what i know now?

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Pollyanna posted:

Public sector work sounds interesting, but how closely tied to making people's lives better is it? Especially as a dev. I've copped to the fact that tech can't fix everything and the fact that I'm not directly contributing to real good is s little existentially worrying; I want to do something that has a visible effect on people. I don't know of much dev work available in that sense.

If you're genuinely interested I can forward your resume to an old boss of mine. Be warned that the pay is not great but I have the great satisfaction of having designed and implemented the pipeline and ETL system of a large part of the President's Malaria Initiative when I was there.

Work I did quite literally saved 50 million people from malaria.

The job is in the Boston area.

b0lt
Apr 29, 2005

Pollyanna posted:

Public sector work sounds interesting, but how closely tied to making people's lives better is it? Especially as a dev. I've copped to the fact that tech can't fix everything and the fact that I'm not directly contributing to real good is s little existentially worrying; I want to do something that has a visible effect on people. I don't know of much dev work available in that sense.

The amount of difference you can make is pretty much negligible compared to the difference you would make if you just took a job at a real company and donated all of your salary.

-Anders
Feb 1, 2007

Denmark. Wait, what?
I could use some advice.

I'm currently starting out trying to do some simple ASP.NET + SQL websites.
Now I've taken a few short into to programming courses a few years back - but I'm basically re-learning most everything from scratch. Thankfully there's a lot of pretty good e-learning available for free, so I'm trying to follow some of that when it applies to what I'm trying to do.

What I dont really get from most of what's available is what the best practices are, and generally what the best solutions are.

Seeing as I'm just sitting at home, there's not really anyone to go to for advice - so what do I do?

Do I just keep plodding along, trying to figure out what works - with whatever horrible mess of code I manage to piece together, or is there a better way out there?

Fake edit: This might be the wrong thread for this :ohdear:

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

What made you pick ASP.NET?

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

b0lt posted:

The amount of difference you can make is pretty much negligible compared to the difference you would make if you just took a job at a real company and donated all of your salary.

This is exactly right. Most people will help far more people by making as much loving money as they can and donating everything they can via a GiveWell charity or something.

Make fat wads and buy mosquito nets.

sarehu
Apr 20, 2007

(call/cc call/cc)
Yeah I tried that, but then they took like a year plus to get actual nets to some villages. And apparently nobody uses them? It's better to keep your money.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

sarehu posted:

Yeah I tried that, but then they took like a year plus to get actual nets to some villages. And apparently nobody uses them? It's better to keep your money.


http://www.givewell.org/charities/against-malaria-foundation

sarehu
Apr 20, 2007

(call/cc call/cc)

Yeah, them. They got taken off givewell's list for a while because of their slowness in distributing nets, but now they're back. I don't really hold givewell's judgement of efficacy in high regard anymore though.

LLSix
Jan 20, 2010

The real power behind countless overlords

I had an interview with Amazon yesterday and while I don't expect them to move to the next stage I feel like I learned a lot so it was a good experience. They had me do a round of 4 in-person interviews, 2 technical and 2 "soft skills".

Both of the technical interviewers were good. The first guy was great and I envy a little bit anyone who gets to work with and learn from him. His problem was really good and clearly stated. I feel like I did pretty good, but could have done a lot better. We talked for a bit after the interview and he gave me some great advice which I'm going to share with you in the same generous spirit he shared it with me.


He said that when he was interviewing what he did was write up solutions, and all the variations of solutions, to all the common problems he could think of and really thoroughly commented his solution code.
Then he printed off his solutions and gave them to his wife and kids and had them test him.
He would write up the solution to the problem on the whiteboard and since he'd commented the solution he gave to his family they could give him hints if he got stuck.
Then he would practice solving the problems on the whiteboard over and over again.


I think that's really great advice. It's probably as close to a real interview set up as you're going to get at home and will really help smooth out your presentation of solutions on a whiteboard.

I ran out of time on both technical interviews and was pushing the boundaries of the time limits on the soft skill interviews too. I feel like there's really not time to actually solve a problem in a 1 hour interview. There's barely enough time to sketch out a solution that you already know. I really need to work on getting my answers to common interview questions very solid. Having a 90% understanding and being able to derive the rest from first principles in another half hour of thinking isn't good enough.

The one other thing I think I should have done a better job of is to explain the big-O run-time complexity of my solution. I knew what the complexity was and I was trying to describe efficient solutions but I don't think I did an effective job of conveying that information. I really need to remember that from the interviewers perspective I don't know anything unless I show that knowledge.

The atmosphere at the company seemed pretty not-toxic, which isn't what I was expecting. I didn't get any questions about Amazon's leadership principles directly and I never mentioned them by name either; although my answers touched on a lot of them. They're also working on some really interesting problems right now, so I'd be excited if they did decide to move forward.

brainwrinkle
Oct 18, 2009

What's going on in here?
Buglord

LLSix posted:

The atmosphere at the company seemed pretty not-toxic, which isn't what I was expecting. I didn't get any questions about Amazon's leadership principles directly and I never mentioned them by name either; although my answers touched on a lot of them. They're also working on some really interesting problems right now, so I'd be excited if they did decide to move forward.

Keep in mind that interviewers will be happy employees that give off a good impression of the company 95% of the time. Candidates that get offers but decide not to take them will give feedback that removes unhappy interviewers from the list. Even if the majority of employees there are unhappy, it's easy enough to assemble a positive interview team.

Not to dissuade you from taking the job if you get an offer! Just keep in mind that the environment might be exactly what you hear.

UnfurledSails
Sep 1, 2011

That might be the case for larger teams. My Amazon interview was literally an entire team of 4 people plus the manager, and one of the team members who interviewed me had already given their notice to quit.

I've always heard of recreating the interview scenario as much as possible as an advice, but unless you have severe performance anxiety problems I would not really bother. After your first couple of whiteboard interviews you'll get used to it anyway.

I tried everything: bought a whiteboard, wrote down my code on a piece of paper, reviewed problems I've done before etc. This is all good in theory, and it probably even works if you stick to it, but it also has a lot of overhead.

But eventually what worked for me was stopping giving a poo poo about "how" I do problems and just doing as many of them as possible. The point is not to memorize solutions or to ace the problems from the get go, but to get exposed to many solution approaches, so that you have a large well to draw upon when you are on the spot.

JawnV6
Jul 4, 2004

So hot ...

UnfurledSails posted:

After your first couple of whiteboard interviews you'll get used to it anyway.
It's a skill that benefits from refreshing. It's worth having a small whiteboard around home anyway to sketch things up. And I'll typically write a few practice problems just so I don't skip little things like == that are easy to miss by sight.

UnfurledSails posted:

it also has a lot of overhead.
That's the other concern. Like if you're unemployed, sure spend 4 hours a day optimizing your whiteboard presentation skills, but it's not something you should be honing if it's not part of your day to day. It's an artificial construct that has the barest relationship to actually developing software.

IronDoge
Nov 6, 2008

I've been working as a web developer for around 3+ years or so now and I feel it's time for a major uptick in my salary. I currently work for around $62k including benefits. Which is alright with the cost of living in my area. I'm looking into remote positions now and trying to figure what is a good target to aim for. Would $80-$90k be a reasonable range to shoot for when they ask for salary requirements? These are jobs based out of big cities, but they're looking for remote workers. I'm assuming they're looking to get some savings in hiring devs that don't live in the city, so I set my target to a bit lower than the average salaries I've seen in my research.

To add some details to this, I'm pretty well versed in Javascript (and it's multitude of frameworks), Node, and PHP. Web apps, version control, and working with technical and non-technical folks alike are well within my comfort zone.

Am I over/under valuing myself?

Adbot
ADBOT LOVES YOU

metztli
Mar 19, 2006
Which lead to the obvious photoshop, making me suspect that their ad agencies or creative types must be aware of what goes on at SA

IronDoge posted:

I've been working as a web developer for around 3+ years or so now and I feel it's time for a major uptick in my salary. I currently work for around $62k including benefits. Which is alright with the cost of living in my area. I'm looking into remote positions now and trying to figure what is a good target to aim for. Would $80-$90k be a reasonable range to shoot for when they ask for salary requirements? These are jobs based out of big cities, but they're looking for remote workers. I'm assuming they're looking to get some savings in hiring devs that don't live in the city, so I set my target to a bit lower than the average salaries I've seen in my research.

To add some details to this, I'm pretty well versed in Javascript (and it's multitude of frameworks), Node, and PHP. Web apps, version control, and working with technical and non-technical folks alike are well within my comfort zone.

Am I over/under valuing myself?

You're cutting yourself off at the knees by trying to read the minds of as yet unknown people at companies you may or may not be interested in working for. You are "assuming they're looking to get some savings in hiring devs that don't live in the city" - but that might not be the case. Maybe they can't find devs that live in the city and are casting a wider net. Maybe they just want some regional diversity to add to the pot. Maybe they just don't have the office space for more people and don't want the headache of moving, or maybe they want to avoid having an office period, so they're hiring everyone to work remote. All of those are situations I've seen or heard of happening. The point is that you don't know, but you're already devaluing yourself based on assumptions with no real evidence.

So, yes, you're undervaluing yourself.

It sounds like you'd be really happy with the median for the areas these companies are in, so ask for the median. No one will fault you for negotiating (and if they do, run away fast), and worst case you get told "no" a few times.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply