Two years ago, I was working on a fairly complicated (for my level of experience) web app for posting news articles. Quite a few times, I ran into situations where I was about to create tight coupling between two somewhat unrelated parts of my app. Sometimes, I wouldn't even recognize this as a problem. Other times, I would, but not be able to think of an easy fix, so I'd continue on.
Today, I find myself fixing tightly-coupled situations almost instinctively. I use design patterns that I was barely aware of two years ago, and I do it without straying into "design pattern fever" territory. This isn't to say I'm an expert at software design; it still takes a lot of thought to actually think of the best fix, and I'm sure I still make plenty of mistakes. My point is, my growth as a programmer is very obvious to me in these situations.
How about you? If you've been programming for more than two years, you're probably a better programmer than you were two years ago, but can you tell? If so, how can you tell? Can you give any good examples of moments when you realized it?
Subscribe to:
Post Comments (Atom)
I started working for a company that does low-level hardware work as well as standard software stuff, and began to learn about electronics and submitting kernel patches. I think it's been the most productive two years of my life.
ReplyDeleteI don't remember particular moments of realizing examples of being a better programmer than I'd thought, but I remember moments of somewhat terrifying learning; like being asked to make/decode oscilloscope output to debug a driver with someone else on the end of a phone line telling me what to do.
In short, I think I'd say that a great way to tell that you're becoming a more capable engineer is to get a job with one responsibility that you're entirely qualified for, and another responsibility that is alien and scary to you. :)
Yeah.
ReplyDeleteBut I can't say how or why, because everything is happening in the realm of 'unconscious competence' these days.
I have to say that I think I'm a worse developer than I was 2 years ago. A year and a half ago I was hired as a developer for a company that is full of code that belongs on thedailyWTF. Imagine a shell script that calls a shell script that calls a perl script that calls a shell script that calls sql script that runs a shell script to set variables for the sql script. Most of my time is spent on the never ending bug fixes that this code requires, with the occasional need for new functionality. Unfortunately, now, if I need to implement some new feature for the company, my first designs always seem to mimic the code I have to work with... and I'm scared...
ReplyDeleteJoe: As long as you treat those first designs as drafts, and spend time polishing/fixing the problems in them, I bet you'll be fine. Personally though, I'd try to get out of there as soon as possible.
ReplyDeleteTwo years ago, I was satisfied in searching a quick solution for current issue at hand, even regarded it unconsciously as an evidence of great problem solving skill. Now, I dig to the bottom of the issue, conduct a general research, familiarize with the options and make decision, which obviously might take much longer time to solve a problem. However, I consider this as improvement of attitude, which eventually will lead to a better programmer.
ReplyDelete