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

Tenks

Bronze Knight of the Realm
14,163
606
I have never used static analysis on my code but I did put something ontop of a running program for a while that showed how often various code paths were executed and that was kind of cool. Like this "if" check is used 80% of the executions and finding out the code tree. That way you could invest most of your time making sure mission critical code paths were locked up and fully tested before moving on to lesser used areas of the code.
 

Tuco

I got Tuco'd!
<Gold Donor>
45,500
73,589
Yeah I've used kcachegrind to visualize valgrind output, I think it looks really beautiful and is a different and visual way to look at your codebase:
map_double.png


Useless optimization is a huge sin in computer science, but sometimes it's fun to spend time taking routine that runs in 10ms and figure out a way to get it to run in less than 1ms.
 

Deathwing

<Bronze Donator>
16,436
7,447
Static analysis is a fun concept. I have learned a lot of stuff about programming that I hadn't considered or knew existed. A lot of it does seem dependent on the pointer and memory mischief C/C++ allows you to do. But we are branching out into Java and C#, though there is a lot less to analyze there. A lot if it being data races and deadlocks.
 

Tenks

Bronze Knight of the Realm
14,163
606
I know our HBase CDH stack stands up fine for our use. We hit it with M/R jobs pretty heavily but our HBase isn't entirely enormous. If I had to take a guess maybe (between all the tables) 500M rows with 30b columns. I'm also divorced from the actual maintenance of the cluster but I work in the same workspace as the guy who is and he rarely has issues with it. We're no Facebook/Twitter/Amazon who has actual massively scaled problems which HBase may start to fail with their capacity needs, though.
 

Fiyero_sl

shitlord
403
0
So, my original major was Computer Science. Things didn't work out so well and I changed to Poli Sci (intending to go to Law School). With the crash of the legal industry I opted not to go into that much debt for a career most people hate and is difficult to find jobs. I'm now having regrets I didn't stick with Computer Science.

I know it's one of the most difficult majors. How feasible is it to learn Computer Science on your own, with books? Would it be tough to get a job if you don't have a degree in it? I'd probably lean towards Cyber Security, although not sure.
 

Tenks

Bronze Knight of the Realm
14,163
606
If you don't have a degree it is hard to get a job now. Unless you're willing to slog at a start up or something with someone you personally know. The days of just knowing how to code and getting a job have somewhat passed they want the degree.
 

Vinen

God is dead
2,783
490
Have a portfolio of shit you created. Get a job.
Never seen a portfolio come up ever at a Software company. Portfolio does not mean you can work with other people... software developers are expected to be part of a team.
 

Dumar_sl

shitlord
3,712
4
Experience is greater than everything else (self-projects help, but those won't get you past the first screening). You need a degree to get any type of experience you can slap on a resume. Go for the degree if you can afford.
 

BrotherWu

MAGA
<Silver Donator>
3,072
5,857
I would not consider hiring a developer if they did not have a CS/CE/EE degree. Careful which program you select because a lot of the supposed CS programs have turned into Web for Dummies. CE is a really solid degree right now, IMHO, if you can handle it.

That said, you absolutely can learn a lot about coding on your own on the web and through books, probably enough to make some money contracting or get your foot in the door some places. However, if you only study languages and coding tools, you'll be missing some of the underlying fundamentals like Theory of Programming Languages, Computer Architectures, Operating Systems, Data Structure and Algorithms, etc., so you'll want to pick up those sorts of topics.

Also one way to get noticed is to contribute to open source projects.
 

Noodleface

A Mod Real Quick
37,961
14,508
There's whole bunch of dudes on reddit that try to get developer jobs with no schooling and you barely ever hear of anyone getting a job.
 

Khane

Got something right about marriage
19,896
13,410
People here have had vastly different experiences than I have. My current job not a single one of the developers beside myself went to school for Comp Sci. At my last job almost none of them had a degree in relevant computer studies either. My brother had no formal training and is self taught and is now a senior developer for an international computer consulting firm after getting hired with no experience less than 2 years ago. Though I helped place him there.

Consulting firms love hiring juniors who are just aching for a job and are NOT foreign. Tons of foreign developers and IT professionals are not getting their visas renewed. In the past year 4 Indian developers at my company have been shipped back to India. This leaves a ton of job openings. Also, these consulting firms hire very junior people yet charge their clients senior developer prices.

I honestly do not believe a degree is necessary at all. Most other people here disagree with me. But in my experience it's quite easy to get a developer job even without a degree if you know what you're talking about. People who refuse to talk to a developer because they don't have a degree are foolish unless they are working with unmanaged code. Anyone can teach themselves how to code efficiently enough to become a junior level developer working with managed code. Anyone.
 

Tuco

I got Tuco'd!
<Gold Donor>
45,500
73,589
So, my original major was Computer Science. Things didn't work out so well and I changed to Poli Sci (intending to go to Law School). With the crash of the legal industry I opted not to go into that much debt for a career most people hate and is difficult to find jobs. I'm now having regrets I didn't stick with Computer Science.

I know it's one of the most difficult majors. How feasible is it to learn Computer Science on your own, with books? Would it be tough to get a job if you don't have a degree in it? I'd probably lean towards Cyber Security, although not sure.
I merged your thread.


To give you more info we'll need a bit more information about you and you career. Why did you switch from CS to Polisci for law school? A CS background isn't bad for law, especially patent law. Why did you choose CS? Why are you going back to CS? What's your technical background? Are you interested in cyber security because you've done cyber security or because you saw it was an emerging field within CS?

Based on that you had a major of CS and switched to polisci we can assume you already have some school under your belt. At least a year of already completed some general ed stuff. I'm also assuming that all your classes were done recently so you don't have to take them. I'm also assuming that you have little to not background in CS besides the intro classes you did in school.

My recommendation is this: go get your CS degree and don't pussy out!


Think of it this way. Maybe you can spend the next two years learning stuff the hard way and build up a portfolio of some kind. Maybe build a website for a friend's band, write a plugin for some tax software, do some personal hacking or evaluate a friend's network for security threats. You look for a job but some 90% of places hiring CS people won't even look at your resume without a degree. You bust your ass and make some connections and with a little luck you find a programming shop that will talk to you and you get the right connection to get hired. Boom there's your first job. You spend 3 years there and become adept at writing python to automate user interfaces for programmatic testing. You now have a real skill and demonstrated that you've got a real skill but don't want to work in someone's basement on a folding table writing python scripts for cheap. So now you're on the job market again. And now 95% of the places hiring CS people that have a job you'd take won't even look at your resume without a degree. And now instead of having a somewhat diverse set of knowledge of data structures, microprocessors, math, algorithms and software engineering you know how to write python for UI stimulation.

Don't believe me? Don't. Look at:
http://www.indeed.com/jobs?q=cyber+s...altimore%2C+MD
http://www.indeed.com/jobs?q=program...altimore%2C+MD
http://www.indeed.com/jobs?q=softwar...altimore%2C+MD

And count the # of jobs that don't have a 4yr degree requirement and then judge their quality and legitimacy.
 

Dumar_sl

shitlord
3,712
4
People here have had vastly different experiences than I have. My current job not a single one of the developers beside myself went to school for Comp Sci. At my last job almost none of them had a degree in relevant computer studies either. My brother had no formal training and is self taught and is now a senior developer for an international computer consulting firm after getting hired with no experience less than 2 years ago. Though I helped place him there.

Consulting firms love hiring juniors who are just aching for a job and are NOT foreign. Tons of foreign developers and IT professionals are not getting their visas renewed. In the past year 4 Indian developers at my company have been shipped back to India. This leaves a ton of job openings. Also, these consulting firms hire very junior people yet charge their clients senior developer prices.

I honestly do not believe a degree is necessary at all. Most other people here disagree with me. But in my experience it's quite easy to get a developer job even without a degree if you know what you're talking about. People who refuse to talk to a developer because they don't have a degree are foolish unless they are working with unmanaged code. Anyone can teach themselves how to code efficiently enough to become a junior level developer working with managed code. Anyone.
Consultants are not programmers / engineers. I've been both. Most consultants have history / business / whatever degrees.
 

Citz

Silver Squire
180
8
My experience has been that people who learned how to code without getting a degree, know how to code but doesn't know how to build a software. You get to work with spaghetti code and a general clusterfuck. It gets worse if you plug a UI into that. They usually get the "software" out the door much faster but the maintenance will be twice as costly.

I will grant you, these kind of people also happen even if they have a degree but at least, they are fewer in numbers. And as BrotherWu mentionned, they also know many good basic concepts (data structures & algorithms being the main important one).
 

ShakyJake

<Donor>
7,662
19,314
I managed to get a developer position by coding tools for our operation department. This caught the attention of some higher-ups and they brought me in. I have no degree. And, quite honestly, I am not impressed by those that DO have software engineering degrees here. I am quite confident that I am a better coder than the majority of them and nearly all of my education has come from various Apress, ORreilly, and Manning books. I also understand the nuisances of application architecture, but I don't have the breadth of experience to feel like I'm an authority on the subject (and we actually have an architecture team for that anyway).

I am, however, pursuing a CS degree. I feel that if I were to lose my job I'd probably have a tough time getting my foot into the door some place else.