13 ms·
I’m young, inexperienced and a perfectionist
- alexvr 13y agoWhen I read the title, I thought, "Hey, that sounds just like me." But after reading it, I realized that his use of "perfectionism" as an excuse is just incomplete. Perfectionism can explain underperformance, certainly. A perfectionist might write half of a timed essay, and the part that exists might be outstanding. But incomplete or slow is generally insufficient when it comes to a job. While he may suffer from a bit of perfectionism, that's not what holds him back; he's simply indecisive and using "Oh, I'm rewriting everything" as an excuse for his incompetence, uncertainty, or anxiety for solving the actual problems. "Rails vs. Node.js" is a contrived, invented problem. It's really easy to blame things on the language or framework when things are tough, but I think everyone does this to some extent; it's not a problem faced exclusively by perfectionists. Wise perfectionists understand that perfection is impossible. I think the best programmers, overall, are both pragmatic and perfectionistic. People just have to get over their overwhelming preference for one or the other and use both to their advantage.
- jdmitch 13y agothis is a bit of a humblebrag isn't it...
- freyr 13y agoNot really, since he describes how his youth and the traits that often go along with it (exuberance, relative inexperience, idealism, desire to be hip), have been actual obstacles to his progress.
- deleted 13y ago[deleted]
- socialherp 13y agoadditional comment brainlessly arguing your point as it isn't positive.
- deleted 13y ago[deleted]
- jasonlotito 13y ago> I am not very focused and easily distracted. Unless you are embellishing, get checked for ADHD. Disclaimer: I have ADHD and OCD.
- savvidis 13y agoI agree, the whole post sounded very ADHD
- delinka 13y agoI'm not ADHD. I do, however, love chasing rabbits right into their holes. And exploring the intricate network of passages they've made. What I mean is that as I search for a solution in the API docs, I stumble across other things that look interesting. Or bits of detail that further explain how this library is built. Or explain the dependence of this function on a specific language feature. It's fascinating. And ultimately, that information makes me a better coder ... but it seldom solves the immediate problem. And now I've got all these ideas for new projects. Or ideas for future features for this project. I feel focused (on obtaining my goal) but distracted. Or maybe I'm building a new system. But to support feature F, I need this library. To serve feature Q, I need that daemon. To support that daemon, I need a database engine ... but nope, it doesn't support PostgreSQL. To support the database engine, I need a logging daemon with feature L that the bleeding edge metagammalogd doesn't offer. And why am I building all this again? At this point, I'm feeling not focused and also distracted.
- lancer383 13y agoAre you sure? I came right into the comments and did a Command+F for "ADHD", as this is what I thought as well. Know that all types of ADHD aren't the same, and specifically that there is ADHD without the outward hyperactivity. Look up "Inattentive ADHD" - I am 30, and up until this past year I just thought that I had issues with procrastination, lack of follow-through, and was easily distracted. Does this sound like you? - Underperformed in school, despite being incredibly bright. - Frequently didn't complete homework in school. - Easily distracted. - Shifts from one uncompleted task to another. - Frequently skips large sections of text when reading. - Procrastination. - Frequently switches jobs
- volume 13y agoIn all seriousness I believe I have pretty sharp Internet sarcasm detection skills but I can't tell without more context how much of this post is sarcasm? If others didn't see it that way, can you re-read it again through a "this is pure dripping sarcasm" lens/filter? I read it as a sarcastic detailed break down of the excuses new developers use nowadays to justify their lack of discipline. Or.. am I wrong?
- JonnieCache 13y agoIt's that even more annoying modern invention: post-irony, where the writer doesn't have any faith in their own ideas so they hedge their bets with this strange kind of noncommittal sarcasm. It is the plague of the modern age, and the real reason why hipsterism is so hateworthy.
- volume 13y agoIf possible, I tend to look up words/terms I've not heard of: https://en.wikipedia.org/wiki/Post-irony https://en.wikipedia.org/wiki/Post-irony ... are you saying in my effort in sounding all serious and sincere, that I, in fact, align myself with hipster philosophy and world views?
- JonnieCache 13y agoNo. Unless your sincerity is merely the surface layer below which there is sarcasm, then another layer of sincerity, then a layer of irony, then more sincerity, and so on to the point where you have absolutely no idea of what your real opinion is, because you never had one in the first place. Notice how 5-10 years ago, people were wearing ironically bad second hand clothes from the 80s, because it was fun, and it marked them out as "in on the joke." Then over time, that became so much the fashion that the definition of "good" clothes realigned itself to cover these things, so now people are walking around with handlebar moustaches, tie-dye hotpants and wolf moon shirts thinking its completely normal. The lines have been blurred, "good" and "bad" are slowly breaking down as concepts, replaced with "in" and "out." The only way to escape it is to simply not think about any of it, and have absolute faith in your own objective internal preferences, whatever they are. Aesthetics is the only arena of thought in which fascism is not only acceptable, but morally right. Make full use of this fact. EDIT - see also: the rapgenius blog currently on the frontpage: http://news.rapgenius.com/Lemon-how-rap-genius-raised-s18m-in-seed-funding-without-knowing-what-we-were-doing-lyrics http://news.rapgenius.com/Lemon-how-rap-genius-raised-s18m-i...
- quackerhacker 13y agoI think coding kinda forms us to be perfectionists, because a small mistake can disable entire programs. I'll share my epiphany that I've learned from HN that PG said...if we're not embarrassed at launch time, it's too late. Being a perfectionist my self, it's a brilliant statement.
- eightyone 13y agoReid Hoffman, founder of LinkedIn, has a similar quote, "If you're not embarrassed by the first version of your product, you've launched too late." I don't know if one came before the other. Reguardless it's a good sentiment to have. The only thing that matters is launching. You can find the perfect shade of blue for that button after you launch.
- quackerhacker 13y agoFunny you mention styling, this is where a lot of my time gets consumed...CSS3 (love & hate)
- dsowers 13y agoHe has a lot to still be embarrassed about. LinkedIn is the worst interface I've ever seen.
- jaredmcateer 13y agoI don't know I've met my fair share of lazy "good enough" programmers that happily reuse code they wrote months, even years ago.
- jmagoon 13y agoWhat's wrong with reusing code? Isn't that exactly what libraries (and frameworks) are for? Isn't that a fundamental programming principle (code reuse)?
- zhemao 13y agoYeah, I don't see the problem with this. If the code is known to work, why do it over again? Just because it's a month old doesn't mean it's necessarily bad. Remember, laziness is one of the three primary virtues of the programmer. http://c2.com/cgi/wiki?LazinessImpatienceHubris http://c2.com/cgi/wiki?LazinessImpatienceHubris
- deleted 13y ago[deleted]
- peteacc 13y agoI understand your viewpoint, but I wholeheartedly disagree. He said that he started the project with almost no experience. Cut the guy some slack! Learning on the job is difficult, especially working within the confines of another job. Putting people down is not really what this site is for. It is for spreading interesting articles and engaging a positive community. Quit being be a dick x
- socialherp 13y agoYou and people like you is why this site sucks now. Your comment exemplifies my point better then I ever could.
- lampe3 13y agoit was his first project plus he learned rails in his free time... honestly i dont think saying he is a bad developer is fair.
- socialherp 13y agoAnd you know that how? From the code he never posted? Argumentative hipster is argumentative.
- hi2usir 13y agoPoor guy. You are supposed to learn in your off time while taking home a cushy corporate paycheck, then quit and take over the world!
- deleted 13y ago[deleted]
- jakobe 13y agoThat's why I still use vanilla PHP & Postgres for web projects. I don't use any hot new technologies, I don't use frameworks, I don't do unit testing. I try to use as little client side JS as possible. Whenever possible, I use static HTML. The advantage is that I can create a working prototype in days. I can show something to the client very early, and I don't spend months to fulfill specifications the client didn't really understand in the first place. When I leave the project, any PHP developer will be able to pick up and implement changes within hours. My code isn't elegant in any way, but it's simple.
- fein 13y agoI took the same approach for a while up until I started rolling my own framework to speed things up. Now I just stick to Yii + postgres. Backend gets developed first with Yii's code gen tools, then the sexy ajax fun gets put into the clientside and the auto genned CRUD code gets extended to pass any additional fields I need back to the client. Yii's CRUD code gen is incredibly nice to work with off the bat, so it really comes down to customizing json form validation messages and packing some partials views in with the response. edit: It has ended up being that a good 70% of my time in web app dev is devoted to the tedium of changing little UI crap (Can this blue pop a little more? Can you put some shadowing here? I like this slider but I'm not feeling hyped about it... repeat ad infinitum), and not so much with complex backend work. It takes about two days, as you said, to get the server code going strong, and then two weeks to move divs around by an em here or there.
- merlincorey 13y agoI prefer microframeworks like Flask, because I can get prototypes up in hours that incrementally become what it's supposed to be, scaling well to a large complicated application with deployments, unit tests, and documentation.
- PhilipA 13y agoSome of the fun for a lot of us is to try out new technologies, when creating a new projekt. It simply motivates me more, when I also have to learn new stuff, and not just do the same old.
- 13y ago
- mgkimsal 13y agoabout half the people in my developer peer group fit this description, especially the 'rails to node' path (well, not all 50% did rails->node, but more than a couple did, precisely because of the reasoning in the article).
- edw519 13y ago56 instances of the word "I". That's your problem. All the rest is fluff. OP, try rewriting this, substituting "he", "she", "they", or "you" for "I". Funny how quickly your perceived problems melt away as soon as you stop dwelling on yourself and start focusing on others. Edit: I realize that OP is being slightly sarcastic, but I took this as an opportunity: This is a condensed version of pretty much the same feedback I've been giving people struggling with themselves for years: It's not about you! As soon as you get that, you can move on. A recent instance: https://news.ycombinator.com/item?id=5763484 https://news.ycombinator.com/item?id=5763484
- simonbarker87 13y agoWasn't the OP's intention to write about themselves though? Changing I to he/she etc doesn't seem like it would make much sense? Could you expand on what you mean?
- Spooky23 13y agoIt's irritating when you read a narrative that is very heavy with personal pronouns, because you generally are reading a bunch of declarations strung together. As a reader, you're stuck wading through the muck to figure out WTF is actually being said. The whole point of introspection is to examine your actions and reach conclusions. Nobody cares about the minutae. If you're describing a trip to Tahiti, don't make me read about how you fed the cats and cut your toenails before heading for the airport. For example: "We opted to go for a web app purely because I was the most familiar with this platform but even then I had no prior experience and my friends were aware of this. I would be balancing my time between this and a well paid part time job at a local school as a music technician." 56 words and bunch of fluff. It sounds like a deflection of guilt. What does it actually say? "I already had experience with web apps, so we decided a webapp would get things done quickly."
- simonbarker87 13y agoGood example, my issue was really that the suggestion of changing I to he/she etc by edw519 was overly flippant and added little value to the OP; who probably liked constructive feedback - nice job on clarifying
- lampe3 13y agoJesus when i read this Article I see me... I love to start new Projects but i never finish them(only when i must because i customer is kicking my ass)... I always have a lot of motivation... but when i sit down and must read or do something i lose focus very often and maybe work on it for 30 minutes or 1 hour and then i start to watch some stupid youtube videos... To this day i dont know how to focus... I got depression last year because... i dont know everything was not going the way i wanted but i dont changed anything... today i feel better but i still cant get things done... i was reading books/blogs/etc about how to organize/focus/motivate but nothing every really worked for me... not money/fame/etc helped to motivate... maybe someone can help or share tips... and if you want dick around you can but i want answer or comment you...
- Heliosmaster 13y agosame for me, more or less.
- lampe3 13y agoI hope that maybe some other comments will help you !
- shubb 13y agoI had a major problem with this back at college. I'd read articles about how to study, or focus, instead of focusing and studying. The problem, clear in hindsight, was that actually hitting the books revealed how little I knew. Which is natural when you are studying a new subject, but filled me with fear because, well, exams. It wasn't a happy time in my life. Maybe it's the same for you now. But that meant that rather than have the self belief to brush off initial defeat and study more, I found myself drawn towards distractions. Better to not know how bad you are than to work to improve it. The sites you make are never going to be as good as the ones you imagine. Doing that animation, or adding this feature, is going to turn out to be harder than you first thought, and you are going to compromise. If your self esteem is tied up in your work, or how good you are as a programmer, and you are like I was, then that means 'you are a bad person'. Better to read another blog than accept it. Now I'm in a happier place, it's good enough to do my best. If I exceed expectations, I feel happy, but if I blow through a deadline, I'm confident that the next programmer would have too. Not happy about it, but confident. So if you are like me, I'd suggest fixing my self belief and negative thinking yielded more than better time management. Hope this helps.
- dasil003 13y agoSounds like you learned a lot. The only problem here is the lack of shipping—that is what made you feel like a failure. Psychologically it would have been better to have finished a crappy v1 then do a rewrite in a new language for v2, but in practice you probably learned an equal amount this way, so cut yourself some slack. And remember, being a perfectionist is a prerequisite for being good at anything. If you aren't self-critical you won't improve, and no one comes out of the gate being good at anything. Obviously that's necessary but not sufficient since many people are disheartened by their early incompetence and give up before they've even really gotten started, but it's not a bad thing.
- RyanZAG 13y agoThis is how everybody learns - you make something, see the flaws in the process or the outcome, and then iterate again to fix them. Your technical approach to it is perfect, just keep it up. However, you've missed the key point in the game - hustling. By the sound of it, you were not picking up a paycheck while doing this for 2 years. This is a major mistake. The product itself doesn't matter - if you're inexperienced the product is going to end up pretty bad, so the exact product you're building is largely irrelevant. The key is to hustle yourself into a position where someone is giving you money for you to learn. Late stage start-ups are usually perfect for this. You've wasted two years of potential income and fancy sounding positions for your CV, don't waste a third.
- ddoolin 13y agoI did this, and I wish I could encourage others to do the same. Honestly. I started completely at 20 and not even 7 months later I was getting paid above average in Seoul to do the same thing, basically. Except I had expert help whenever I needed it in the form of coworkers. I'd have to say that the two biggest factors contributing to this is that people like the OP probably don't know about opportunities available to them (though hard to imagine given the outlet used to express himself), and the general "5+ years of experience/ex-Googler" mentality really seem to discourage trying. Hell, I've gotten over a year of professional experience and sometimes I think I should just take an unpaid internship if I wanted to find a new job now...
- ollerac 13y agoI disagree with you that the product doesn't matter. I've worked at a few startups and it really matters if everyone can get on board with the vision of the company's leadership. It improves your concentration if you think you're actually making a positive difference in people's lives with every feature you develop or bug that you fix. And it improves team motivation and cohesion if you all think that what you're building is a really cool idea. TL;DR Adding a feature to a product that you don't care about is harder that adding a feature to a product that you do care about.
- semiel 13y ago
- nbevans 13y agoI don't remember ever being so utterly inexperienced so as to firstly adopt a platform like Ruby on Rails, and then follow it up by making an even worse mistake in adopting Node.js. These platforms seem hip and cool but they actually need extreme levels of discipline, awareness and experience to actually use them in the correct way. I don't think the guy is a perfectionist at all. Perfectionists deliver finished working products. Perfectionism is a state of mind of not knowing when you are actually "finished finished". Don't make the mistake of thinking your inability to deliver a product is because of some perfectionism trait. It very likely isn't. It's more likely to simply be caused by incompetence.
- NegativeK 13y ago> Perfectionists deliver finished working products. From the psychology definition of perfectionism, there's both the version that lets you accomplish a thing well and the version that hinders you from completing something. Anecdote: When it comes to me doing anything remotely artistic, I get so bogged down in fixing the details that I ignore the big picture. In reality, trying to perfect the details means I'm focusing on things that are going to jump out at me, but not at other people. "Perfect is the enemy of good" is a good proverb about this.
- corresation 13y ago"These platforms seem hip and cool but they actually need extreme levels of discipline, awareness and experience to actually use them in the correct way." Is there a platform for which this isn't true? Anyone doing anything novel spends most of their time doing things the wrong way. And it's odd that you single out those platforms -- RoR is extraordinarily beginner friendly, and less than most other platforms helps you stop from shooting yourself in the foot. Node JS with express again is quite trivial. The platforms have literally nothing to do with their problem (the eager platform jumping is a symptom, not a cause), and they would be non-completionists in any other platform as well.
- nbevans 13y agoThey are beginner friendly, sure. But that's almost a bad thing. As this poor guy found out the hard way. Building what was presumably quite a large system inevitably turned into a sprawling mess that was hard to maintain and develop any further. There is extreme levels of immaturity in the RoR and NodeJS communities (when it comes to the dissemination of good software engineering principles and practices) and unfortunately this often projects outward onto its users who don't know any better. Hell, it was only a few months ago the creator of RoR was poo-poo'ing the very concept of DI/IoC and therefore SRP. So it's no wonder the poor sods in that community that read his blog as though it's gospel end up producing unmaintainable heaps of crap that ends up having to be scrapped.
- cell303 13y agoI experience this right now! The saddest paragraphs were "Time to change" and "Learning from your mistakes", where he basically says that he is doing the same thing under a different name with the same lack of results :(
- ownagefool 13y agoIt worries me that so many of us want to jump to this kids defence. He's right, you shouldn't hire him because a developer who can't ship is a developer nobody needs.
- addflip 13y agoHe's a junior developer. Give the kid a break. You were there at some point.
- nthj 13y agoFor sure, we all were. I did have to chuckle at the Technical Director in the sidebar, though. I'm pretty sure the qualification for technical director [should] include shipping > 0 products.
- socialherp 13y agoWelcome to the new hackernews. Everyone is a dev, scratch that, sr. dev. Wrote ten lines of hipster.js? Now your a js guru. Oh, and a perfectionist, your code is now "perfect" for the sole reason you spent a lot of time on it... Your pissing up a rope, the non-programmers and marketing-social-media-hackers have ruined this site and are running amok in the comments downvoting everyone posting anything even close to honesty.
- pekk 13y agoA developer who can't ship is a developer nobody needs. A developer who has shipped 0 things obviously can't ship. A developer who has shipped n+1 things isn't really different from one who has shipped n things. I mean, one product? That's not real experience. So, by induction, nobody needs any developers.
- ownagefool 13y agoY'all looking at this at a superficial level. Sure, we all need somewhere to learn, but most of us do this on personal projects, at school or on low paid gigs under superiors who'll kick our asses. I don't know many technical directors / lead developers who havn't shipped a single project and while some of you might call that "hustle" I call it lying.
- michaelochurch 13y agoCliche warning. Admitting that you have a problem is the first step. Most young people are like this. You're not unusual. Difficulty focusing is pretty normal, but you do have to do something about it if you want to achieve anything. I hate to break it to you, but the corporate world makes it worse. Now you're surrounded by unfocused, capricious, and disengaged people in a world where the worst people tend to have the most success. You need to take that for what it is: a motivating negative example, how not to live and what not to become. When you're young, you wonder why most people never accomplish anything. Now you're getting older and seeing why. Lack of focus. Career incoherency. Bad management. Low drive. People let their time and energy and engagement get nickel-and-dimed by the world and soon there's nothing left. You've learned a lot in 2 years. That's great! You've probably gotten more out of the past 2 years than 95% of people; but if you want to run with the elite (I'm not elite; I spend way too much time on activism, but that's another story) you have to up your game even further. Up it again. And again. Perfectionism is something that comes to us from schooling, I believe. You work on something, then you "turn it in", and you get your one final, seemingly life-altering, piece of feedback: a letter grade or a score between 0 and 100. School also encourages risk aversion, in so far as tests ask easy questions where the average person gets 75-85% right, which means that 1 total failure (0%) counteracts 5 excellent projects or aced exams. (This is not universal; in the UK, exams are harder but 70% is an excellent score.) If I were to redesign the system, tests and projects would be very hard but 20% would be passing and 50% would be an A... but that's another rant. In the real world, that "work for months then 'turn it in'" strategy leads to demotivation, anxiety, and (as you've experienced) perfectionism. You need to find people you trust and link up with them to get constant feedback. This is why the REPL (interactive mode) of modern languages is so important; without interactivity, you don't learn anything and become disengaged. You have to change yourself if you want to achieve anything. You're experiencing the processes that cause so many people not to achieve anything, but at least you're aware of it. You have to form better habits. Work, and sleep, and exercise, in the same hours every day. Have a principled schedule for taking breaks. Get up at 5:00 if that works for you. Exercise every day (it helps). Establish a routine because if your life is constantly full of injections and senseless change, you'll constantly be cleaning up your own spilled apple carts. Curtail (or cease) drinking. You need to form better habits and establish a routine of getting stuff done. Just remember that each action counts for about 10, insofar as people are creatures of habit and what you do now also influences how you will behave when you are tired and falling into default activities (self-control is hard and limited and 70+ percent of your time will be in default activities, so make those better). What differentiates the true high-achievers from the rest of us is that they program themselves (often unconsciously) to have useful default activities, instead of watching TV or playing video games. That's not to say there's anything wrong with TV and video games in moderation. I love Mad Men and Breaking Bad, and I probably play an SNES RPG (those are good because they're time-limited at about 50 hours) every year or so. You just don't want those to become your default time-filling activities. If you want to be a top-tier technologist, your default activity should be something related to technology.
- marknutter 13y agoI think the OP either has a fear of failure or a fear of success. The fear of failure may come from the worry that launching their "perfect" app might fall flat. The fear of success may come from the worry that if the app takes off the pressure will increase due to external expectations from users. After all, it's easier to let yourself down than it is to let thousands of users down. Either way, the OP continues to move the goal-posts so there's a definite fear of launching. They need to get over this, and fast, or they will never grow as a developer or an entrepreneur. Until you release your creation out into the world it's just mental masturbation.
- proksoup 13y agoI like his attitude, and I think he learned something most don't ever learn. I'd hire him.
- dbecker 13y agoThis seems so common, but few people can admit it (or even recognize it). Congratulations on having this level of self-awareness, and I'm sure your future will be bright.
- randomor 13y agoI saw a product idea for a product adoption platform where the end users could adopt maker's product and provide feedback along the way, no money involved as Kickstart. Human feedback is usually more motivating than self-conjecture. Thanks for the reflective piece.
- tbarbugli 13y agoDont worry I am not going to :)
- socialherp 13y agoWhy is this on hackernews. This is NOT news. Hackernews is NOT some asinine blog!
- btilly 13y agoHere is a td;lr. I keep on making the mistake of throwing away what I've got and starting over because I've learned how to do things better. I've just made this mistake again, but it's better because I've learned how to do it better this time, honest. My response to this. Don't write the retrospective bragging about what you've learned until after you have demonstrated success in a measurable way. I've encountered the described failure mode in other people, and unwarranted optimism about recent improvement is part of the pattern, not a sign of actual progress. (Let me throw out a long shot because it is easy to investigate, and if true would potentially let your life be changed for the better. The person that I am most specifically thinking of that fit this pattern later turned out to be manic depressive. This article describes specific events that could fit as well. So..unlikely, but with a big enough potential payoff that it is worth a visit to a competent psychiatrist.)
- jmilloy 13y agoAlso: I chose ruby on rails because it was hip. Then I chose node.js because it was hip. Now I'm evaluating those choices as mistakes because they were hip, because that's hip. Get a job, get on a team, write code, and stop reading about writing code!
- TheSOB88 13y agoStop reading about writing code. Man oh man I wish I had done that a long time ago.
- casual_slacker 13y agoWhat I see is the common mistake of confusing inexperience for complexity. He didn't know all the ins-and-outs of rails, probably went against the grain, and had unmaintainable code. Same thing happened when his browser app became complex. I don't know why you included the bit about manic depression. If you can pick up a framework and build a full production app on your first try, then you're probably more impressive than the rest of us.
- btilly 13y ago
- chasing 13y agoThis is how learning works. Don't beat yourself up about it. Very few people successfully build perfect software products their first time out. A person should start out by aiming for the stars and failing -- that's how you figure out how reality works.
- skittles 13y agoI've learned a few things to put a stop to this problem. I think in "engineer" mode. Engineers get things done that work. Creative perfectionists don't. I start a project making sure that I can build and deploy the simplest thing possible. I add one use case that works front-to-back. That gets me everything from the UI to the database. Get user feedback on that one thing, improve it if needed, then go on to use case two. Rinse and repeat. Don't go back and change frameworks, ORMs, languages, etc. Finish the project!
- thelukester 13y agoDoes anyone know of any good ad-dons or extensions to blocks medium.com articles from showing up on HN? By the amount of low quality articles that make it to the front page, seems like there must be some kind of voting ring for them.
- beat 13y agoExperience is an excellent cure for perfectionism.
- arghbleargh 13y agoIt's completely normal to have to start over a few times as a beginner. Learning to code is not trivial, and since you're not going to learn everything before you start writing code, you'll inevitably run into issues that you didn't anticipate. That said, the OP could probably benefit from planning ahead a little more. It helps to focus on core aspects of the product that are not likely to change and to anticipate things that you might want to change. At first, it may be a little hard to hold your entire project in your head at once, but once you've broken it down into a few core components, it becomes much easier to think about things going forward. It sounds like the OP is already arriving at these realizations, so good luck to him!
- coldtea 13y agoSorry, but a real perfectionist wouldn't have taken a photo with his MBP screen full of smudges -- he would have wiped them first.
- nickjackson 13y agoHahaha!
- peteacc 13y agoHa.
- mk3 13y agoNice write up. I think many people face the same problems me included. The problem for me is that I have never had a chance working in a team with more experienced developers. Which would teach a mindset, or bring some insights, of successful developer, which is implement the feature then return and improve as needed. Also solving so called "complex" problems brings rush of pleasure. So you start solving complex problems instead of getting the stuff done.