Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Lockback
Sep 3, 2006

All days are nights to see till I see thee; and nights bright days when dreams do show me thee.

Normal Barbarian posted:

My mother just got diagnosed with cancer and my girlfriend just left me for taking too long to get a job. Life is grand.

I could use some more feedback on my resume: (Google Doc).

This is my previous one (Google Doc). I've tried to pare it down, but I don't know if I've gone too far or missed the mark entirely.

I patterned it heavily off of this: https://www.beamjobs.com/resumes/software-engineer-resume-examples#example.

This seems pretty good, though I might flip the work experience and projects. That may be subjective but I think it reads a bit better that way. Your github probably needs another Python project, it's real C++ heavy though the capstone project is impressive.

I'm a little surprised you're having trouble finding a job. Do you have some examples of stuff you're applying for? Jumping right into AI is going to be tough. You have a good base for entry level but "Entry level AI designer" is a real niche role.

Adbot
ADBOT LOVES YOU

Hadlock
Nov 9, 2004

Normal Barbarian posted:

I could use some more feedback on my resume: (Google Doc).

This is my previous one (Google Doc). I've tried to pare it down, but I don't know if I've gone too far or missed the mark entirely.

I patterned it heavily off of this: https://www.beamjobs.com/resumes/software-engineer-resume-examples#example.

I guess the big question mark here is, what the hell did you do for five years from 2013-2018 after you graduated university. That's a strange red flag to both highlight, and then leave unadressed

WORK EXPERIENCE
Electronic design and manufacturing

October 2013 - current / Los Angeles, CA
Barbarian Electronics Ltd.
Designed and Manufactured Motorola keyless entry demo units for clients
- Programmed system X,Y,Z
- Scripted bootup sequence in python, calling C modules where performance needed
- Networked lighting system to interact with wireless control systrm
Worked as a contractor for VTProDesign on projects including
- Britney Spears - setup wireless networking for realtime visual effects system
- The Zone 30,000 sq ft installation in LA (featured in The New York Times, CNN, and Forbes)
---- Wrote code to sync lights with sound
---- Managed a team of six installers

Software Developer
Robotics Laboratory, UC Irvine
Summer 2013 / Irvine, CA
- Built robotic control and telemetry applications for an Android robotic platform using Robot Operating System (ROS)
---- Written in Java, with backend written in C++ and python
---- Integrated ultrasonic and lidar systems with onboard motorola 68000 cpu
---- Rewrote modules X, Y and Z reduced code by 6000 lines during major refactor, commit accepted by package maintainer
- Implemented RatSLAM, a biologically-inspired simultaneous localization and mapping algorithm based on rodent hippocampi
---- written in Rust
---- project found three bugs in upstream packages, commits accepted by two package maintainers
---- Product used by N groups/people to tackle X problem and save Z time/money

TL;DR take each bullet point and pull it out into an entire paragraph, describing what you did, name each technology and process. Then strip those sentences back into bullet points, and explain why they matter (i created an autonomous robotic car ->

created autonomous robotic car using python
- six week project using python, jupiter
- extensive use of jupiter notebooks
- AI learing mechanism used the exotic process XYZ
- Solved for (difficult problem) using combination of numpy and pandas to flurple the widget
- project used by team Z to compete in national competition

Your resume has tons of detail, but it's about the names of the groups, not the projects or what they did, I think you pared it down too far. I personally, hate the sidebar thing, i just totally ignore the information in that. Maybe it's just me

Feel free to embellish your stuff. If you touched it IRL, then on the resume you wrote and maintained it

Hadlock fucked around with this message at 18:35 on Mar 13, 2022

Normal Barbarian
Nov 24, 2006

Lockback posted:

I'm a little surprised you're having trouble finding a job. Do you have some examples of stuff you're applying for?

I've been caught up on how to package myself, and I haven't been applying. I applied to a few dream/reach jobs (general Google call for applications, Waymo software internship) before finding out that my resume was kinda garbage and seeking more feedback here.

I also fell prey to some unhelpful thinking about job qualifications (https://hbr.org/2014/08/why-women-dont-apply-for-jobs-unless-theyre-100-qualified). I would group myself either with the 12.7% of men who didn't want to put themselves out there for fear of failure or the 12.4% who didn't think they could do the job well:


That's more of a historical thing, though. I feel like I've mostly overcome that.

Lockback posted:

Jumping right into AI is going to be tough. You have a good base for entry level but "Entry level AI designer" is a real niche role.

I think that's part of it, as well. Should I just spam any entry-level Python positions? I could totally spam entry-level Python positions.

Normal Barbarian fucked around with this message at 21:45 on Mar 13, 2022

Normal Barbarian
Nov 24, 2006

Hadlock posted:

I guess the big question mark here is, what the hell did you do for five years from 2013-2018 after you graduated university. That's a strange red flag to both highlight, and then leave unadressed

From 2015-2018 I worked at a Barnes & Noble, but I cut that for lack of relevance. I wasted a lot of time trying to get into PhD programs before changing tack.

While I was working at B&N, I was also taking comp sci classes at local community colleges, but I don't know if or how to portray that.


Hadlock posted:

Your resume has tons of detail, but it's about the names of the groups, not the projects or what they did, I think you pared it down too far. I personally, hate the sidebar thing, i just totally ignore the information in that. Maybe it's just me

Feel free to embellish your stuff. If you touched it IRL, then on the resume you wrote and maintained it

Thank you for this; I appreciate the time you took to write this out for me :)

Hadlock
Nov 9, 2004

Yeah that's a huge gap, like, got into drugs and lived in motels, or went to jail long time. You want to make drat sure nobody thinks you spent five years smoking weed on your couch with 6 months in jail for a DUI or something

Maybe put something like

2013-2018 Masters/PhD Track Education:
- 2013-2015 UCLA Masters candidate
---- Studied AI under blah mentor/professor
---- AI learning projects:
---- ---- Self driving car with python
---- ---- Self driving car in physics engine LMNOP
---- Computer Club leader
---- ---- Founded ai driving car computer club
---- ---- Competed in XYZ competition
- Barnes and Noble Book Store
---- Employed to support university education
---- Started as cashier, promoted to senior cashier after 3 months
---- Promoted to assistant night manager after 1 year

Nobody ever checks these kind of bookstore promotions, it will show that you were quickly and regularly promoted, so even though it's irrelevant, it shows that others saw value in your work and trusted you enough to invest in you

Normal Barbarian
Nov 24, 2006

I would love to have gone to UCLA for a masters, but I was just taking individual compsci classes at Santa Monica College and El Camino College while working 40 hours a week. It meant I got to ride the lower-division compsci pipeline in both C++ (ElCo) and Java (UCI), and it gave me two semesters of Javascript, MATLAB, MySQL, and Swift. Does any of that warrant a mention? It's long enough ago I don't feel confident listing those as skills.

As for Barnes & Noble, I was the de facto shipping and receiving manager. They fired the real one when they realized they could give me his job without his pay. gently caress that and gently caress them, I'll give myself a retroactive promotion.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
Whenever I see someone say "class in C++" or w/e, I imagine an intro to programming course where they use that language. Which is the absolute least interesting thing offered by the CS college.

Hadlock
Nov 9, 2004

Normal Barbarian posted:

, I'll give myself a retroactive promotion.

:toot:

Lockback
Sep 3, 2006

All days are nights to see till I see thee; and nights bright days when dreams do show me thee.

Normal Barbarian posted:

I think that's part of it, as well. Should I just spam any entry-level Python positions? I could totally spam entry-level Python positions.

Yes, the first job is kinda hard to get and probably won't be that great. Your second job will be much easier to find, pay better and/or be something that is a lot more enjoyable.

Thirst Mutilator
Dec 13, 2008

This might sound a little dumb and vague but does anyone have recommendations for practicing "conveyance" during interviews? The past two onsite interviews I've had I felt like I managed my time poorly by not being clear or succinct when answering questions. I could absolutely sharpen my approach (recommendations as to do that would be great too) but I'll ramble on talking about things I feel I'm knowledgeable and confident about and it's costing me in interviews.

Best thing I can come up with now is reading articles and trying to summarizing them vocally, but I'm willing to try anything.

Vincent Valentine
Feb 28, 2006

Murdertime

Somewhere upthread I mentioned that interviewing is a learned skill, and it's something you have to keep doing and practice at to get better at.

The best way to get better at it is to keep doing it.

That being said, the thing you're talking about can be worked on by recording yourself. Find one of those lists of questions on the internet that says "TOP TEN QUESTIONS YOU NEED TO KNOW IN ORDER TO ACE YOUR NEXT TECHNICAL INTERVIEW!!" and record a video of you answering the questions. Save it and forget about it. Do not dwell on the questions after you answer them, genuinely do try your best to forget it and put it out of your mind. If you need to, impose a time limit for each 10-question list and try to stick to it.

Open it up in 48 hours and watch it. Note down all the places where you get sick of looking at or hearing yourself talk about a topic. Find another list, be cognizant of what you gleaned from the first video and try to catch yourself making those mistakes while answering the questions on video again. Reduce the time you allotted yourself to answer the questions if you can. Repeat.

keep punching joe
Jan 22, 2006

Die Satan!
OK total newbie programmer question. I've essentially been offered a role as a technician in a dev team (I interview well and the lead liked me) but have almost zero code experience other than some very mild VBA automation in Excel and a few Python tutorials. In order to actually land the job I need to demonstrate some competency with Javascript / Node.js / SQLlite.

The specific brief is to build a web app that can retrieve /write to a db (pretty vague but I don't think they expect anything fancy). I have like two/three weeks to build something.

So question is, just how realistic an ask is this, or have I bitten off more than I can chew here (I literally am starting from zero knowledge)?

Also what do I do? Like do I need to learn JS in a fortnight, or is this something I can blag through as a beginner?

keep punching joe fucked around with this message at 09:49 on Mar 19, 2022

Hadlock
Nov 9, 2004

Accept the job and spit out the CRUD app

Google "twitter for zombies", do that, then figure out how to do that in whatever language they want you to do, then do that, but targeted at their acceptance criteria. Get the acceptance criteria in writing. It should be 3-7 bullet points long. Shouldn't take more than a week

This is absolutely something you can blag through as a beginner. I've seen lesser people do more than what you're asked, in 3 days. Shouldn't be a problem. Don't think about it, do it, google what you can't figure out. When all else fails, reach out to this thread for answers

Hadlock fucked around with this message at 09:50 on Mar 19, 2022

keep punching joe
Jan 22, 2006

Die Satan!

Hadlock posted:

Accept the job and spit out the CRUD app

Google "twitter for zombies", do that, then figure out how to do that in whatever language they want you to do, then do that, but targeted at their acceptance criteria. Get the acceptance criteria in writing. It should be 3-7 bullet points long. Shouldn't take more than a week

This is absolutely something you can blag through as a beginner. I've seen lesser people do more than what you're asked, in 3 days. Shouldn't be a problem. Don't think about it, do it, google what you can't figure out. When all else fails, reach out to this thread for answers

I'm going to give it a punt anyway. Thinking something basic like user signup / login and some profile info that can be returned.

Also though that CRUD app just meant lovely code, didn't realise it actually was an acronym :eng99:

Hadlock
Nov 9, 2004

It's both

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


A lot of people use the term "CRUD app" in a derogatory sense but the world runs on CRUD apps and you can have a very comfortable life building them.

Magnetic North
Dec 15, 2008

Beware the Forest's Mushrooms
I'm starting to get homework assignments with my interviews. The last few were pure backend code, but this one wants a web app. The issue is I have essentially no skill in any modern frontend. I could poke around and put something together, but I am worried about it being shoddy. So, is the best course of action to put together whatever I can, or to just send them backend code and say straight up, "I don't know poo poo about this but I'm looking for the chance to learn" to avoid putting a bad foot forward? In the interview, I believe it came up and I don't think they care since they have many holes to fill. I am willing to become closer to a full stack, but I'd rather do it as a work activity than try and pass off a few hours as a skill.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

ultrafilter posted:

A lot of people use the term "CRUD app" in a derogatory sense but the world runs on CRUD apps and you can have a very comfortable life building them.
Oh yeah if someone talks poo poo about CRUD you're going to be in for a bad time if you work with them on their projects. It can mean anything from "CRUD is for old people, we use :nws: event sourcing to "we're game developers."

asur
Dec 28, 2012

Magnetic North posted:

I'm starting to get homework assignments with my interviews. The last few were pure backend code, but this one wants a web app. The issue is I have essentially no skill in any modern frontend. I could poke around and put something together, but I am worried about it being shoddy. So, is the best course of action to put together whatever I can, or to just send them backend code and say straight up, "I don't know poo poo about this but I'm looking for the chance to learn" to avoid putting a bad foot forward? In the interview, I believe it came up and I don't think they care since they have many holes to fill. I am willing to become closer to a full stack, but I'd rather do it as a work activity than try and pass off a few hours as a skill.

If they're asking you to do something, then I would expect to get passed on if you don't fully complete it. Under that assumption, I would try your best if you need the opportunity and ask otherwise. If they're asking you a full stack homework question then I'd expect full stack questions in the interview so if you don't think you can answers those then passing to save time may be the best option.

Gin_Rummy
Aug 4, 2007
Can anyone help me get good at dynamic programming? I totally understand the core theory behind things like memoization and tabulation, but I am rear end awful at picking out the “state variables” and determining the recursive relation. Fibonacci is basically the only dynamic programming LC problem I can solve on my own following the methodology. I have had a hard time finding a resource that really explains it well enough for me to relate to.

Splinter
Jul 4, 2003
Cowabunga!
Every app is at it's core a CRUD app

ExcessBLarg!
Sep 1, 2001

Gin_Rummy posted:

Can anyone help me get good at dynamic programming?
So what I do is I look at a problem I have to solve. Can I, or should I, solve it recursively? Yes? OK, in that case, is it guaranteed that when I recursively call the function am I going to be calling it with a set of parameters I haven't seen before? If so, it's divide-and-conquer and you don't have to worry about tracking state. If not, then then I need to shove the function call parameters (the key) and result (the value) into a hash table and do a lookup there the next time I encounter the same function call.

But it starts with having a problem to solve, and I guess you're looking at it from having a method (dynamic programming) and looking to see where you can apply it?

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

i have a friend who is getting into programming and he's able to make stuff on his own now and it's pretty cool to watch.

i have a couple questions of how to help him in a way that keeps it fun (this isn't a work situation).

1. so far he doesn't like to look at code at all after it works. how can i encourage him to go back and de-spaghettify code that barely works in the happy path case?

2. i find it hard to explain why some things are bad and i think he doesn't want to take my suggestions if i can't justify them convincingly. Examples include why you don't leave 4 or 5 empty lines randomly between functions, why people do if !thing rather than if thing == false, why you delete unused code or empty functions, why you want to refactor repeated code into functions (dry), etc. is there like a Clean Code but for beginners and not written by a ding dong? the "aesthetics of good code" are hard to explain...

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

awesomeolion posted:

i have a friend who is getting into programming and he's able to make stuff on his own now and it's pretty cool to watch.

i have a couple questions of how to help him in a way that keeps it fun (this isn't a work situation).

1. so far he doesn't like to look at code at all after it works. how can i encourage him to go back and de-spaghettify code that barely works in the happy path case?

2. i find it hard to explain why some things are bad and i think he doesn't want to take my suggestions if i can't justify them convincingly. Examples include why you don't leave 4 or 5 empty lines randomly between functions, why people do if !thing rather than if thing == false, why you delete unused code or empty functions, why you want to refactor repeated code into functions (dry), etc. is there like a Clean Code but for beginners and not written by a ding dong? the "aesthetics of good code" are hard to explain...

If you can't make a convincing argument, he shouldn't take your word as law.

teen phone cutie
Jun 18, 2012

last year i rewrote something awful from scratch because i hate myself

leper khan posted:

If you can't make a convincing argument, he shouldn't take your word as law.

i think that's why awesomeolion is asking the thread how to make a better argument, OP

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
The big arguments for cleaning up code after it's working are that:
- it's really hard for other people to understand and work on it if you leave it that way
- if you need to come back and change it later on (after you've forgotten how it works), you'll have to first re-learn the spaghetti version and you will not enjoy it very much.

If this is a solo thing, and the code only needs to work for this one purpose and is intended to be thrown away afterwards then perhaps it isn't actually worth tidying up.

This one is best taught by experience though. It's hard to understand the benefits until you've actually tried to understand code you've written months ago and realize how much you've forgotten about it.

The March Hare
Oct 15, 2006

Je rêve d'un
Wayne's World 3
Buglord
One additional reason is (and I don't know if this is your friend's intention): it will be much more difficult to convince someone to hire you based on project work if all of your projects appear to have been carelessly written. This is distinct from actually being carelessly written, which can be the case even if they are tidy ;).

Vincent Valentine
Feb 28, 2006

Murdertime

Tell your friend to picture a warning sign in their head. No particular sign, just a generic warning. There's an almost guaranteed chance it's either red or yellow, black text, all caps with an exclamation point. That's why we write things that way.

There's a lot of arguments to be made about what constitutes clean code. But the reason most everyone follows the standards is because it makes your code immediately and instantly recognizable, like a warning sign. You said "why people do if !thing rather than if thing == false," , and the easiest answer is that if you write "thing == false" people are going to wonder why you deviated from the standard and if there's a good reason for it. And I don't know about anyone else, but me personally, I don't want to give anyone any excuses to ask me questions.

For your own projects and code, yeah it builds bad habits but in the end who cares. But if you're going to show it to a potential employer, they want you to show them code that they can instantly and immediately recognize, like a warning sign.

a dingus
Mar 22, 2008

Rhetorical questions only
Fun Shoe
Garbage code is fine until you need to work with other people, come back to something in the future or build something complex (easier to organize). If your friend needs an example go have them pull some spaghetti code project from GitHub and tell them to get it working and add a new feature.

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

thanks for the ideas all! i'll try to suggest some of these ideas over time, i think part of my issue was just only giving the negative feedback (didn't turn off work mode i think). cheers :)

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

awesomeolion posted:

thanks for the ideas all! i'll try to suggest some of these ideas over time, i think part of my issue was just only giving the negative feedback (didn't turn off work mode i think). cheers :)

Why would you only give negative feedback at work?

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

leper khan posted:

Why would you only give negative feedback at work?

sorry you're right i'll add more "nice code!" comments in code review

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

speaking of which, how do you give positive feedback at work? sometimes i say "nice job!" but then i run out of compliment steam pretty fast lol

Romes128
Dec 28, 2008


Fun Shoe
you really don't need to shower people with praise.

"good job solving that issue"
"i appreciate you taking the time to do this"
"nice work on that project, the client is really happy with it"

just acknowledge they did something good. if you go too crazy with the praise it comes off as fake.

in the instances you have to criticize someones work or tell them they hosed something up, always be up front that they made a mistake, and EXPLAIN (seriously, taking the time to explain how it affects them and other people are really important) why it was bad, how to fix it, and how to prevent it happening again.

i had a decade in hospitality management and had to disciple people, and a majority of the time they ended up not mad at me after a write up cause they learned something. building a relationship with people under you, having their backs, and understanding what they're going through when things aren't great is the best thing you can do. people will love you for it. i was laid off in march 2020 because the hotel closed and most of my team still regularly keeps in touch with me, and we became great friends outside of work.

my current team lead at my coding job is great, and does a lot of what i said. he builds relationships and takes time with us. another team lead in the company... doesn't. and its reflected on how his team treats and talks about him.

Coco13
Jun 6, 2004

My advice to you is to start drinking heavily.

awesomeolion posted:

speaking of which, how do you give positive feedback at work? sometimes i say "nice job!" but then i run out of compliment steam pretty fast lol

Say exactly what they did and why you appreciated it. "Nice job on that report" is hollow, but "Those were great graphs in the report, they really helped show what you were seeing" is direct and specific. That shows why you think it was a good job.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon

awesomeolion posted:

speaking of which, how do you give positive feedback at work? sometimes i say "nice job!" but then i run out of compliment steam pretty fast lol

Send an email to them and CC their manager.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon

awesomeolion posted:

i have a friend who is getting into programming and he's able to make stuff on his own now and it's pretty cool to watch.

i have a couple questions of how to help him in a way that keeps it fun (this isn't a work situation).

1. so far he doesn't like to look at code at all after it works. how can i encourage him to go back and de-spaghettify code that barely works in the happy path case?

2. i find it hard to explain why some things are bad and i think he doesn't want to take my suggestions if i can't justify them convincingly. Examples include why you don't leave 4 or 5 empty lines randomly between functions, why people do if !thing rather than if thing == false, why you delete unused code or empty functions, why you want to refactor repeated code into functions (dry), etc. is there like a Clean Code but for beginners and not written by a ding dong? the "aesthetics of good code" are hard to explain...

I’m going to go against the grain here and say don’t help him. If he’s having fun, he’s doing fine. Once he starts complaining about debugging, or adding new features, or how hard his code is to read after a week, then you can step in. Then you can show him how easy it is to organize code, and maybe rewrite a file the way you would do it.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


lifg posted:

I’m going to go against the grain here and say don’t help him. If he’s having fun, he’s doing fine. Once he starts complaining about debugging, or adding new features, or how hard his code is to read after a week, then you can step in. Then you can show him how easy it is to organize code, and maybe rewrite a file the way you would do it.

There's nothing quite like stepping on a rake to teach you to watch where you walk.

Thirst Mutilator
Dec 13, 2008

You know your friend better than any of us, but I agree with letting it bite him in the rear end within reason e.g. don't let him submit poorly structured code for a job opportunity if you can help it. Things you're taught can last a while, but lessons you learn can last a lifetime.

Adbot
ADBOT LOVES YOU

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

That makes a lot of sense regarding feedback. Especially the being specific tip. Thanks!

And I agree giving him some time and giving advice only when asked feels like the play, at least for the next while. :)

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply