AMA Request Computer Science

Fear the Boot Ask Me Anything - We seem to have a lot of subject matter experts here at FtB, let's spread that knowledge around!
User avatar
harborpirate
LF's frikin' laser attendant
Posts: 2210
Joined: Fri Jan 09, 2009 2:31 pm

Re: AMA Request Computer Science

Postby harborpirate » Fri Mar 11, 2016 12:11 pm

I have a degree in CS, and I've been writing code professionally for 16 years now. (Mostly .Net, which I jumped on when it was still a release candidate. I've written a ton of SQL, boatloads of JavaScript, and done plenty of Java, as well as lots of other assorted stuff along the way.)

First off, you've already figured out one of the challenges: bootstrapping your career is one of the hardest things you'll have to do. Once you have about 3 years of experience, you'll be in demand. Side note: 3-5 years experience is the most often requested amount in job postings because you've gained enough experience not to be a net drain on productivity, but companies also believe they can still get you for cheap.

So, I have a few pieces of advice regarding how to get your career started.

First thing: Complete your degree! When you're starting out and you have no applicable industry experience, that degree is the best thing you'll have going for you.

Here are some additional things (not exclusive to one another - you could theoretically be doing all of these):
  • Starting applying, and hopefully interviewing, right away; especially if you're only a couple of months from graduating. You may as well start now to get some interview experience under your belt. Apply for anything in the field that looks remotely interesting and doesn't require a ton of experience. If it says "junior programmer" or something similar, that's you. Keep in mind: just because you land a gig doesn't mean you have to take it! Part of the interview process is for you to evaluate the company you're interviewing with. If anything feels off, or if the details of the job that they give you don't sound good, you can always turn them down. You can wait until after the initial interview to tell them that you can't start until after you gradate. However, if they ask you about it, be honest. Good companies will understand. Anyone that would get mad about that is someone you don't want to work for. The point here is to build up your resistance to the interview process. Get comfortable with it so that when the interviews really count, you've smoothed out all the rough edges. You'll want to bulk up your resume with any challenging programming tasks that you've taken on so far. When I started interviewing after college, I listed a few college projects on there, such as building a micro-pascal complier. Those count, too! Keep in mind that you're probably going to have to deal with a fair amount of rejection. Many of the places you apply to, you will never hear back from. It's ok, don't let that deter you!
  • Look for contract work. There are a lot of small, independent contract jobs out there. Many of the junior programmer candidates I've interviewed have been going from one small contract to another to build their work history. You will probably want to set up an LLC first before starting out, just to protect whatever assets you have. Assuming you're in the US, you'll also want to make estimated tax payments assuming you're doing 1099. This stuff is a pain, but it also isn't as hard as it sounds. Also, make sure you get everything in writing. The key to this is being extremely organized and saving everything so that the client can't screw you over. My advice also would be to never do any unpaid work for a client.
  • It was mentioned before, but it's worth re-iterating: contribute to open source. This is an option that didn't really exist when I was trying to break in. It sucks that you won't get paid, but these can be tremendous resume-builders. Open source is especially valuable because a potential employer actually gets to see your code. I can't tell you how much I would like to be able to see the code candidates that I've interviewed were writing. If you don't have any interviews coming up or paid stuff to work on, make contributing to an open source project your own part time job. Schedule out hours for it and everything, even if it is just a couple hours a day. Treat it just like you would a real job. The best part is that it doesn't really matter what the project is; so do something you're passionate about.
  • If you don't have one already, create an account on stack overflow right now. Stack overflow is the best resource on the internet for programmers. If you're just starting out, there are some simple things you can do right away to gain reputation that the site highlights when you sign up - make sure you do those. You'll want to gain enough reputation to start upvoting things. If you're working on something and you find a stack overflow answer that helped you, make sure to give it an upvote! Obviously that helps the community, but it'll also help you; you can always go back in your vote history and find it again. I can't tell you how many times I've done that. Asking and answering questions on there is great for your resume as well. I always view contributions to stack overflow as a huge plus on resumes that I see, because then I know that you're a programmer that will help others on the team get better. That is a tremendously valuable skill.

The first job is the hardest to get, but we've all had to do it, so you know it's possible. Good luck, and don't give up!
01/06/14: A dwarven dragon-scale shield that was secreted away by a strange messenger long ago. It is the only thing feared by the Fell Dragon of Bloody Death.

User avatar
tombombodil
3 for 3
Posts: 12205
Joined: Thu Aug 06, 2009 11:43 pm
Location: Just south of the Barrow Downs
Contact:

Re: AMA Request Computer Science

Postby tombombodil » Fri Mar 11, 2016 3:15 pm

clintmemo wrote:
tombombodil wrote:
5. Expose yourself to tons of different languages, for a good sampling:


I definitely agree that is a good thing when you are in school and/or just starting out. However, for a career, your best bet is to find a small set of things and be really good/productive at them. That's assuming that you want to stay in IT doing IT work and not management. Once you get into management, it's more about managing resources than coding.


Certainly, hell I pretty much figured out that I was going to work mostly in C++ my freshman year, but "staying up" on stuff is it's own talent with it's own benefits, even if it just makes you better at the stuff you already know back and front. You rarely have to go super deep to get a few golden nuggets.

Ahkita wrote:It's okay to get an internship doing something that has nothing to do with your degree? ... Can you get an internship by just taking random classes, or do you normally have to be in a degree program?


Depends on the company and their intern program. When i interned at Amazon it was mandatory that I was a 3rd year Computer Science student at a Washington State University with a 3.8 or better GPA. But when I interned at Undead Labs, as long as I knew how to code and interviewed well, I doubt they would have cared if I was in school at all.
Have you found the yellow sign?
Have you found the yellow sign?
Have you found the yellow sign?

User avatar
Citizen Joe
Myopic Sycophant
Posts: 2787
Joined: Wed Aug 13, 2008 4:09 pm

Re: AMA Request Computer Science

Postby Citizen Joe » Sat Mar 12, 2016 7:56 am

tombombodil wrote:
Citizen Joe wrote:I've got two workshops in a line of workshops. My shops are about 500 ft apart. Cable goes to all the shops. I want to set up cable Internet in one shop and then have wifi extend to the other shop 500 ft away through block walls and machinery. I don't want to pay double for cable. The back of the shops are open to air. The front are as well, but we can't string anything bulky on the storefronts. I checked Cat5 cable but that would need a booster, which would be in a shop I don't control.

How can I connect my two shops?


What EXACTLY is the connection going to be used for? Provide as much detail as you can.

Can you bury a cable?


Shop 1 has an iPad and potentially guest wifi access on their devices. The iPad is mostly for inventory and showing pictures of inventory. Credit card transactions via square also.

Shop 2 has 2 laptops (windows) and a wireless printer. One of the laptops controls the CNC machine. The other does invoices and design work. I'd like to connect the the laptops and printer together wirelessly as well as handle Square transactions from either location as well as print hard copy receipts/invoices from either location.

Physically, each shop is 50' x 50'. Block walls on 3 sides and 1 steel stud firewall (drywall). Roof is open Web steel trusses with poured concrete over steel deck.

Burying a cable is only moderately feasible. There are ground level obstructions. Roof is clear and high on the back wall is clear.

User avatar
astralplaydoh
Monostat Fanfic Writer
Posts: 1663
Joined: Mon Jan 11, 2010 1:50 pm
Location: Nashua, NH USA

Re: AMA Request Computer Science

Postby astralplaydoh » Sat Mar 12, 2016 11:54 am

Hmm...

A few options...

1) Use fiber to ethernet converters on both ends and run a nice long 500ft fiber cable to them. This is probably going to cost you about....$300 or so. At least $50 per converter and about $200 or so for the cable. You can pick it all up on Amazon.

2) Use a wireless bridge in each shop with directional antennas. You would need an outdoor directional antenna on each end. Not sure how much it would cost. Probably anywhere from $10 to $50 each I would imagine. Plus you would need to ensure your routers have removable antennas. This setup could also get wonky.

I would suggest the fiber.

You could also just try the ethernet cable even though it's over the range limit. It may still work.

User avatar
Magmoo
Couponing Champion
Posts: 5541
Joined: Fri Jul 30, 2010 5:33 am
Location: Michigan

Re: AMA Request Computer Science

Postby Magmoo » Sat Mar 12, 2016 12:49 pm

tombombodil wrote:4. Just write code. Lots of it. All the time. Assuming you're thoughtful about your work and show it to others for critique, every single line of code you write makes you a better programmer. Never before has the 10,000 hour rule been more applicable. If you only ever write code for your class assignments, you're going to be miles behind the people who spent most of their free-time during school coding as well and exploring different tools/techniques/languages etc. Obviously since you also work full time this one won't be as easy.


This is a big reason why I didn't stick with computer science. I figured early on that while I could do it, I did not want to go out of my way enough to do it successfully.
"Bureaucracy is far more effective when everyone's dead, you know." TEMPORAL CORRECTOR ZERO - Romantically Apocalyptic

User avatar
tombombodil
3 for 3
Posts: 12205
Joined: Thu Aug 06, 2009 11:43 pm
Location: Just south of the Barrow Downs
Contact:

Re: RE: Re: AMA Request Computer Science

Postby tombombodil » Sat Mar 12, 2016 2:58 pm

Magmoo wrote:[quote="tombombodil"]
4. Just write code. Lots of it. All the time. Assuming you're thoughtful about your work and show it to others for critique, every single line of code you write makes you a better programmer. Never before has the 10,000 hour rule been more applicable. If you only ever write code for your class assignments, you're going to be miles behind the people who spent most of their free-time during school coding as well and exploring different tools/techniques/languages etc. Obviously since you also work full time this one won't be as easy.


This is a big reason why I didn't stick with computer science. I figured early on that while I could do it, I did not want to go out of my way enough to do it successfully.[/quote]
Computer science is one of the most switched out of majors for this very reason (especially in super competitive programs like the University of Washington). People start in it thinking it'll land em a good middle class+ salary, but it's just way to much work to suffer through if you don't a) feel pretty passionate about it on some level, or b) have a genuine talent for it.
Have you found the yellow sign?
Have you found the yellow sign?
Have you found the yellow sign?

User avatar
tombombodil
3 for 3
Posts: 12205
Joined: Thu Aug 06, 2009 11:43 pm
Location: Just south of the Barrow Downs
Contact:

Re: RE: Re: AMA Request Computer Science

Postby tombombodil » Sat Mar 12, 2016 2:59 pm

astralplaydoh wrote:Hmm...

A few options...

1) Use fiber to ethernet converters on both ends and run a nice long 500ft fiber cable to them. This is probably going to cost you about....$300 or so. At least $50 per converter and about $200 or so for the cable. You can pick it all up on Amazon.

2) Use a wireless bridge in each shop with directional antennas. You would need an outdoor directional antenna on each end. Not sure how much it would cost. Probably anywhere from $10 to $50 each I would imagine. Plus you would need to ensure your routers have removable antennas. This setup could also get wonky.

I would suggest the fiber.

You could also just try the ethernet cable even though it's over the range limit. It may still work.

I was going to suggest fiber but he said he didn't want to spend extra for cable and fiber is the definition of spending extra xD

It's still definitely your best option though.
Have you found the yellow sign?
Have you found the yellow sign?
Have you found the yellow sign?

User avatar
Citizen Joe
Myopic Sycophant
Posts: 2787
Joined: Wed Aug 13, 2008 4:09 pm

Re: RE: Re: AMA Request Computer Science

Postby Citizen Joe » Sun Mar 13, 2016 8:28 am

tombombodil wrote:
astralplaydoh wrote:Hmm...

A few options...

1) Use fiber to ethernet converters on both ends and run a nice long 500ft fiber cable to them. This is probably going to cost you about....$300 or so. At least $50 per converter and about $200 or so for the cable. You can pick it all up on Amazon.

2) Use a wireless bridge in each shop with directional antennas. You would need an outdoor directional antenna on each end. Not sure how much it would cost. Probably anywhere from $10 to $50 each I would imagine. Plus you would need to ensure your routers have removable antennas. This setup could also get wonky.

I would suggest the fiber.

You could also just try the ethernet cable even though it's over the range limit. It may still work.

I was going to suggest fiber but he said he didn't want to spend extra for cable and fiber is the definition of spending extra xD

It's still definitely your best option though.


These were the options I was looking at. There's some sort of transfer rate delay when you exceed the 300ft? Length on Cat5 . It has something to do with an extra packet being sent before the first packet can confirm receipt. I don't mind reduced performance as in slower, but it does need to be accurate data transfer. I do like the directional antenna set up because that is relatively easy to take down if we ever move.

This is the diagram I'm thinking.

ISP service in -》ISP provided device (cable modem) -》wifi router shop -》directional antenna shop1 -》directional antenna shop -》wifi router shop2.

Now my big problem is finding wifi routers that fit into that system.

User avatar
Bai Shen
Skies of Glass Historian
Posts: 6720
Joined: Tue Feb 15, 2011 9:09 am

Re: AMA Request Computer Science

Postby Bai Shen » Sun May 01, 2016 4:16 pm

Wayne wrote:I will always sing the praises of internships. Get your foot in the door while you are in school.


You just need to find a decent internship. Some of them are pretty crappy and more just a company trying to take advantage of unpaid labor.
Vote Mumblebear/CHAINSAW

User avatar
Bai Shen
Skies of Glass Historian
Posts: 6720
Joined: Tue Feb 15, 2011 9:09 am

Re: AMA Request Computer Science

Postby Bai Shen » Sun May 01, 2016 4:23 pm

astralplaydoh wrote:Hmm...

A few options...

1) Use fiber to ethernet converters on both ends and run a nice long 500ft fiber cable to them. This is probably going to cost you about....$300 or so. At least $50 per converter and about $200 or so for the cable. You can pick it all up on Amazon.

2) Use a wireless bridge in each shop with directional antennas. You would need an outdoor directional antenna on each end. Not sure how much it would cost. Probably anywhere from $10 to $50 each I would imagine. Plus you would need to ensure your routers have removable antennas. This setup could also get wonky.

I would suggest the fiber.

You could also just try the ethernet cable even though it's over the range limit. It may still work.


Wireless bridges do not really work well. You will want a pair of directional antennas. Ubiquiti has ourdoor setups that I have heard work well. But they're not super cheap.
Vote Mumblebear/CHAINSAW


Return to “FtB AMA”

Who is online

Users browsing this forum: No registered users and 1 guest

cron