IT/Software career thread: Invert binary trees for dollars.

Kovaks

Mr. Poopybutthole
2,354
3,142
This is our first one but I'm looking to try and do one quarterly. We kept this one fun and focused on coloration but I'm guessing most future ones will be more related to our actual work and hopefully reusable or a start to something we can grow.
 

moontayle

Golden Squire
4,302
165
Marshmallow is upon us! Wonder why they went with a full version increase. Not that it really matters. They usually break a bunch of shit between flavors anyway (hi2u KitKat).
 
349
1
This is probably the wrong forums but I will give it a shot. The reason I put it here because my questions are for people who code/develop specifically.

Basically I am returning to college this summer to pursue a degree in computer science. I'd like to use it to one to develop games and/or software post graduation. The problem I foresee is job outlook. Most of my friends who majored in comp sci are all IT. None of them actually code. According to some statistics (Occupation Profile - America's Career InfoNet) its a growing job that pays pretty well. Ofc there are other software jobs, I am just using this as a quick example. The website makes it seem like there are tons of these jobs out there but everyone I talk to works IT. Here are a few questions I have for those who do code for a living and/or majored in comp sci.

Does this pay scale seem accurate (average pay $40+ an hour)?

Besides a degree, do i need experience or some kind of portfolio to really get a good coding job?

I am willing to relocate, so location is not a problem but did you guys have a hard time finding a job?

Any suggestions? I am usingO*NET OnLinefor research on the various jobs in programming and development.

Just a quick FYI i have about 90 semester hours already. I was majoring in Physics before I took a break from school to let my wife finish. Money is not a problem. I have a full ride to my degree via Gi Bill. Thanks!
Just an Update as this thread was originally my questions about majoring in CS. I am now a Junior and will hopefully graduate in a year or so.

Today I begin another round of CS classes. Discrete Math, Software Dev, and another Data Structure and Algorithms class. I've already taken one data structures class, I think this one is more theoretical and will deal with analyzing more than implementation of data structures. As mentioned in another post, I did some research over the summer (internship) and will be continuing it this semester. I am also taking 2 other classes (full load 18 hours ugh) so hopefully this semester doesn't crush me. I hope after this year I can get an internship out of state, or at least something outside my Uni. Need to beef up my resume and skillset before graduation. /cheers
 

Noodleface

A Mod Real Quick
37,961
14,508
The Data Structures and Algorithms class is going to assume you know a bunch of data structures and teach you a bunch of algorithms around them, like traversing trees and other stupid shit.
 

Tenks

Bronze Knight of the Realm
14,163
606
Depends on real-world. In a real world you'll pretty much never have to write your own data structure and the algorithms to traverse it. Basically any flavor of Map, Set, List, Tree is already implemented somewhere for you.
 

ShakyJake

<Donor>
7,626
19,250
Depends on real-world. In a real world you'll pretty much never have to write your own data structure and the algorithms to traverse it. Basically any flavor of Map, Set, List, Tree is already implemented somewhere for you.
Right, but it's important to know which tool to use for the job. For example, a fellow developer was using a List and, before adding to it, would iterate over it to make sure the object wasn't already added. It didn't occur to him, or he wasn't aware of, to simply use a HashSet.
 

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,963
Depends on real-world. In a real world you'll pretty much never have to write your own data structure and the algorithms to traverse it. Basically any flavor of Map, Set, List, Tree is already implemented somewhere for you.
Its why i called it an important class in "computational thinking" not in using data structures
smile.png
Its pretty much the first class where one learns how to handle data in a generic way. Also when taught in c++ (the best way to teach it imo), it allows for insight into memory handling. Also this class is most likely everyone's first class where the students are taught to start including tests into their code.
 

Tenks

Bronze Knight of the Realm
14,163
606
Right, but it's important to know which tool to use for the job. For example, a fellow developer was using a List and, before adding to it, would iterate over it to make sure the object wasn't already added. It didn't occur to him, or he wasn't aware of, to simply use a HashSet.
I mean that is really just knowing Collections 101. I'm not sure if a data structures class would help that. You could pretty much explain the purpose of when to use a Set, Map, List, Queue in less than an afternoon.
 

moontayle

Golden Squire
4,302
165
So, hard at work on my next project. Figured out a few things and wrote out some basic stuff regarding the overall approach I'm probably going to take. Talked to the Senior Dev and we came up with a few wrinkles and identified some technical debt but nothing insurmountable and some of it's stuff they want to do anyway. So while her and some others work out how to handle a couple of the wrinkles from the Server side, I forked one of the apps I'm going to need to work on and started into it.

Some of this requires a bit of refactoring of current code, which honestly I kind of want to do anyway for reasons I've already discussed. And then sometimes, sometimes it allows you to identify stupid shit and get rid of it. I started in on a refactor of a method called 'cleanUp'. It basically gets rid of old, useless files that might still be hanging around. Except... if it identifies a zip file it unzips it... and then deletes all the unzipped files. I kind of hope someone might be able to explain that logic to me because I tried for a good five minutes to wrap my head around the concept.
 
349
1
Depends on real-world. In a real world you'll pretty much never have to write your own data structure and the algorithms to traverse it. Basically any flavor of Map, Set, List, Tree is already implemented somewhere for you.
Hmm I did that last semester. Our last data structures were Binary Search Trees and Heaps. Balancing BST screwed me up for a bit because trying to follow multiple recursive methods was just nerve racking. Right now I could not balance a BST without looking some stuff up. Probably the only data structure we went over last semester that I couldn't write without references right now. Like I said though, I think this class is more of the theory behind them. Probably more time complexity calculations. I just picked up the book an hour ago so well see.
 

moontayle

Golden Squire
4,302
165
Actually, yes. But super introvert, gothy (hates xmas, loves halloween and I'm convinced she doesn't have clothes that don't follow a monochromatic scale), and is a cat lady (by accident, took in a pregnant stray, but still kept them).
 

Khane

Got something right about marriage
19,829
13,341
Actually, yes. But super introvert, gothy (hates xmas, loves halloween and I'm convinced she doesn't have clothes that don't follow a monochromatic scale), and is a cat lady (by accident, took in a pregnant stray, but still kept them).
So a freak in the sack
 

Noodleface

A Mod Real Quick
37,961
14,508
Hmm I did that last semester. Our last data structures were Binary Search Trees and Heaps. Balancing BST screwed me up for a bit because trying to follow multiple recursive methods was just nerve racking. Right now I could not balance a BST without looking some stuff up. Probably the only data structure we went over last semester that I couldn't write without references right now. Like I said though, I think this class is more of the theory behind them. Probably more time complexity calculations. I just picked up the book an hour ago so well see.
The class is big on efficiency (big O, etc)
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
It is very fun to actually make algorithms that have a fun output. For example finding your way out of a maze, tick tack toes algorithm, the other gamin where you mark the edges and count the boxes... All those are done on those classes..
 

moontayle

Golden Squire
4,302
165
I spend a good hour to two hours in the morning (while the coffee starts working its magic) doing reading and research. Currently spending a lot of time reading about RxJava/RxAndroid (reactive extensions) and while it's a heady concept, I can't help but feel that using it is going to massively improve how our background services work since a lot is based on reacting to certain events.

I'm also doing some reading about Square's OkHttp library. Google completely ripped out all the Apache Http stuff from Marshmallow (they deprecated it with Lollipop first though) so if we ever want to advance along the flavors some changes are going to need to be made.