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

Eidal

Molten Core Raider
2,001
213
FYI: I'm totally aware of being a goddamn newb. I've been "working" off the clock at home trying to get a proper dev environment at home so I can actually test the things that I'm curious about. Like -- why is a C++ rendering engine drawing circles with no reference to PI... or, why do our core base classes use auto_ptr and put them in STL containers...
 

Deathwing

<Bronze Donator>
16,386
7,388
So I graduate (BSCS) in December. Started work a week ago as a co-op/intern. Small company; less than 100 people. Good work-life balance. I'm feeling a little overwhelmed moving from 200/300 level programming to a C++ threaded command and control application... but..

I'm totally aware of my newb status and that everything I say after this is probably me misunderstanding our codebase...

But.

Apparently we're wrapping up a Sprint and our development branch has segfaults "all the time." 20 seconds in Valgrind with a debug build gets me this...
==16558== HEAP SUMMARY:
==16558== in use at exit: 7,480,676 bytes in 43,263 blocks
==16558== total heap usage: 305,752 allocs, 262,489 frees, 59,145,579 bytes allocated
==16558==
==16558== LEAK SUMMARY:
==16558== definitely lost: 2,608 bytes in 71 blocks
==16558== indirectly lost: 30,444 bytes in 191 blocks
==16558== possibly lost: 4,980,464 bytes in 17,956 blocks
==16558== still reachable: 2,386,584 bytes in 24,383 blocks
==16558== of which reachable via heuristic:
==16558== stdstring : 69,599 bytes in 1,664 blocks
==16558== length64 : 6,840 bytes in 93 blocks
==16558== newarray : 2,128 bytes in 53 blocks
==16558== multipleinheritance: 1,944 bytes in 4 blocks
==16558== suppressed: 0 bytes in 0 blocks

The first few days I was just poking around trying to look at shit and when I brought this to my mentor's attention, he said something like ("Hey, only 71 blocks -- that's not that bad.") We're double-deleting everywhere, threads, concurrency, shared pointers... etc etc...

This is a recent addition... the task: draw circles around our objects at different radii -- our camera is locked to top-down...

for(int counter=0;counter<=72;counter++)
{
p1 = P0.GetCoordAtBearingDistance(counter*5-1.25, radius);
p2 = P0.GetCoordAtBearingDistance(counter*5+1.25, radius);

// for future compatability -- convert the lat/lon to x/y values

man->position(p1.x, p1.y, 0.0);
man->colour(color);
man->position(p2.x, p2.y, 0.0);
man->colour(color);
}
man->end(); // end manual object

I have to believe that any rendering engine, including ours, can draw a circle more efficiently than this...

Anyway -- stay tuned for an update. I'll either learn that I'm a stupid newb who ought to know his place, or that a modern rendering engine can draw a circle in less than 400 function calls...
Need some more information, but that sounds like you don't have a proper QA department. Segfaults from valgrind should a pretty easy automated test to setup.

I haven't worked with C++ in a while. Shared pointers seem like a good improvement without going full garbage collector style. Does putting them in an STL container prevent proper cleanup?
 

Eidal

Molten Core Raider
2,001
213
Shared pointers seem like a good improvement without going full garbage collector style. Does putting them in an STL container prevent proper cleanup?

std::auto_ptr was an early implementation. They can't be copied; many of the STL containers depend upon copy/move semantics.
 

Arden

Blackwing Lair Raider
2,647
1,941
Speaking of being restless...

I've been looking into a career change myself and was considering getting into the coding thing (maybe mobile apps). No previous experience. Currently have an BA and MS totally unrelated to CS, so I'm sure I'd have to go back to school. Don't really want more debt or to mess around with the bullshit involved in a University degree, but I likely won't have a choice.

Here's my question: It's been more than 20 years since I've done anything more complicated in math than addition/subtraction/division/multiplication. I don't remember a single thing about Algebra and, frankly, I wasn't very good at it when I had to do it. I'd put my chances of passing any math class pretty low.

Should I even bother pursuing anything in the CS field? I love designing/building things, but math beyond the basic stuff just isn't my strong suit (and by "not my strong suit" I mean I'm fucking terrible at it). At my age, I don't want to start a career path just to find out halfway through I have a low ceiling because I'm math stupid.
 

alavaz

Trakanon Raider
2,001
713
I'm 18 months into a reinvestigation and haven't even talked to an investigator. I want this shit wrapped up before I look around again. Now that I bought the house I was renting I'm pretty much committed to working on base for the foreseeable future.

I really didn't like the feeling I got from any of the triangle tech companies anyway. I think between 100-110k is probably the best I can do in this area without jumping into the consulting or sales engineering thing. Seemed like every time i made it to the salary requirements talk with any of the companies I was interviewing with, id tell them 120k+ and all progress would just sort of stop.

Glad I looked into it though I feel pretty comfortable sticking with the dod contacting now. I might make the leap too consulting for dod with like Cisco or MS in a few years. I just hate jobs with a sales component to them.
 

a_skeleton_03

<Banned>
29,948
29,762
I'm 18 months into a reinvestigation and haven't even talked to an investigator. I want this shit wrapped up before I look around again. Now that I bought the house I was renting I'm pretty much committed to working on base for the foreseeable future.

I really didn't like the feeling I got from any of the triangle tech companies anyway. I think between 100-110k is probably the best I can do in this area without jumping into the consulting or sales engineering thing. Seemed like every time i made it to the salary requirements talk with any of the companies I was interviewing with, id tell them 120k+ and all progress would just sort of stop.

Glad I looked into it though I feel pretty comfortable sticking with the dod contacting now. I might make the leap too consulting for dod with like Cisco or MS in a few years. I just hate jobs with a sales component to them.
There are a few GS spots here on Bragg that I have applied to.
 

alavaz

Trakanon Raider
2,001
713
There are a few GS spots here on Bragg that I have applied to.

Are you 2210? I think there are a few in the SOF community open right now.

I'd actually like to be GS but here on Bragg it's pretty pointless applying if you are not former military or a spouse. I can't compete against the preference scores. I hear they are going to open up a new excepted service system for Cyber though so that might present some good opportunities.
 

a_skeleton_03

<Banned>
29,948
29,762
Are you 2210? I think there are a few in the SOF community open right now.

I'd actually like to be GS but here on Bragg it's pretty pointless applying if you are not former military or a spouse. I can't compete against the preference scores. I hear they are going to open up a new excepted service system for Cyber though so that might present some good opportunities.
I am 0391 but we are interchangeable with them pretty much. I applied to those spots at SOCOM.

You would be surprised about applying without a preference, especially to the 20+ brand new Cyber Command spots open for another year on USAJobs right now. If you need help let me know.
 

ex-genj

Golden Squire
638
115
lol math. You need the basics of division and multiplication and thats about it. You will not need anything particularly complicated to make an application web or mobile. Unless it does amazing stuff. 99% of stuff you do will be CRUD.
 

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,963
No one is math stupid, just math ignorant. Stop thinking it's scary and just study. Or you can go get a software engineering degree instead of a CS one and bypass the math.
 

Eidal

Molten Core Raider
2,001
213
No one is math stupid, just math ignorant. Stop thinking it's scary and just study. Or you can go get a software engineering degree instead of a CS one and bypass the math.

Speaking of being restless...

I've been looking into a career change myself and was considering getting into the coding thing (maybe mobile apps). No previous experience. Currently have an BA and MS totally unrelated to CS, so I'm sure I'd have to go back to school. Don't really want more debt or to mess around with the bullshit involved in a University degree, but I likely won't have a choice.

Here's my question: It's been more than 20 years since I've done anything more complicated in math than addition/subtraction/division/multiplication. I don't remember a single thing about Algebra and, frankly, I wasn't very good at it when I had to do it. I'd put my chances of passing any math class pretty low.

Should I even bother pursuing anything in the CS field? I love designing/building things, but math beyond the basic stuff just isn't my strong suit (and by "not my strong suit" I mean I'm fucking terrible at it). At my age, I don't want to start a career path just to find out halfway through I have a low ceiling because I'm math stupid.

If you're going back to school, then you'll likely need to brush up on your math. Spend a few hours a week on Khan Academy. You'll need a solid foundation in algebra/trig/geometry in order to pass whatever higher math is required. The math part of my BSCS consumed about 80 percent of my study time. I don't anticipate using it that much, either. Whatever. It keeps the degree somewhat valuable.
 

Arden

Blackwing Lair Raider
2,647
1,941
If you're going back to school, then you'll likely need to brush up on your math. Spend a few hours a week on Khan Academy. You'll need a solid foundation in algebra/trig/geometry in order to pass whatever higher math is required. The math part of my BSCS consumed about 80 percent of my study time. I don't anticipate using it that much, either. Whatever. It keeps the degree somewhat valuable.

Yeah, that's pretty much what I heard. I realize some people can transition to coding and land a good job without a relevant degree, but I have no illusions that I'm some genius who could do that. The jobs I've been seeing on glassdoor require a BSCS at minimum and usually have some type of programming knowledge/cert reqs on top of that.

The math was my primary concern because of the way it builds on itself. It's been so long for me that I'm essentially at an elementary school math level. Getting all the way up to trig is really fucking intimidating- I didn't even get that far back when I was in school. My undergrad was English and my grad a social science, so I've managed to stay pretty far away from math for a long time.

It's also really annoying that I would probably never use that math (as others in this thread have mentioned) but I still need to learn it. Seems like such a waste of time and effort.
 

moonarchia

The Scientific Shitlord
21,423
38,926
Yeah, that's pretty much what I heard. I realize some people can transition to coding and land a good job without a relevant degree, but I have no illusions that I'm some genius who could do that. The jobs I've been seeing on glassdoor require a BSCS at minimum and usually have some type of programming knowledge/cert reqs on top of that.

The math was my primary concern because of the way it builds on itself. It's been so long for me that I'm essentially at an elementary school math level. Getting all the way up to trig is really fucking intimidating- I didn't even get that far back when I was in school. My undergrad was English and my grad a social science, so I've managed to stay pretty far away from math for a long time.

It's also really annoying that I would probably never use that math (as others in this thread have mentioned) but I still need to learn it. Seems like such a waste of time and effort.

Math is never a wast of time. Learning how to properly formulate your logic is something that transcends fields of study, and directly elevates your mental abilities and capacity.
 
  • 2Solidarity
Reactions: 1 users