What do you actually do as software dev, explain to me the whole process of your job please

What do you actually do as software dev, explain to me the whole process of your job please.

Does a customer calls your company up and says "hey, we need software for this and this" and then you create a GUI with functionality for whatever the customer needs it for? Be it tracking stuff, calculating or automatization of processes, etc..? What then, do you sell them software or are they paying you monthly/yearly for usage?

There's so much shit thrown about software development, yet I still never heard anyone explain what they actually fucking do or how does their job look like and what they are actually programming most of the time.

Attached: tenor.gif (452x308, 3.28M)

>Does a customer calls your company up and says "hey, we need software for this and this" and then you create a GUI with functionality for whatever the customer needs it for?
basically this
larger firms will have more sales focused people and intermediary people that will work with the customer to build specsheets to hand off to the codemonkeys
>What then, do you sell them software or are they paying you monthly/yearly for usage?
depends on the contract with the customer
keep in mind that 'customer' can be other businesses

>be part of a cucked little group of autistic faggot white and chink permavirgin males
>team leader is a non-technical minority roastie that goes by the title "Agile Scrum Master"
>Roastie forces the group to stand up each day and say that yesterday they did some work and today they will do some work
>spend all day copy and pasting code from stack overflow written by chads who literally do it for free
>roastie scrum huddle master gets a pay rise that eclipses your entire shitty salary
>rack up countless hours of unpaid overtime
>roastie webdevs that writte 3 lines of CSS and have the job title HTMl Ninja Turtle get promoted over you

that's like asking what someone who is a construction worker does, it could mean so many things from painting to plumbing to pouring concrete to operating a crane, it just depends

Personally I charge $45 an hour to upload .jpgs to wordpress templates

there's so many different fields of software, you could be a single person programming phone apps or you could work for a company making business software or web software or software that runs real-world devices
there's no typical case

I know, but doesn't a company specialize in one field, be it web dev or business software? How do you even find out these companies as customer? Let's say you are a chemical engineer at some industrial company and you came up with some solution for saving waste at your company and they need to specialize whole software for you, but they've never done anything like that and you got some pretty inexperienced developers that only did mundane shit and you know you can't trust them to fuck up millions of dollars on a process some guy found out. Do you just decline and say we aren't experienced enough or what

Salesmen find customers and arrange the contracts, not developers.

I develop a program that businesses want to use (improve workflow, save money, whatever) and charge a monthly subscription fee

kek

where are the best places to find software devs that will work in return for % share of project?

fiver

>HTML ninja turtle

Attached: main-qimg-e9be1cf0430dfd81717b5450e7734d17.png (602x779, 62K)

>yao ming
What fucking year is it?

>get hired on
>have an internal project
>figure out some sprint tasks for how I can jump in
>write code
>test locally, code review
>fix stuff
>demo
>repeat till project is done

india

Meet with customer, hear out requirements. Make up some use cases from the given requirements, present to customer. If all good, move on to planning out the system. Decompose it into levels, design it roughly, decide on technology used and required and start developing. Usually meet up with customer throughout the development, show some implementation, get feedback, continue developing. When product is ready, you need to maintain it, so either you do it or customer hires someone else to do it.

A standard day for a dev goes like this:

>Go to work, fuck up about a dozen PCs then push out some shit code that will break everything
>Have a tantrum when Ops won't make you a Domain Admin
>Break a few more PCs installing random crap from croatian blogsites in an attempt to get my shitty code to work
>Be an insufferable cunt
>Go home

>When product is ready, you need to maintain it

Devs, everyone.

Have you actually done anything?

Yes, I print out the devs helpdesk ticket requests and pin them up on the noticeboard so we can all laugh at their stupidity.

Don't cut yourself with that edge

No, really, everyone else that works in IT thinks that devs are a bit thick, and know nothing about IT, it's not a meme. If they're not having a tantrum about 'the firewall' blocking their app from connecting to 'localhost', they're having a tantrum about how they need a PC with 128GB of RAM and that's the reason why their code is runnimg so slowly.
Devs are the laughing stock of the IT world.

Attached: r_102813_Wx1Vb.jpg (500x483, 28K)

Attached: cGIay9e.png (280x272, 3K)

>pick a feature to develop (or get assigned one from team lead)
>develop feature
or
>pick up bug marked as ready on JIRA
>write unit, GUI and/or integration tests (yeah I know this should be first)
>get code review from other dev
>implement fixes if necessary and resubmit for review
>put feature or bug fix into the test queue
>implement fixes if necessary and resubmit to the tester for retesting
>wait for the tester to finish testing and mark it as "ready to land".
>add myself to the landing queue
>when it's my turn, acquire the physical landing lock
>land (read: merge) my branch containing my code into the master branch
>ring the device which signals I've landed
>delete the branch and mark everything as resolved
>repeat

Attached: 1498496380782.png (600x567, 999K)

alright, as a software dev working at a small company, let me walk you through the usual steps that go from client's need to a complete project

1. client realises they need a software solution of some sort, starts putting the word out they are looking to contract a firm and contacting well known implementers
2. contact is established between several competeting implementers, all these implementers do initial analyses and deliver rough budgets and timescales
3. implementer is picked, usually based on proven record, features they promise and cost
4. further analysis is done to break the project down into seperate tasks that then get put into tickets
5. as a dev, my regular work day consists of picking up a ticket and implementing the functionality described in it

I got bored so if you want to know something more specific feel free to ask

yes, does it ever happen that someone is so good that he finishes his ticket way faster than imaginable and is left with nothing else to do?
what does a company do, if you don't have any projects to work on, do you still get paid or do you pretend to work on something, while doing nothing and minding your own stuff?

>yes, does it ever happen that someone is so good that he finishes his ticket way faster than imaginable and is left with nothing else to do?

tickets should be far enough ahead of dev work that even if all planned work is complete you can start work on features planned for future sprints.

if there's nothing for you to do in my company devs have to study up and go take bullshit certificate exams

I see, what about work hours? Do you plan on finishing a given project just around the deadline or as fast as possible? Does that translate into having to work 8 hours per day five times a week or sometimes even more hours and then also work from home for fun?

just want to stress here that all this is really company dependent, and especially for this answer from what i know this is actually rarely the case

but yes it translates into regular work hours, overtime is looked down upon and discouraged because management doesn't want you to burn yourself out. in the hopefully rare cases where it is necessary it is compensated extra

Okay. Overall, how would you rate your job? Does it provide the life you want? Do you save money, what are your benefits? What are the biggest disadvantages and advantages? What would you advise to someone in college or out of college? What would you change in your carrer and where do you want to be in future?

you are starting to sound like a recruiter my man
save me some time and ask me what you actually want to know

>What would you advise to someone in college or out of college

watch out for people looking to take advantage of you, this is much more likely in small start-ups than established companies. look for companies that value their developers and involve them in decision making process. do not overspecialize in one technology/framework/language

Just want to get a feel for what I'm getting myself into.

If you're on a salary, yes you still get paid. Salary is for a fixed set of hours. Usually you never run out of work though.

Ukranian*