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
CPColin
Sep 9, 2003

Big ol' smile.

School of How posted:

gently caress HR.

Finally, something we can all agree on!

Adbot
ADBOT LOVES YOU

MononcQc
May 29, 2007

School of How posted:

I would argue that a programmer's job is not to improve morale. My job as a programmer is to be productive at programming. If morale is low, that's someone else's problem. It's actually HR's problem. If HR had done their job correctly, morale wouldn't be so low. In my opinion, HR people are always the most worthless people within an organization. gently caress HR.
So uh, you've also blamed HR before regarding recruiting, and now for this. Out of curiosity, what other gripes do you have with HR?

minato
Jun 7, 2004

cutty cain't hang, say 7-up.
Taco Defender

School of How posted:

There are two ways to manage a code repository. One way that can be called "community codebase" is one where everyone owns all the code equally. No one person "owns" any bit of code because everyone owns all the code equally. The other type of code management technique is called "code silos", where the person who wrote the code originally owns that code forever.

I much much prefer code silos. I've worked with both types of management techniques. In the community codebase, often what happens is that lovely developers write lovely code that I end up having to fix all the time, and that sucks. There is no accountability to the lovely developers who wrote the broken code. On the other hand, if the codebase is a code silo, then there is accountability. If a coworker writes lovely code that is unmaintainable, that programmer is responsible for maintenance, and it has no effect on me.

To answer your question, as long as the company has code silos, then a terrible programmer has no effect on me. Code silos are more common than community codebases, because management people naturally want accountability from the team.

People in this thread seem to be under the impression that once a lovely developer gets hired that you are stuck with them for all of eternity. Companies are not going to continue to pay the salary of someone thats not pulling their own weight. If a certain member of the team is not productive, it's not hard for management to figure this out quickly and let that person go. It's not exactly rocket science to tell someone they're fired.

Guinness
Sep 15, 2004

The more he posts the more obvious it is why he can’t get hired anywhere.

Pie Colony
Dec 8, 2006
I AM SUCH A FUCKUP THAT I CAN'T EVEN POST IN AN E/N THREAD I STARTED
Actually how is right, code silos (aka multi-repos) where developers exercise operational oversight (devops) over their micro-services are a good idea for a lot of companies.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
There's a difference between "I don't need to know about this code" and "I literally can't look at this code". Having to demonstrate need-to-know on every bit of code you try to look at introduces a ton of friction, and silos should only be used where there's a compelling business reason, like for critical trade secrets.

sunaurus
Feb 13, 2012

Oh great, another bookah.

Pie Colony posted:

Actually how is right, code silos (aka multi-repos) where developers exercise operational oversight (devops) over their micro-services are a good idea for a lot of companies.

You would still want small teams to handle microservices though, right? Like I've actually fought back against being assigned to some microservice alone, because working without mutual code reviews and without regularly bouncing ideas off somebody seems almost guaranteed to result in lower quality code

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
these posts are like a window back in time to an IT service department in 1992

kayakyakr
Feb 16, 2004

Kayak is true

rotor posted:

these posts are like a window back in time to an IT service department in 1992

Repository? We all just work from a shared zip file.

Continuous Deploy? I mean, I guess I can open up the ftp server and upload the new code at any time.

Code Review? Sure, come over to my cubicle and I'll walk you through my changes. Or we could have a company-wide meeting to review my code!

AskYourself
May 23, 2005
Donut is for Homer as Asking yourself is to ...
I'm late to the take-home answer as well but I here's my take on it.

I already work 8 hours per day. Adding commuting time, taking care of the kids, preparing food and house chore leave maybe 1 or 2 hours to relax and poo poo before I go to sleep. During these few precious hours, I'm not in a mood to produce something and if I force myself the work is going to be sub-par and uninvolved and it's going to show.

That leave the weekend which is also usually pretty busy with house and family. I guess I could spend a few hours during the weekend for a take-home but it would only happen if I really really wanted the job for whatever reason. I was asked to do some online technical and personality test however for my last job, it took around 90 minutes to complete at home.

If I didn't want the job that much I'd probably propose to show code and diagrams I've worked on in the past and talk about it. Or maybe I could produce a one pager explaining how I'd solve the take-home.

How!!, in the off chances that you are not a troll : I understand what you're going through, maybe a few of us do actually. Thinking that only technical skills matter is a phase that a lot of programmer go through, I was there once too. Usually after a while tho, people come to the realization that image, social skills and knowing how to build rapport are competencies that are as important if not more important that technical skills in an office setting.

Believe it or not, some of us actually have seen an over-saturated market, for me it was during the dotcom crash. I've seen it with my own eye and it's nothing like today. This is the last I will interact with you unless you show sign of improvement.

kitten emergency
Jan 13, 2008

get meow this wack-ass crystal prison

rotor posted:

its like the BeatmasterJ bathroom but for a dudes career

lmao

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
I got an invite to a "HackerX" event in San Francisco. It sounds like basically a jobs fair that's trying to sound fancy and exclusive. Has anyone here ever attended one of those things? What's the deal?

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug
They have one of those in Toronto once every so often. I went to one a few years ago, it was pretty nice and had good catering and an interesting talk at the beginning. I went to a pretty recent one that seemed like a whole different event: the catering was lukewarm awful pizza from a bottom of the barrel chain and the actual interactions with prospective employers were very brief and regimented speed dating style affairs.

Also they managed to leak everyone's email addresses because they didn't know how to use BCC.

Careful Drums
Oct 30, 2007

by FactsAreUseless

TooMuchAbstraction posted:

I got an invite to a "HackerX" event in San Francisco. It sounds like basically a jobs fair that's trying to sound fancy and exclusive. Has anyone here ever attended one of those things? What's the deal?

The one in Detroit a few years ago was a shitshow of snot-nosed How!! - type programmers and bloodthirsty recruiters.

prisoner of waffles
May 8, 2007

Ah! well a-day! what evil looks
Had I from old and young!
Instead of the cross, the fishmech
About my neck was hung.
I'd guess that most of these things will fundamentally be cattle calls for devs though exactly how well run they are, who shows up, and whether its worth it will vary wildly.

I was pretty sure I had received one of these but when I search back through my emails I can't find it. Though there was this:

quote:

Dear Prisoner,

I hope you summer is off to an amazing start! My name is Bleeb Bloob and I am reaching out on behalf of Uber ATG to extend an invitation to our Tech Talk on Neveruary 32nd, 2019 at 4:20pm, in the beautiful Richard Nixon building.

Some of our organization's brightest engineering minds and leaders will be walking you through some of the incredible work the team is doing to bring the...

(some details changed to protect the guilty)

e: lol, I didn't even register the typo in the first sentence when I looked at it the first time.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


In my experience networking events are full of people who are interested what you can do for them but haven't really thought about what they have to offer. Maybe you'll get lucky and find one that's better, but you probably won't.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
The HackerX event I went to in Atlanta was a full-blown GE-only recruiting event with talks by engineers and directors there. I might speculate that all HackerX does is function as a recruiting event vendor that works with mostly very large companies. I went because I knew some of the speakers and I know they're not horrible engineers or anything.

School of How
Jul 6, 2013

quite frankly I don't believe this talk about the market

AskYourself posted:

How!!, in the off chances that you are not a troll : I understand what you're going through, maybe a few of us do actually. Thinking that only technical skills matter is a phase that a lot of programmer go through, I was there once too. Usually after a while tho, people come to the realization that image, social skills and knowing how to build rapport are competencies that are as important if not more important that technical skills in an office setting.

Some jobs like sales person, and front desk receptionist require a greater than normal amount of social skills. These jobs have you socially interacting with people all day long in a scenario where awkwardness can be very detrimental. Most other jobs only require normal amounts of social skills. Programming, on the other hand is probably one of the jobs that requires less social skills than most jobs. Typing commands into a computer is inherently an anti-social activity. Sure it requires some social interaction, but very little compared to most jobs. It's baffling to me that people in this industry get so fixated on social and communication skills, since they play such a small role in the job.


quote:

Believe it or not, some of us actually have seen an over-saturated market, for me it was during the dotcom crash. I've seen it with my own eye and it's nothing like today. This is the last I will interact with you unless you show sign of improvement.

I doubt the dot-com bubble caused an oversaturation event. When the aviation industry lays off a ton of people, it does cause an oversaturation event, because the airlines are such a large employer of pilots. When one airline lays off, they all lay off. When that happens, the number of pilots that flood into the market is large enough to have a huge effect on everyone.

On the other hand, comparatively not that many people lost their jobs due to the dot-com bubble. I wasn't around then, but as I understand it, it was just a bunch of speculators that drove up the price of certain tech stocks, which then crashed back down. Some unlucky programmers lost their job when the crash caused their company to go under, but I don't think it was widespread enough to actually have a major effect on the greater labor market. Unlike the aviation industry, jobs in the software industry are not concentrated to a small set of companies. Even today the biggest employers of programmers (FAANG) probably only employ less than 5% of all programmers (by my estimation). For these reasons, I don't think it's possible for a layoff-induced oversaturation event to ever occur within the software industry. (Today's oversaturation is caused by massive amount of people self-teaching themselves to code.)

But, hey, you're the expert, so tell me, what was it like in those days to land a programming job? Were there take home projects? Multi-hour long whiteboard sessions? How did companies cull the stack of thousands of resumes down to a manageable number?

evilweasel
Aug 24, 2002

School of How posted:

Some jobs like sales person, and front desk receptionist require a greater than normal amount of social skills. These jobs have you socially interacting with people all day long in a scenario where awkwardness can be very detrimental. Most other jobs only require normal amounts of social skills. Programming, on the other hand is probably one of the jobs that requires less social skills than most jobs. Typing commands into a computer is inherently an anti-social activity. Sure it requires some social interaction, but very little compared to most jobs. It's baffling to me that people in this industry get so fixated on social and communication skills, since they play such a small role in the job.

being an outgoing extrovert, and having the basic social skills needed to work as part of a team, are two very different categories of social skills and when people tell you that you lack basic social skills they're telling you you lack the latter

Paolomania
Apr 26, 2006

Why do y'all continue to let the troll poo poo up the thread?

CPColin
Sep 9, 2003

Big ol' smile.
It's important for everybody else to see such a stark example of what not to be.

Sab669
Sep 24, 2009

Paolomania posted:

Why do y'all continue to let the troll poo poo up the thread?

This. What's the point of me adding him to my ignore list if I have to read all of you people quoting and replying :v:

CPColin posted:

It's important for everybody else to see such a stark example of what not to be.

I consider myself a fairly non-judgemental person, open to listening to other people's opinions and often consider theirs more valid than my own. The very first post I saw by SoH when I re-opened this thread for the first time in a while like a week ago I was immediately like, "Holy poo poo this guy sounds like an insufferable idiot" - so if that immediately jumps out to someone like me I don't think we really need to continue to deconstruct his asinine opinions for another 20 pages, do we?

CPColin
Sep 9, 2003

Big ol' smile.
Well, in case anybody else is as stubborn as How is…

kitten emergency
Jan 13, 2008

get meow this wack-ass crystal prison

Sab669 posted:

I consider myself a fairly non-judgemental person, open to listening to other people's opinions and often consider theirs more valid than my own. The very first post I saw by SoH when I re-opened this thread for the first time in a while like a week ago I was immediately like, "Holy poo poo this guy sounds like an insufferable idiot" - so if that immediately jumps out to someone like me I don't think we really need to continue to deconstruct his asinine opinions for another 20 pages, do we?

got anything better to talk about?

i guess i'll go - any remote people on fully-distributed teams have thoughts about managing fully-distributed teams, especially if the rest of the company isn't? i.e., your eng. team is distributed but company leadership is centralized.

vonnegutt
Aug 7, 2006
Hobocamp.

uncurable mlady posted:

got anything better to talk about?

i guess i'll go - any remote people on fully-distributed teams have thoughts about managing fully-distributed teams, especially if the rest of the company isn't? i.e., your eng. team is distributed but company leadership is centralized.

I think a big part of remote management is visibility, that is, how can you tell what everyone is doing without constantly bugging everyone by asking what everyone is doing. In an office it's easy to tell who's heads down in some big feature vs twiddling their thumbs but it's a lot harder when everything's online. We rely on a daily standup chat channel (write a one-liner of what you accomplished today) but there's also a significant amount of "Hey so-and-so, are you busy..." or "Once I finish my current task, I have nothing in my queue..."

We're testing a deployment strategy where individual git branches get deployed as itty bitty standalone instances so that management can play with stuff that's in-progress. It would be nice to get UX/UI review at the same time as code review.

sunaurus
Feb 13, 2012

Oh great, another bookah.
I get why it's important to management that devs look busy most of the time, but I had a year when I was fully remote with very little visibility a few years go, and I firmly believe that that was both the most productive I've ever been, and the least busy I've ever looked.

I had a ton of freedom: I hit the gym in the middle of the workday pretty much every day (haven't been in shape since I left that job), I took long breaks whenever I felt like it, I basically ignored business hours and decided when to work by how fresh and motivated I was feeling.

I wasn't completely invisible - I was actually the tech lead of a small team with 4 devs, so I had a weekly meeting with my team, and of course I was in contact over slack with individual team members (sometimes sync, mostly async), and I did code reviews constantly. But nobody really knew when or how much I was working - I reported directly to the head of a large department, and he really didn't care about my individual work as long as our team was doing good.

Turns out our team did really well - we made the deadline on a pretty complicated project (which everybody else had assumed would go over deadline by at least another year), we did it without tons of technical debt, and we made all of the higher-ups really happy. I ended up leaving that job for a higher salary, but man, it was a really hard decision letting go of all that freedom.

I still work remotely at least one day a week, but I need to be in the office most of the time now, and every time I have one of those day where I'm pointlessly browsing the web in the office because I can't get in the zone, I start thinking about finding another job where I can worry less about looking productive so that I can actually be more productive.

kayakyakr
Feb 16, 2004

Kayak is true
If remote work is our next subject, I have thoughts...

But before we go away from hiring completely, I ran across some job listings for these guys and I'm curious what you think about their hiring process: https://life.taxjar.com/distributed-team-hiring-process/

tldr: they give you an 80 hour contract at an introductory rate. If you're not unemployed, they'll let you work nights/weekends at that.

vonnegutt posted:

We're testing a deployment strategy where individual git branches get deployed as itty bitty standalone instances so that management can play with stuff that's in-progress. It would be nice to get UX/UI review at the same time as code review.

Review apps will rock your world. We use the Heroku version and it makes the feedback cycle 20x tighter and significantly more participatory. Also makes running CD super easy. The only reason for staging to exist is to have something for throwaway data. Otherwise, once the review app is :+1:'ed in both code and UI/UX/QA, you can merge it and go to prod.

Paolomania
Apr 26, 2006

Here is a question: I'm at senior level and have an upcoming confidential career mentoring session (good mentoring, not some PIP euphemism) with a higher-than-skip-level engineering manager. What on Earth do I ask them?

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Paolomania posted:

Here is a question: I'm at senior level and have an upcoming confidential career mentoring session (good mentoring, not some PIP euphemism) with a higher-than-skip-level engineering manager. What on Earth do I ask them?

Probably the first thing is to figure out what you want. Where do you want to be next year? In 5 years? Your mentor can just give you random advice but answering "how do I achieve X" is gonna be something you'll get better answers to.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Yeah, the questions you ask will strongly depend in particular on whether you want to develop as an IC or transition to leadership.

Sab669
Sep 24, 2009

I want to apologize for my earlier post; stress as deadlines loom. gently caress this summer.

asur
Dec 28, 2012

kayakyakr posted:

If remote work is our next subject, I have thoughts...

But before we go away from hiring completely, I ran across some job listings for these guys and I'm curious what you think about their hiring process: https://life.taxjar.com/distributed-team-hiring-process/

tldr: they give you an 80 hour contract at an introductory rate. If you're not unemployed, they'll let you work nights/weekends at that.


That seems great in theory as you actually see the person work and they get to work with everyone, but I would almost certainly not do it unless unemployed.

kayakyakr
Feb 16, 2004

Kayak is true

asur posted:

That seems great in theory as you actually see the person work and they get to work with everyone, but I would almost certainly not do it unless unemployed.

yeah, my question to them is, "how many potentially qualified candidates just don't apply"?

The Fool
Oct 16, 2003


Check out this saturated market post from the newbie thread

uninverted posted:

Just landed a new position and I wanted to do a quick write-up of my search. This was in Chicago. I started applying three weeks ago, after getting turned down for a promotion for the second time in a row. Here are the stats:

26 applications
7 rejections (5 at resume stage, 2 at phone screen stage)
4 on-sites scheduled (3 attended, one canceled after taking another offer)
10 no-responses
3 offers
I cut off the rest in the middle because I got a good offer

I had 2 years of experience with a technical B. S. (tangentially related to CS). The questions I ran into were pretty much all between a leetcode easy and medium level. Almost all of it was via coderpad or a similar site. I never got a substantial take-home; the one take-home I did get was "here's an hour, timed. answer this leetcode-style question" via hackerrank. The offer I ended up taking was at a 100-ish person startup, for a 30% raise and some lottery tickets options.

School of How
Jul 6, 2013

quite frankly I don't believe this talk about the market

The Fool posted:

Check out this saturated market post from the newbie thread

This is what I don't understand about this: If the guy sent out 27 resumes and got 0 job offers, you could say he's an autistic moron who obviously can't work with a team, inadequate social skills, blah blah. But he got 3 job offers. Therefore you know that he's not any of those things. But the question remains, why did he only get 3 job offers, and not closer to 27 job offers? If programmers are truly scarce, then wouldn't just about every company he applied to offer him a job?

I think the term "oversaturated" triggers some people, so I propose new nomenclature:

Imagine a hospital in Aleppo, Syria. An airstrike just happened, and a bunch of civilians were badly injured. All of the local hospitals are flooded with patients. One hospital has a capacity of 50, but there are 150 people there bleeding from their heads, waiting in the parking lot for treatment. There are 10 doctors employed there, and they are all working 24 hour shifts. You're a unemployed doctor in the area, and you walk into one of these hospitals and ask for a job.

Which outcome is more likely to happen:

A) They will tell you "a terrible doctor is worse than no doctor at all", so before they'll accept you, they first need you to do a phone screen, then a take home project, and then another phone screen, then an all day long in-person interview, and then another take home project, and then and only then if pass all the rounds, and they think you're a cultural fit, you'll be offered a job.
B) they give you a stethoscope and some bandages, and tell you to get to work.

Now imagine a hospital in Beverly Hills. It has a capacity of 50 patients, but at any given time there is usually no more than 20 patients inside. All the doctors work reasonable 9-5 schedules with a long lunch break. Doctors there also are very well paid. When you walk into one of these hospitals, will you be more likely to be told "Here's some bandages, get to work", or will you be told you need to go through multiple rounds of screens?

So maybe instead of referring to the market as "oversaturated" or "not oversaturated", maybe we can say it's "Aleppo-like" or "Beverly Hills-like"?

Hughlander
May 11, 2005

School of How posted:

This is what I don't understand about this: If the guy sent out 27 resumes and got 0 job offers, you could say he's an autistic moron who obviously can't work with a team, inadequate social skills, blah blah. But he got 3 job offers. Therefore you know that he's not any of those things. But the question remains, why did he only get 3 job offers, and not closer to 27 job offers? If programmers are truly scarce, then wouldn't just about every company he applied to offer him a job?

I think the term "oversaturated" triggers some people, so I propose new nomenclature:

Imagine a hospital in Aleppo, Syria. An airstrike just happened, and a bunch of civilians were badly injured. All of the local hospitals are flooded with patients. One hospital has a capacity of 50, but there are 150 people there bleeding from their heads, waiting in the parking lot for treatment. There are 10 doctors employed there, and they are all working 24 hour shifts. You're a unemployed doctor in the area, and you walk into one of these hospitals and ask for a job.

Which outcome is more likely to happen:

A) They will tell you "a terrible doctor is worse than no doctor at all", so before they'll accept you, they first need you to do a phone screen, then a take home project, and then another phone screen, then an all day long in-person interview, and then another take home project, and then and only then if pass all the rounds, and they think you're a cultural fit, you'll be offered a job.
B) they give you a stethoscope and some bandages, and tell you to get to work.

Now imagine a hospital in Beverly Hills. It has a capacity of 50 patients, but at any given time there is usually no more than 20 patients inside. All the doctors work reasonable 9-5 schedules with a long lunch break. Doctors there also are very well paid. When you walk into one of these hospitals, will you be more likely to be told "Here's some bandages, get to work", or will you be told you need to go through multiple rounds of screens?

So maybe instead of referring to the market as "oversaturated" or "not oversaturated", maybe we can say it's "Aleppo-like" or "Beverly Hills-like"?

Those multiple rounds of screens are called medical school and board exams. How’s your professional exams going?

vonnegutt
Aug 7, 2006
Hobocamp.

sunaurus posted:

I had a ton of freedom: I hit the gym in the middle of the workday pretty much every day (haven't been in shape since I left that job), I took long breaks whenever I felt like it, I basically ignored business hours and decided when to work by how fresh and motivated I was feeling.

This is kind of where I am now, and objectively I'm getting a ton of actual, good work in so everyone is happy, but I sometimes wonder if I need to be more performative. I was stuck on a bug earlier this week, and while I really dug in on it (and basically ended up reading the source code of a lib we're using, which will come in handy), there wasn't a ton to show for it.

The "working when fresh" aspect is great though. I don't spend multiple hours banging my head against a single problem, I've learned to get nice and stuck and then go for a run, which usually that fixes it. Plus good for my health. It rules.

Guinness
Sep 15, 2004

I'm really glad I don't work at places that view all programmers and developer jobs as completely generic and fungible. But I'm even gladder that I don't work with other programmers that hold those opinions. Ultimately everyone is replaceable, yes, but not without pain and transition costs.

But we do work and projects that involve more than 15 minutes of work at a time to complete. I guess I can see how if that's what one thinks a desirable programming job is that they'd be frustrated trying to break into a not-poo poo company.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

vonnegutt posted:

This is kind of where I am now, and objectively I'm getting a ton of actual, good work in so everyone is happy, but I sometimes wonder if I need to be more performative. I was stuck on a bug earlier this week, and while I really dug in on it (and basically ended up reading the source code of a lib we're using, which will come in handy), there wasn't a ton to show for it.

The "working when fresh" aspect is great though. I don't spend multiple hours banging my head against a single problem, I've learned to get nice and stuck and then go for a run, which usually that fixes it. Plus good for my health. It rules.

I got complimented last month for being a developer that reads a lot of code and then types only a tiny bit before making a PR. I did not dare to say I do all that reading to understand what I am changing as it is knowledge I still don't have after being there for about 8 months. :shrug:

Adbot
ADBOT LOVES YOU

Guinness
Sep 15, 2004

Keetron posted:

I got complimented last month for being a developer that reads a lot of code and then types only a tiny bit before making a PR. I did not dare to say I do all that reading to understand what I am changing as it is knowledge I still don't have after being there for about 8 months. :shrug:

Please please keep doing this. The worst thing is people just jumping right in to something they don't understand and making an overconfident mess of it. In an existing codebase you're likely reading 10x-100x more code than you are writing. It never really goes away, you just get a bit quicker at it as you gain familiarity.

The best PRs are ones that are well-researched, well-executed small code changes with big impact. LOC written/changed is a largely useless metric.

Guinness fucked around with this message at 20:08 on Aug 10, 2019

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