Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. The fear of "Not doing things right" when coding

The fear of "Not doing things right" when coding

Scheduled Pinned Locked Moved The Lounge
architecturetutorialjavascriptasp-netdatabase
28 Posts 23 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Ron Anders

    There is a saying in the recording industry, If it sounds good, it is. Take this forward. If it works, it's good. Don't let any of the coding Scribes and Pharisees tell you different.

    S Offline
    S Offline
    Slacker007
    wrote on last edited by
    #12

    Ron Anders wrote:

    Don't let any of the coding Scribes and Pharisees tell you different.

    Then who will do his code review. How will he know if he is doing it correctly, or not?

    Ron Anders wrote:

    If it works, it's good.

    Huh. Really? Does anyone here actually code for a living?

    D 1 Reply Last reply
    0
    • T TheOnlyRealTodd

      As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

      S Offline
      S Offline
      Slacker007
      wrote on last edited by
      #13

      TheOnlyRealTodd wrote:

      who has not worked professionally yet,

      If you are just a hobby programmer and have no aspirations to make it a profession, then just do your best and try to get someone in the community to help you and review your work. If you are thinking about making this a profession, then get in with a company at the bottom level and learn as much as you can. If this is the profession for you, then you will do fine and it can be a very rewarding career. If you are not making any mistakes, then you are doing it wrong. -- Good luck. :)

      1 Reply Last reply
      0
      • T TheOnlyRealTodd

        As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

        K Offline
        K Offline
        KarstenK
        wrote on last edited by
        #14

        No one does it "the best way", so dont be too afraid of making mistake. The right way is, to make a project a success: shipped in time and with budget and no major bugs/issues. Make a prototype of the project and study the use cases. If they are fine - then you are ready for coding.

        Press F1 for help or google it. Greetings from Germany

        1 Reply Last reply
        0
        • S Slacker007

          Ron Anders wrote:

          Don't let any of the coding Scribes and Pharisees tell you different.

          Then who will do his code review. How will he know if he is doing it correctly, or not?

          Ron Anders wrote:

          If it works, it's good.

          Huh. Really? Does anyone here actually code for a living?

          D Offline
          D Offline
          David_Wimbley
          wrote on last edited by
          #15

          Just get it working is a common thought process in a lot of companies. The end user doesn't care if you're code is neatly organized and beautiful or that you used the latest and greatest framework that has super duper cool functionality...they only care that the application works. Compound that with managers who aren't technologically inclined (people managers), this thought process is even worse. You apparently have been extremely lucky in your career, incompetence is a real problem in all industries...programming is certainly not excluded from that.

          1 Reply Last reply
          0
          • T TheOnlyRealTodd

            As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

            M Offline
            M Offline
            Marc Clifton
            wrote on last edited by
            #16

            TheOnlyRealTodd wrote:

            What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?"

            To which the CTO then walks in and says, oh, that approach is too complicated for the junior devs to understand, you should code it like you did first.

            TheOnlyRealTodd wrote:

            One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?"

            When you factor in the intangibles by asking yourself how easy is it to test, to maintain, to extend, to find and fix bugs, to change when the requirements change, as well as things like what dependencies do I have that I don't have any control over, that might break my code in the next revision, or that kill my product when the third party no longer supports the stuff my code depends on, and then you ask yourself even broader questions like, what parts are re-usable in other projects, what happens when we want to port the app to another platform (or take a web app and make it a client app, or vice-versa), and then of course there's the questions of security, performance, usability, customer configurability, language support, internationalization... ...well, when you're done considering all those (and all the other things I didn't think of in the last minute)... ...then you realize that those zillion's of ways of doing something pretty much reduce down to a set of ways you could probably count on one hand. But how you get there, well, you either learn from your mistakes or you find a mentor that can actually tell you the all important "why." The "why" is what is so greatly missing in the whole field of software development. We have all these open source projects that tell you what and how, but rarely do they tell you why -- Why are we doing things this way? Why are we suggesting you do things this way too? Look at jQuery's home page: What is jQuery? jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript. Or vue.js: R

            1 Reply Last reply
            0
            • T TheOnlyRealTodd

              As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

              R Offline
              R Offline
              Roger Wright
              wrote on last edited by
              #17

              Do you suppose the kids who started Google knew all the professional "rules" that seasoned pros know? Heck, no! Your project sounds like an interesting one, and one that's worth doing. Do it your way, and if it turns out to be the next killer app, people will be studying "your way" to learn how to code. :-D Run with it!

              Will Rogers never met me.

              1 Reply Last reply
              0
              • T TheOnlyRealTodd

                As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

                M Offline
                M Offline
                Munchies_Matt
                wrote on last edited by
                #18

                TheOnlyRealTodd wrote:

                you wouldn't want to learn how to drive stick on a nice car like that

                Er, yes! I wold have loved a car like that when I learnt to drive! Have some self confidence and get on with it. There are many ways to skin a cat, just because your approach is different to someone else's the proof of the pudding is in the eating. If it works and its stable its good, period. Of course be prepared to learn too. No one expects a junior engineer to have all the answers. Takes time to learn you know.

                1 Reply Last reply
                0
                • T TheOnlyRealTodd

                  As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

                  A Offline
                  A Offline
                  AndyONeill
                  wrote on last edited by
                  #19

                  Is this just a hobby project you have in mind or a commercial product? With the latter then I think it's an idea to learn to swim properly before jumping in the deep end.

                  1 Reply Last reply
                  0
                  • T TheOnlyRealTodd

                    As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

                    I Offline
                    I Offline
                    irneb
                    wrote on last edited by
                    #20

                    I feel your pain, been there myself. Sometimes still think of things to do which will simply take too long, or where I'd need to study up on special libraries/frameworks/etc. and again "take too long". But if I've learned anything, it was always from making mistakes. All the courses, the books, the tuts, the examples, etc. ... all of them ... bar none ... only ever guided me into what I actually needed to "learn". It was only once I actually "did something" when I truly started to get the hang of this thing called programming. And even then, I still made lots of mistakes (still do even decades later) - you need a thick skin and the ability to laugh at yourself (else you'll get your feelings hurt and go mad). The trick for me was to start off small. Partly I was fortunate, since my aim was for 3d modelling & rendering - in most cases my "projects" were nothing more than extensions to existing programs. So finding some idea which could easily be implemented in a matter of weeks (or even days) wasn't that difficult. It was only around 5 years after starting that I did anything closer to 1000s of LOC, and even later when I needed to combine several different aspects (like tying to a DB, adding web interface, etc.). But this does make newer "big-picture" ideas more difficult to do on your own, usually really impractical without a full team to work on different parts. What makes these ideas worse is the fact that I'm not full time on them, I've got a day-job (diagonally related to programming) so the hobby programming ideas always take a back seat. My advise: Try to be courageous, don't let any critique get to you (use it instead to try and learn). Try to see if parts of your "big-ideas" can be implemented on their own. E.g. perhaps look at just making a parser for the google data first, or a DB to hold such searchable info, etc. etc. Don't worry too much about making each into the Mona-Lisa of code, definitely don't waste your time in optimizing them to death (that effort would most likely be completely useless). Next try to see if you can modify these to combine them. You're most probably going to run into issues, I can nearly guarantee that, and these are when you realize the "mistake" and then learn to make it "better". Note, "mistake" is not necessarily something you did "wrong", just that it either doesn't work in your scenario or it makes something else cumbersome / inefficient / unworkable / etc. Even if you did everything "perfectly" and others pray to your code as a new religious tome, it might stil

                    1 Reply Last reply
                    0
                    • S Slacker007

                      Duncan Edwards Jones wrote:

                      it is very low cost to tear down and repair if you get it wrong

                      :confused: No offense, but what company do you work for where development is cheap and inexpensive? I would think that your statement only holds some truth with "hobby" programmers, and not people like me.

                      U Offline
                      U Offline
                      UziTech
                      wrote on last edited by
                      #21

                      agreed. I am in the middle of rewriting an old application that was done the "wrong" way and it is most definitely not inexpensive for the people that are paying me. That said, I still believe "go for it" is the correct advice. For my employer it probably would've cost more to not have this application written. I deal with this fear every day but you just have to remember all software will become legacy eventually.[^]

                      1 Reply Last reply
                      0
                      • T TheOnlyRealTodd

                        As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

                        K Offline
                        K Offline
                        Kirk 10389821
                        wrote on last edited by
                        #22

                        Let me give you the outsiders view of INTUIT. They started with an electronic way to balance your checkbook! It was horrible code. But it fit a need. They parlayed that into QuickBooks. At first the accountants HATED QB. Because it let normal people (like me) do accounting. And do it fairly well, or fairly wrong, depending. Then Intuit focused on tools for the Accountants, so they could process the files, etc. (My brother is a CPA, certified in QB). For many years QB Sucked for multiple users. They made MILLIONS along the way. Their QB Online. Kinda sucks, and is missing key, obvious features (Like an External Customer ID to link customers in QB to customers in the clients DB, in a unique fashion). OMG. They missed that? The point of this dribble is that Perfect Software doesn't always sell. Don't focus on perfection, focus on getting it working, and scratching the itch. It can always be rewritten later, if it is successful. QB was rewritten about 4 times. So, you are running into the old paradigm: Fast, Right or Cheap: Choose 2! (You cannot optimize for all 3). Since you are doing it yourself, and without funding. CHEAP is now there. So, you are contemplating your choices. Do I do it RIGHT? Or do I do it Fast? (Getting it finished). How much is an unfinished movie or book worth? (About nothing, there are a zillion of them). [Ignore getting paid (raising money) to finish a good story, unless that is your intent] Hopefully this helps you see where you are at. At one point in my career, we released a stable (but unfinished product), with the ability to push updates out to the clients throughout the US. We were YEARS behind the competition. But in the first year, we averaged 2.5 updates per week EVERY WEEK. 99% of the updates were stable and added missing functionality that reduced work effort of the customers. Within a year, we were on par with the other software. And 6 months after that, we were ahead of them, and all the buzz. And we never stopped for a couple of more years, when they closed up shop. By then our updates were down to 1-2/month, but we did not need so many. A Stable framework that is safe/easy to update goes a long way. Updates are guaranteed to happen. To me, focus there, the rest will take care of itself. What is wrong with Publish/Feedback/Develop/TEST/Publish... as a cycle? It will get you where you are going. Just try not to break it. If you do, fix it quickly!

                        I 1 Reply Last reply
                        0
                        • T TheOnlyRealTodd

                          As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

                          P Offline
                          P Offline
                          patbob
                          wrote on last edited by
                          #23

                          TheOnlyRealTodd wrote:

                          Is this realistic or is coding not like that and should I just go for it?

                          How do you think all those people who know the "right" way to do things from experience, got that experience? Just go for it. You'll learn a lot along the way, and if you manage to architect it right from the beginning, then you'll find it easy to upgrade parts as you go along. If you botch the design part and make it hard to upgrade parts, well, you'll learn how to do that better too, and worst case, you'll have a running product that's a pain to maintain, just like so many other running products :) If you're still concerned, write a throwaway proof of concept. Feel free to take shortcuts that you'd never do for production code on the parts you already feel you know how to architect well because, after all, you're going to throw away the bad bits anyway. Copy-paste the good bits (possibly with some modification) to the real code when you write it.

                          We can program with only 1's, but if all you've got are zeros, you've got nothing.

                          1 Reply Last reply
                          0
                          • T TheOnlyRealTodd

                            As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

                            I Offline
                            I Offline
                            Ilias Tsakiridis
                            wrote on last edited by
                            #24

                            What I did(still do), I read other programmers code, I send my code to friends that are more experienced than me and tell them to judge me hard! Trust me it helps.

                            G 1 Reply Last reply
                            0
                            • I Ilias Tsakiridis

                              What I did(still do), I read other programmers code, I send my code to friends that are more experienced than me and tell them to judge me hard! Trust me it helps.

                              G Offline
                              G Offline
                              gt2847c
                              wrote on last edited by
                              #25

                              Seconding this point... but to one of the original concerns, if you are afraid to write, it's hard to have someone review it to give you that advice... Additionally, be objective with the response you get. When you create something, there's a tendency to fall in love with it. Be prepared to throw something you wrote out and start over.

                              "Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety. " -- Benjamin Franklin, 1759

                              1 Reply Last reply
                              0
                              • T TheOnlyRealTodd

                                As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure. But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?" It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should. Is this realistic or is coding not like that and should I just go for it?

                                U Offline
                                U Offline
                                User 10592457
                                wrote on last edited by
                                #26

                                I used to have same problem (fear of 'doing it wrong'), but after getting a look at some 'professional' code, and working with a few third party APIs, I quickly began to realise that most 'programmers' have very little, if any, idea what they are doing either. The best advice I can give is just give it try, get something (seriously anything) working, and don't be afraid to throw it all out and start again. You will start to understand the problem, and your tools, much better each time, and once you have something that is 'good enough' you can go from there.

                                1 Reply Last reply
                                0
                                • K Kirk 10389821

                                  Let me give you the outsiders view of INTUIT. They started with an electronic way to balance your checkbook! It was horrible code. But it fit a need. They parlayed that into QuickBooks. At first the accountants HATED QB. Because it let normal people (like me) do accounting. And do it fairly well, or fairly wrong, depending. Then Intuit focused on tools for the Accountants, so they could process the files, etc. (My brother is a CPA, certified in QB). For many years QB Sucked for multiple users. They made MILLIONS along the way. Their QB Online. Kinda sucks, and is missing key, obvious features (Like an External Customer ID to link customers in QB to customers in the clients DB, in a unique fashion). OMG. They missed that? The point of this dribble is that Perfect Software doesn't always sell. Don't focus on perfection, focus on getting it working, and scratching the itch. It can always be rewritten later, if it is successful. QB was rewritten about 4 times. So, you are running into the old paradigm: Fast, Right or Cheap: Choose 2! (You cannot optimize for all 3). Since you are doing it yourself, and without funding. CHEAP is now there. So, you are contemplating your choices. Do I do it RIGHT? Or do I do it Fast? (Getting it finished). How much is an unfinished movie or book worth? (About nothing, there are a zillion of them). [Ignore getting paid (raising money) to finish a good story, unless that is your intent] Hopefully this helps you see where you are at. At one point in my career, we released a stable (but unfinished product), with the ability to push updates out to the clients throughout the US. We were YEARS behind the competition. But in the first year, we averaged 2.5 updates per week EVERY WEEK. 99% of the updates were stable and added missing functionality that reduced work effort of the customers. Within a year, we were on par with the other software. And 6 months after that, we were ahead of them, and all the buzz. And we never stopped for a couple of more years, when they closed up shop. By then our updates were down to 1-2/month, but we did not need so many. A Stable framework that is safe/easy to update goes a long way. Updates are guaranteed to happen. To me, focus there, the rest will take care of itself. What is wrong with Publish/Feedback/Develop/TEST/Publish... as a cycle? It will get you where you are going. Just try not to break it. If you do, fix it quickly!

                                  I Offline
                                  I Offline
                                  irneb
                                  wrote on last edited by
                                  #27

                                  That's a very good idea: Design for change. Although it usually means "fast" isn't exactly as "fast" anymore. Simply because such design-for-change tends to guide a programmer down a rabbit hole of "what sort of changes can be made". This tends to be one of the culprits in writing zombie code (especially if you organize in OOP structures). But I guess experience would teach you to avoid the pitfalls.

                                  K 1 Reply Last reply
                                  0
                                  • I irneb

                                    That's a very good idea: Design for change. Although it usually means "fast" isn't exactly as "fast" anymore. Simply because such design-for-change tends to guide a programmer down a rabbit hole of "what sort of changes can be made". This tends to be one of the culprits in writing zombie code (especially if you organize in OOP structures). But I guess experience would teach you to avoid the pitfalls.

                                    K Offline
                                    K Offline
                                    Kirk 10389821
                                    wrote on last edited by
                                    #28

                                    We got there pragmatically. We knew we would be updating the software frequently, and in the industry, it was not uncommon to have to schedule an update per client site. We simply did not have the people power to do that. So, by making the software run an Auto/Optional update (so we could tweak/test things that were ignorable by the users) we could really push updates out. We did 10 updates in a single day in the beginning. I was on site, and every hour we were releasing optional changes as fast as we could. I don't try to make my OOP stuff that way. I simply try to keep the coupling low enough, that if we have to change, we can. Some changes SUCKED (I will be honest). When we went from Grids that were single select to multi-select. We had to refactor a LOT of code. And worse, it confused new users a lot, so it became a MODE you turn on. Ugghhh. But it worked. New users were happy and learned quickly, and power users could turn on multi-select, select 30-100 records and click Print File Label. And get the file Labels (Printed in the order they were on the screen), as opposed to 30-100 clicks of the Print File Label button. More like: Assume changes are going to come down the pipe. Where do you want to spend your time. Helping people install the new software, or getting more changes made? Find your pain, and eliminate it. Thanks!!!

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • World
                                    • Users
                                    • Groups