Exactly this. I am a big fish in a small pond. I have been seriously programming for about a year now and I am far and away the most technically skilled person at my (completely-non-technically-focused) business.
I have learned more in this past year than I did through all 4.5 years of college. I am given a tremendous amount of freedom in the approach I take to solving problems which allows me to constantly say to myself, “hey, the way I’ve been doing this before works...but I bet I can take an hour and learn a better way.”
Initially I was writing VBA macros to automate the more menial aspects of my job. That eventually became insufficient for what I wanted to do and I moved on to C# and wrote a sizeable WinForms application which expanded my automation to other departments within the company. This eventually led to a promotion to a more formally technical position and I now have the pleasure of learning the ropes of ASP.NET, JavaScript, CSS to continue the development of our online inventory tracking system—used by employees, clients and various business partners.
(I use “pleasure” a bit loosely as web programming is turning out to be far more absurd than anything I’ve done in desktop development. I’ve spent hours and hours working around various quirks that only affect specific versions of IE under certain circumstances. Which I’m sure is par for the course but holy hell what a culture shock.)
I have gotten better at dealing with internal bureaucracy and politics; I’ve learned how to speak slower and give effective, understandable presentations; and I’ve become proficient at learning the ins and outs of a business that I have no inherent interest in outside of the fact that understanding it allows me to design more effective software for the people I work with day in and day out.
While my situation is certainly not the norm, being a “big fish in a small pond” can open many doors for personal growth and learning if you are fortunate enough to find yourself in a job where you are able, willing and allowed to exploit your position to relentlessly learn and improve your skills throughout the course of everyday activity.
edit: more in the spirit of the thread, this sort of position can lead to a lot of undeserved self confidence and leads to some harsh wakeup calls when you run across a big fish in a big pond. It can also get rather lonely when you don’t have a mentor figure to turn to on a daily basis and more or less have to wing things you don’t quite understand yet. I’ve had several moments of intense embarrassment where, leaning on past successes, I pushed my position far too aggressively and ended up unnecessarily costing myself and my company time and money that could have been better spent elsewhere.
Yeah, being the big fish can give you great opportunity for autonomous growth, because there is no one to revise all your decisions. Or a great opportunity to sleep on your laurels. Different people will use the same opportunity very differently.
Re: JavaScript.
It has essentially two parts: the language itself (objects, functions), and the browser-specific stuff (DOM). My advice is to learn the language itself well, but use JQuery for everything DOM-related.
Exactly this. I am a big fish in a small pond. I have been seriously programming for about a year now and I am far and away the most technically skilled person at my (completely-non-technically-focused) business.
I have learned more in this past year than I did through all 4.5 years of college. I am given a tremendous amount of freedom in the approach I take to solving problems which allows me to constantly say to myself, “hey, the way I’ve been doing this before works...but I bet I can take an hour and learn a better way.”
Initially I was writing VBA macros to automate the more menial aspects of my job. That eventually became insufficient for what I wanted to do and I moved on to C# and wrote a sizeable WinForms application which expanded my automation to other departments within the company. This eventually led to a promotion to a more formally technical position and I now have the pleasure of learning the ropes of ASP.NET, JavaScript, CSS to continue the development of our online inventory tracking system—used by employees, clients and various business partners.
(I use “pleasure” a bit loosely as web programming is turning out to be far more absurd than anything I’ve done in desktop development. I’ve spent hours and hours working around various quirks that only affect specific versions of IE under certain circumstances. Which I’m sure is par for the course but holy hell what a culture shock.)
I have gotten better at dealing with internal bureaucracy and politics; I’ve learned how to speak slower and give effective, understandable presentations; and I’ve become proficient at learning the ins and outs of a business that I have no inherent interest in outside of the fact that understanding it allows me to design more effective software for the people I work with day in and day out.
While my situation is certainly not the norm, being a “big fish in a small pond” can open many doors for personal growth and learning if you are fortunate enough to find yourself in a job where you are able, willing and allowed to exploit your position to relentlessly learn and improve your skills throughout the course of everyday activity.
edit: more in the spirit of the thread, this sort of position can lead to a lot of undeserved self confidence and leads to some harsh wakeup calls when you run across a big fish in a big pond. It can also get rather lonely when you don’t have a mentor figure to turn to on a daily basis and more or less have to wing things you don’t quite understand yet. I’ve had several moments of intense embarrassment where, leaning on past successes, I pushed my position far too aggressively and ended up unnecessarily costing myself and my company time and money that could have been better spent elsewhere.
Yeah, being the big fish can give you great opportunity for autonomous growth, because there is no one to revise all your decisions. Or a great opportunity to sleep on your laurels. Different people will use the same opportunity very differently.
Re: JavaScript.
It has essentially two parts: the language itself (objects, functions), and the browser-specific stuff (DOM). My advice is to learn the language itself well, but use JQuery for everything DOM-related.