Programming thread -

Synthetic Smug

True & Honest Fan
kiwifarms.net
I'm looking to potentially change careers in a year, and I would appreciate any insight those here could give me into my options.

I have a background in art for game development, both 2D and 3D. I'm preparing to get out of the industry in a year or two for a variety of reasons, mostly related to job stability and not wanting to live in any of the big game dev areas. I taught myself basic web design in the late 90's. Decent verbal and written skills. Semi-sperg, but self-aware. I would prefer flyover country.

While the web stack seems like there's a potential synergy with what I already know (as well as an easier leap), it does seem like a weaker choice in terms of pay and prestige than going into software development proper. Not sure how easy it is to move laterally.

My main question is this: Will a digital art background make my CV any more attractive when I go after junior dev jobs, or will it just make me look like a dilettante?
 

SickNastyBastard

Only bitch niggas fuck women
kiwifarms.net
I'm looking to potentially change careers in a year, and I would appreciate any insight those here could give me into my options.

I have a background in art for game development, both 2D and 3D. I'm preparing to get out of the industry in a year or two for a variety of reasons, mostly related to job stability and not wanting to live in any of the big game dev areas. I taught myself basic web design in the late 90's. Decent verbal and written skills. Semi-sperg, but self-aware. I would prefer flyover country.

While the web stack seems like there's a potential synergy with what I already know (as well as an easier leap), it does seem like a weaker choice in terms of pay and prestige than going into software development proper. Not sure how easy it is to move laterally.

My main question is this: Will a digital art background make my CV any more attractive when I go after junior dev jobs, or will it just make me look like a dilettante?
No, a digital background does nothing. If you want to get into any good position in dev you need a degree, experience and have work all shown with the right tech stack.
 

Synthetic Smug

True & Honest Fan
kiwifarms.net
I apologize if I came off as brusk, but it is not as easy as it used to be to get into. But, there is money to be made. You could easily do a 2 year degree and put some time into some personal projects and land a job.
There's a brusqueness that's born of honesty which I genuinely (and greatly) appreciate. Your answers also fill in some surrounding questions I had which I can't really ask directly due to powerleveling.

Once again the Farms have given me perspectives and meta information it would be difficult to find elsewhere. Again, thank you.
 

Marvin

Christorical Figure
True & Honest Fan
kiwifarms.net
I'm working on an implementation of RTMP in Ocaml for my personal edification. I've been doing multimedia stuff recently to learn more intimately how things like codecs and streaming and such work. (Started off learning how to decode a few frames of H263, for example.)

RTMP is an ugly protocol. (I mean, to be fair, it was a product of its times.) Binary in lots of ways that really don't feel necessary. Two parsing layers that confusingly interact. (Messages are made up of chunks, but sometimes messages can affect the chunk streams and it's hard to tell at which point you should apply those changes.) Settings that I can't seem to determine if they're half duplex or full duplex.

Oh, and lots of documented protocol settings that many implementations outright ignore (including the ones I have to test with: nginx, ffmpeg and vlc (maybe ffmpeg under the hood?))

Right now I wrote a server that lets me squeak a little video through (ffmpeg up to the server, then mpv down), but I've got desync issues to work through.

Nothing really interesting to say beyond that. Just sharing my pain. (It's a fun pain though.)
 

an kamel

kiwifarms.net
Preferable something that could run on Linux or Windows, but I would be fine with Windows-only if need be.
Do you know how to program? Many things could totally work on all major platforms, but the work-load can vary a whole lot depending upon the tools you select and what you want to do. If you are a beginner then there are some languages that are more ez(but still very good pieces of tech to learn). 3D is harder than 2D.
 
  • Like
Reactions: ConcernedAnon

Virgo

Pantone 223, "anxious terracotta"
kiwifarms.net
I'm diving back into programming after a five year break. I chose Python. I'd love to get back into the tech industry like I originally planned to when I left college. I'm not sure where to go but I'm just going to go all out on ebooks and youtube. I'm really looking forward to this. 👌
 

omnihitler

kiwifarms.net
I recently went to find a new job. I wanted to share some things. Some of this may be obvious to the older devs here, but I feel the information is worthwhile.

Jobs that come via third party recruiters come with a significant tax on your paycheck. Third party recruiting companies primarily want deal flow. They will land you a job, but you will likely be underpaid vs market value. Additionally, companies that go through third party recruiters are a mess. If a dev manager is willing to trust a third party recruiter, they are already a mark and will make stupid decisions. When I was a hiring manager I refused to use them. They are a firehose of garbage. Nepotism is superior for a small outfit. I don't have any faith in the competence of third party recruiters. To wit - the offers I'm looking at, from a worst case perspective, are $80k more than what the third party recruiters could provide me. They typically charge a fee of up to 1/3 of the salary on the first year (E: to the company who hires you). Do not work with them except as a last resort.

If you're looking for a role at a large outfit that pays well, you can expect to get coding questions. Every single question they'll ask is preposterous and unrelated to the work you'll do day-to-day. You must bite the bullet and study these stupid questions.

The study guide I recommend for dealing with coding interviews:

1. if you are terrified and know nothing, start with interviewcake. it is costly but worth every penny.
2. Elements of Programming Interviews
3. work through the questions at this link: https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-75-LeetCode-Questions-to-Save-Your-Time-OaM1orEU

Cracking the Coding Interview is poorly written and nearly worthless. The writer assumes the audience is mathematicians. I imagine this is why she went from a programmer to shilling bullshit books for a living. She's a terrible writer and expects the audience to make inferences instead of using additional sentences or words to spell it out for them.

Do not expect to understand these stupid questions the first time around. Spend an hour on a question. If you can't solve it, memorize it and recite it from memory for the next two days in the morning.

The big factor beyond learning the strategies behind these stupid puzzles is getting over your nerves. There are recruiting firms out there that provide fake interviews for free. I recommend abusing their resources.

Last bit: once you are past your first role, your degree does not matter at all. For your first role as a programmer, your smartest move is to take the first offer that comes in assuming you do not have a CS degree.

E: I cannot stress how much more money these large firms pay. It is life-changing. It is understandable to reflexively dismiss these puzzle questions - I think they have no bearing on competence at all - but it is relatively little work for the reward they represent.
 
Last edited:

Marissa Moira

kiwifarms.net
maybe this is better for the programming thread than the No stupid questions thread:

Ok I have a unity question.

I want to make a summoning pentagram and summons a boss if you drag 4 specific items into 4 specific locations. I can't seem to find an answer to how you do this through scripting. I need it to not work if you put the items in the wrong spot as well.
 

MAPK phosphatase

Cell Death Regulator
kiwifarms.net
maybe this is better for the programming thread than the No stupid questions thread:

Ok I have a unity question.

I want to make a summoning pentagram and summons a boss if you drag 4 specific items into 4 specific locations. I can't seem to find an answer to how you do this through scripting. I need it to not work if you put the items in the wrong spot as well.
I'm not too familiar with unity, so this may not be 100% accurate.
Create an object with 4 child collision objects. In the parent object create a script that takes in the 4 collision objects as external variables. Use On Collision Enter to detect when an item enters one of the collision boxes. Get the gameObject.name from the collision passed into the function.
Create a function that takes in the object and that returns true if the collision it's closest to is the correct one and false if it's not. Use Vector3.Distance and use the shortest distance to figure which collision the item is closest to.
When an item is in the right place increment a global counter and check if the counter is above 4. If it is, run the function that summons the boss monster.
Use On Collision Exit and the same "correct place" function to decrement the counter. Alternately you could lock an item in place if it's correct.

Here's some psudocode.
Code:
Spot = {vector:Vector3, name:String}
Places = [Spot(Vector3(1,1,0),"Object1"),
          Spot(Vector3(-1,1,0),"Object2"),
          Spot(Vector3(-1,-1,0),"Object3"),
          Spot(Vector3(1,-1,0),"Object4")]
counter = 0

CorrectPlace(gameObject):
    closest = Vector3.Distance(places[0].vector, gameObject.transform.position)
    closestPlace = 0
    for (i = 1; i < Places.length; i++):
        distance = Vector3.Distance(places[i].vector, gameObject.transform.position)
        if (distance < closest):
            closest = distance
            closestPlace = i
    if (gameObject.name == places[closestPlace].name):
        return true
    return false

OnCollisionEnter(collision):
    if (CorrectPlace(collision.gameObject)):
        counter++
        if (counter >= 4):
            SummonBoss()

OnCollisionExit(collision):
    if (CorrectPlace(collision.gameObject)):
        counter--
The vector part of the "Places" variable would be populated programatically using the position of the collision objects rather than hard-coded, but you can figure that out easy enough.
Edit: I made a mistake when setting closest the first time in CorrectPlace. It should have been places[0] not place
 
Last edited:

Marvin

Christorical Figure
True & Honest Fan
kiwifarms.net
Jobs that come via third party recruiters come with a significant tax on your paycheck. Third party recruiting companies primarily want deal flow. They will land you a job, but you will likely be underpaid vs market value.
I've never encountered this. I've been hired through both third party recruiters and directly in the past, and because of the internet, everyone I've worked with was aware of their value and lobbied for pay increases as appropriate.

Like, what'd need to happen is that the administration would specifically need to state they're paying someone less because of the one time fee they paid a recruiter. That sounds unlikely.

But again, idk, personal experience.
Additionally, companies that go through third party recruiters are a mess. If a dev manager is willing to trust a third party recruiter, they are already a mark and will make stupid decisions.
I mean, I've worked for pretty big companies that hire through consulting agencies because they need to do a mass of reliable hirings quickly at times.

But I guess consulting agencies are more reliable than mere recruiters.
 
  • Like
Reactions: Yotsubaaa
Tags
None