Advice for using programming communities and groups on Facebook

in #facebook6 years ago (edited)

bullshit.jpg

This week has been an experience. I’ve been busy packing up, and moving for the job. With the holidays, I’ve also spent more time on Facebook. Maybe my use case for Facebook is weird. Maybe I’m strange. Believe me, I’ve thought of that.

Just as a matter of course, over the years I’ve joined dozens of Facebook groups. It’s part of what I do. And I do run into a lot of kids from all over the world that I can help, talk to, or mentor. That’s really why I do it. Why I hadn’t left any of these places until today. But this has been building all week, and I just want to get it off my chest in the hopes that someone will read this post, and take some of this to heart.

Don’t shit where you sleep

Over the years, I’ve worked with a lot of people. Some have liked me, some have not. I can be a polarizing figure at times, and I have been known to rub people the wrong way. I know that about myself. There have been times that I’ve had communication problems with clients, and there have been times when I’ve felt exploited and/or abused. This too is normal, and I think that anyone who’s been in the business for more than a couple of months has felt the same way at least once.

One thing I would never think to do, under any circumstances is contact my client and tell him that he’s a con artist. I would never go to a group he frequents and tell the group he's a con artist. Especially when I’m using that group to source work from other people there.

But in this one group that is populated by inexperienced kids, mostly from the far east, you see that kind of thing happen all the time. This guy or that guy is being accused of running a scam to hire these same relatively inexperienced programmers, who then publicly share notes and encouragement… in the same group that they know their client is watching. The same group where they found the work in the first place.

Who's really being discredited there?

My best guess is that none of them have much experience running a consulting business, and they don’t understand how bad this kind of thing looks. They don’t understand that it’s unprofessional to intentionally try to hurt someone’s business, even if you don’t like them. And worse, they don’t seem to understand that the overwhelming majority of the time when young coders aren’t paid for their work, it’s not the fault of the client, but their failure to deliver what was promised.

I mean, sure, maybe there are a couple of evil ones sitting there, twirling their mustaches, thinking about elaborate schemes to get a lot of free work, but those guys are few and far between. Nobody is going to waste their time and yours on schemes like that in the real world on an ongoing basis. The world just doesn’t work that way.

Nine out of ten times, these situations can be avoided completely by communicating thoughtfully and honestly with clients. You’re only as good as your word, and your word has to be good when you work with people. Otherwise, you shouldn’t be working. It’s very fucking simple. This means quoting things honestly, understanding your requirements, and not billing for time that’s not being spent writing code or researching. There’s an ethic to consulting. You’re entitled to get paid if you provide honest time for honest work. If you’re cheating people by getting in over your head on projects you can’t understand or complete, you’re committing fraud in the traditional sense of the word, and you need to accept the results you get.

I’ve worked with kids like this on a few projects, and the fraud levels are high. I don’t know if it’s the culture these people come from, where it’s frowned upon to ask for clarifications, or what. But it’s fraud nevertheless, and it’s a despicable practice that needs to end.

And it does suck to feel taken advantage of. It does. It’s awful. But basic rules of decorum are more important than the actual work itself. Let me explain why.

So, imagine that I’m an employer looking for cheap relatively inexperienced labor on a project where I need to fill seats, and I know to go to one of these groups in order to find the most absurdly cheap labor on the planet, because reasons. Hey, things like this happen.

The first thing I’m going to do is find someone who makes a post that says, “Plz hire me, I’m looking for work.” When I locate one, the very first thing I’m going to do is check their post history. I’m going to check for things like stupid mistakes, illegal activity, and of course, whether or not they’re airing dirty laundry about past clients. You never can be too careful.

Imagine how I would feel, as potential employer, if I look up your profile, and I see half a dozen group posts blasting past people you’ve worked with, calling them names, who knows what else. The first images that pop into my head are going to be nightmare scenarios where I have a bad experience with this person, and they go around calling my clients to talk about what an asshole I am.

As someone who’s been through things like that with contractors in the past, there’s no way in hell I plan on repeating it. So the first thing I’m going to do is add that person to my blocklist, and keep looking. That person has already demonstrated to me that they’ve had failed projects and/or didn’t deliver what they promised, which is the most likely reason they were never paid by the person they’re berating in the programming groups.

The internet never forgets. Everything you say in a public forum is indelible, and there for anyone who wants it in the future. The last thing you want to advertise is a record of failure. And you certainly don’t want to advertise the fact that you’ve had fights with your clients. Jesus christ, why does this even need to be said?

Furthermore, if you’ve encouraged or empathised with someone who is behaving this way online, in public, you’re probably going to get blocked and blacklisted to. It tells potential employers that you’re okay with this behavior, and that you’re just as likely to do the same thing, right wrong or indifferent, that’s how it’s going to come off.

Professionalism is important, especially when you’re looking for work.

It’s in bad taste to ask someone to work for free on a deadline

The whole reason I joined these groups in the first place was to solve interesting advice, give me opinion on specific topics, like “Does Java suck?” to which I might respond, “Yes, Java sucks, I feel your pain. Try Scala or Kotlin, they’re a lot more fun to work with.” Occasionally, I’ll voluntarily write some code, and freely post it to the group because I have a sick idea of what fun is, and I enjoy this kind of thing.

I also don’t mind chatting with young programmers who are just getting started, and trying to walk them through whatever problems they might be having. Sometimes, I’ll offer to write some code for them. And that’s fine.

One thing I will never volunteer to do is offer to complete a school project for anyone, or act as a tutor. And it’s even worse to ask me to do this for free. It’s unnecessary to ask me to do this. First off, you can use stackoverflow as well as anyone else. You don’t need me as a tutor because there are much better resources. And, if I did agree to be your tutor, I would bill you my standard rate, which you almost certainly could not afford. I don’t do professional work for free, and you wouldn’t either.

And if I do offer to help with writing code, you have to understand that you’re my lowest possible priority. Things that come in on higher priorities might be, 1. Paying work. 2. Job hunting (I’m a contractor, the job search never ends) 3. Playing video games 4. Absolutely anything else. My time is mine, and your deadlines are yours. Don’t ask for free work on things where the deadline matters. You will most certainly miss them.

Do you see where I’m going with this?

I usually know something’s wrong when I’m asked to present my credentials at the beginning of a conversation. My credentials shouldn’t matter, ever. And you have no way of verifying anything. I can say I’m the queen of England, and you have to take me at face value. Yeah, I’m willing to help, but I’m not going to turn down billable hours because you can’t figure out your own damned Javascript. Ain’t fuckin’ happening. I try to be a nice guy, but there does come a point where you’ll have to pay me for my time.

Don’t ask for anything illegal

Half a dozen times this week, people have asked for illegal things. “How do I implement a trojan?” or “Can anyone make me a fake south african passport?” nonsense like that. If you want answers to those questions, there are plenty of darknet forums where you can get advice. There are entire websites you can visit on the surface net where you can find people willing to help. Programming groups on Facebook and elsewhere are not those places.

If a life of crime is your life choice, I say, great. I post no judgements. Your life is is your life, and you’re not really affecting me by wanting to learn the dark arts of hacking, or buying counterfeit travel documents. I don't care. But it is annoying. And don’t expect me or anyone else to give you a serious answer. Expect me to be a smartass and tag interpol or the FBI because I think it’s funny. And I do. I get a kick out of it.

Stay on topic

Okay, so riddle me this: What bearing does you not being able to unlock your phone have on any programming related topic? How would anyone in a programming group know the most common cause of hard drive failure? Does your choice of obsolete Windows operating system have any relevance for people that are there to talk about code?

If you answered none whatsoever, ding! You would be right. And, not only that, but you would also be right if you assumed that there are plenty of groups on the same platform that focus on those topics.

So why not go there, and leave the discussion that’s supposed to be about code to the people that actually want to talk about code?

How difficult is that?

Conclusion

Well, it sucks, because I’ve met some neat kids in these places, but I think I’m done with most of the lower quality programming groups on facebook for the reasons stated above. If you know of any groups that would be better, let me know in the comments below.

Sort:  

WARNING! The comment below by @mujib leads to a known phishing site that could steal your account.
Do not open links from users you do not trust. Do not provide your private keys to any third party websites.

WARNING - The message you received from @mujib is a CONFIRMED SCAM!
DO NOT FOLLOW any instruction and DO NOT CLICK on any link in the comment!
For more information, read this post: https://steemit.com/steemit/@arcange/phishing-site-reported-upvoteme-dot-ml
Please consider to upvote this warning if you find my work to protect you and the platform valuable. Your support is welcome!