5 ms·
My answer to the second question would be to spend as much time on it as you find enjoyable. If you don't find any amount of time programming enjoyable then yo
by fatalerrorx3 15y ago
My answer to the second question would be to spend as much time on it as you find enjoyable. If you don't find any amount of time programming enjoyable then you're going into the wrong field.
As an example when I was first starting out I would spend 8+ hours a day programming because I found it to be a lot of fun (this was when I was in middle school, after being in school for a full day)
Currently I'm 23 and work at an early stage healthcare IT startup and I still get the same feeling from programming as I did when I first started, and I can spend hours working to solve all the problems that popup throughout product development. Sometimes I get so wrapped up into solving a problem that I have a hard time falling to sleep because my mind is constantly thinking about how to solve it, and I actually do tend to come up with a lot of my solutions during the 10-15 minutes before I finally get to sleep.
I might be predisposed to programming though because my grandpa was a programmer for over 25 years and I was always fascinated by his stories on the job
- billpatrianakos 15y agoI totally get that! I started writing code when I was 11. Now I'm 25 and I too am kept awake late nights thinking of problems I can solve and things I want to implement the next day. I often get so wrapped up I get tunnel vision, work obsessively, and I still can't keep up with all the cool stuff my mind brings back to me when it wanders late at night.
- chunky1994 15y agoI do enjoy programming a lot! Most often though, I find myself solving random problems, I begin to feel that my programming isn't really going anywhere, for example, how do you start writing application software? I mean, it's certainly interesting, but I can never get myself to actually write such a disciplined piece of code, partly because I don't know how.
- billpatrianakos 15y agoThe problem that stops a lot of people is that they see something cool and they want to do it too. The problem is that you can't just start off writing a GUI app from nothing. You have to get the basics down first. For software you first have to understand the basics of procedural programming and write simple programs that run in the terminal. When I learned C++ I first learned simple 'cout >> "whatever"' programs with if statements. Knowing this kept me from being frustrated because I understood I had to climb the proverbial "ladder". I'm a web guy and I'm able to make some pretty cool interactive stuff now but as a beginner I had trouble changing background colors and floating elements in a row. That's the thing that stops people. They're frustrated because there's no easy way to learn how to do the things they see and want to copy without learning the absolute basics first. Patience is a serious virtue when you're a programmer.
- chunky1994 15y agoWell, I've written a few simple applications, but what I can't really get is how to actually start on a big application? I mean, do you just have to break it down into little pieces and then put them into a whole? Isn't this a very frustrating method of doing so? Is there a better method? Or is this a necessary vice you'll have to overcome?
- devs1010 15y agoModularization is a good thing, not a bad thing. With a large project its better to think of it as a set of components rather than one whole. At my current job we are stuck with a large monolithic legacy application and everyone is in agreement to break it into modules, which we are currently working on. Try to pick out the core "units" of a project that can be relatively self contained and work on those first. You should learn not to worry about starting with the UI, the UI shouldn't necessarily drive a software development project.
- billpatrianakos 15y agoYou're definitely showing your inexperience with that comment and that's okay, you'll learn. Even when you're writing procedural code you have to break it down. That's what programming is all about. It's really the beauty of it. By breaking down your app into a bunch of smaller problems that you solve you make it much easier on yourself. I think you should look into learning object oriented programming concepts. Breaking things down is a really good thing. Not only is your code easier to maintain but it's easy to test and extend. If you were to write one giant program all at once and it fails to work then you have to tackle hundreds of lines of code. By building things as modules you are able to implement functionality one class at a time and know one thing works before moving to the next. My advice would be not to try to start a big application. If I knew what you wanted to build I could be more specific but let me give you an example. Let's say you wanted to build a music player. Instead of tackling a huge iTunes clone start by creating an app that simply lists and organizes music files in a particular folder. Then add support for playback. Then playlist creation and so on. Taking on too much at once is a noob mistake that kills the motivation to learn before you get anywhere. There was a 3 year period where I almost gave up on programming because I tried to skip over the fundamentals and got frustrated. Take it slow.