Quote:
Originally Posted by Beasting
As far as sw development jobs go, how much of a typical 8+ hour day are you actually "working?" The one tech job I did have, only involved maybe 2-3 hrs/day (on average) of actual software work. The rest of the day was spent pretty much surfing the web, emailing friends, etc. It got really boring. I actually wanted more work, though I'm not sure 8-10 hrs a day of coding wouldn't have driven me mad. Can anyone comment on this? What do the majority of jobs offer in terms of actual "work," throughout a typical day, and is there a sweet spot in terms of how much coding is just right?
My work is split between front end (AngularJS/Angular5 javascript/typescript) and devops/cloud/SRE whatever you want to call it. I would say a typical day of work is split up as:
50% coding (including debugging -> swearing at monitor)
20% reading/learning
10% designing/discussing code or system architecture/'grooming' stories (estimating how long a feature would take and offering input to the designers/product owner)
10% reviewing other people's code
10% the standard mundane admin tasks which come in any job (including poker!)
I enjoy it all very much. Problem solving is infinitely satisfying. HTML/CSS is damn boring but once you know it you know it and it becomes second nature (CSS perhaps less so, but just learn it if you want to do any front end web stuff).
Quote:
Originally Posted by Beasting
I can see how building things from scratch can ramp up the learning curve really quickly. My problem is I'm such a beginner I don't even know where to begin. Literally the only thing I may can do is construct a super simple static, generic, boring web page. Given that info, what would you recommend as for building something or else getting tools under my belt first?
Do you know how host this static webpage? How to spin up a local server? Even better, host it in the cloud (read up on AWS, Google Cloud, Azure - huge topics but lots and lots of tutorials/decent documentation). If reading up on AWS, start off with S3 or Elastic Compute Cloud.
Don't think anyone has suggested this here which I'm surprised at, but I would get very comfortable in the command line. Terminal on MacOS/Linux or Windows Powershell. You will spend a lot of time in here.
Pick a programming language and learn the very basics. I suggest either Python or Ruby - these both have terse syntax so are easy to read, harder to make mistakes with + have a large online community where people will have fallen in similar pitfalls. Google your question and odds are it has been asked on StackOverflow.
Once you are comfortable with these languages then I'd definitely recommend learning a bit of Javascript and a solid backend language, like Java (object oriented programming) or Scala (functional).
If you are a totally new to programming, in your chosen first language ask yourself these questions:
- What data structures exist and how do I manipulate them?
- How do I make the program do something if a condition is met? e.g. if the sum of some numbers matches something else, display some text.
- How do I make the program repeatedly do something until a condition is met? e.g. a counter reaches a certain point
- How can I read the contents of a text file sitting in my filesystem?
- How do I print to stdout?
Some ideas off the top of my head for first programs to write if you are true programming n00b (all these programs should be designed to run in the command line, i.e. by running your insert_cool_name_here.py file):
- A program which asks certain questions and accepts user input (stdin). Displays specific text depending on the user's input. Like a very simple MUD game.
- Create some random files in some folder on your computer. Name a few of them in a similar way, give some of them the same extensions (e.g. .txt, .mov, .pdf). Now write a program which, when run and given the path to these files, rearranges them into specific folders depending on their extensions, or filenames or some other metadata you can pull from the file in a different to way to just parsing the filename.
- A program which, at random, will show you some different output
Quote:
Originally Posted by JC2612
Want real freedom? Learn to code, put in your time at some companies and work your ass off learning as much as possible, and start freelancing after 3-5 years. $100.00 an hour contracts aren't hard to find for solid devs. Set your own hours and variance free money (sort of, contracting downtime is its own form of variance).
+1million