Sinisterly
A Programmer's life (Looking at programming as a career) - Printable Version

+- Sinisterly (https://sinister.li)
+-- Forum: Coding (https://sinister.li/Forum-Coding)
+--- Forum: Coding (https://sinister.li/Forum-Coding--71)
+--- Thread: A Programmer's life (Looking at programming as a career) (/Thread-A-Programmer-s-life-Looking-at-programming-as-a-career)



A Programmer's life (Looking at programming as a career) - Inori - 03-27-2015

Hey all.
I seem to be a bit behind in my personal quota of HQ threads so here's a nice fat one focusing on the career field of programming.

Job Description/Job Duties


The main tasks of a Computer Programmer can differ from junior to senior positions but no matter how high up the chain you are, you will always have to do at least the following:
  1. Analyze the specified tasks your software needs to perform
    a. Pick apart the request, find out the basic data structure, see what methods you can use and which you’ll need to define yourself

  2. Plan out a framework
    a. Like #1, but focusing more on data structure, methods, loops, arguments, custom definitions (for languages like Python, Ruby and especially anything from the C family [C, C#, C++, Objective-C, etc..]), and statements)

  3. Write out your code
    a. Method by method, definition by definition, line by line. It’s not too hard if you took the time to analyze and plan, just very tedious.
  4. Document your work
    a. The README.txt is very important for any code released to Github or similar sites as it tells the user how to operate the software
    b. It also contains the copyright and license information (I personally put that in the head of my code)

  5. Test it out
    a. The fun part. You need to test every function of your software to make sure it functions exactly as needed.
    b. Testing usually happens all throughout writing your code and before documentation, to sniff out bugs easier.



Educational Requirements


There are no qualifications legally required for a career in programming but most employers require a certain level of education. Large corporations (Microsoft, Sony, Apple), computer companies (Dell, HP, Razer) and government organizations (FBI, CSIS, MI6, GSG9, etc..) usually require a 4-year bachelor’s degree while smaller companies might require a 2 to 3-year diploma.

There aren’t many certifications to be earned in the programming field (Save a few for C++ and Java) but the more educated you are, the more likely you are to succeed.




Earnings/Wages


Although many Canadian Programmers (I live in Canada so just deal with it Cool ) are permanently employed by large companies or government agencies, a large number have gone freelance.

Salary can vary from Dev to Dev, depending on education, experience, employer, location and responsibilities. System Programmers (OS and Distro creation) generally earn more than Application Programmers (Script writing and game creation with DirectX/OpenGL)

All programmers can expect to earn €30,000 - €75,000 ($40,000 - $100,000 CAD) per year.




Working Conditions


Don't vary much from place to place. The average and ideal conditions would be you, sitting at a desk in an office writing code with a cup of coffee.

While working for a company, a Programmer can expect 40-50 hours of work per week with possible traveling to meet with clients. Freelance Programmers make their own hours and working conditions.




Job Satisfaction/Stress


Stress

There is a common stereotype for most programmers – the hacker.
The hacker works long, sleepless nights writing tens of thousands of lines of code, surviving off Cheetos and Mountain Dew. This approach (which I took for a few weeks in 8th grade) sucks. It’s slightly more productive but you’re always tired, getting less work done, and more often than not, in a really bad mood. It also takes its toll on your health over time.

Most Developers take the regular path of an average work day (8-10 hours) and a nice amount of sleep. Knowing this, I’d say there’s not much stress involved other than deadlines and the frustration of a bug you can’t find.

Satisfaction

Most of the satisfaction of being a programmer is seeing your code work flawlessly after hours, days, weeks, months or even years of work. It’s so incredibly relieving and satisfying. Admittedly, I’ve thrown a party for completing a big project more than a few times.




Sources


Career Cruising
https://www2.careercruising.com/careers/profile-at-a-glance/108

Grokcode
http://grokcode.com/20/measuring-programmer-job-satisfaction/

Sinisterly – A few very good friends of mine (@Psycho_Coder and @Deque)
https://sinister.li/Thread-Programming-language-FAQ-and-choosing-guide



Word Document format:
[attachment=261]


RE: A Programmer's life (Looking at programming as a career) - OversouL - 03-27-2015

Nice HQ thread just what SL needs. Also you forgot to mention if that salary quote is yearly or monthly. Smile