3 ms·
> I don’t see how As a self-taught developer I promise you it never stunted my skills, and most probably made me a much stronger developer. I have been a pro
by austincheney 6y ago
> I don’t see how
As a self-taught developer I promise you it never stunted my skills, and most probably made me a much stronger developer. I have been a professional developer for 12 years (10 of those as a senior) and during that time I have spent 4 years on military deployments overseas and another 1 year in a military school. As a result of intense self-training away from the corporate world I have learned to become a stronger and more independent developer than most of my peers.
When you are writing software on a small netbook traveling around Afghanistan with no internet you have to learn to be self-reliant, portable, efficient, and cheap with system resources. Given the right set of expectations and personality you just figure it out. Based on this perspective its my thought expert beginners are precisely so because they are too reliant on social reinforcement over original decisions.
- scarface74 6y agoHow do you know that you areas good as other developers? How do you know that you haven’t missed something from getting other’s perspectives? In other words, without interacting with other people, how do you know what you don’t know? If you don’t have Internet, how do you know where the industry is and that you are following best practices of the ecosystem you are involved in? As far as “original decisions”. How do you know that your “original decisions” are the best ones? How do you know that you are reinventing the wheel by taking advantage of the experience of the broader community that has already solved the problem you are trying to solve? A senior developer could just be someone who outlasted everyone else at a company - that is the definition of an expert beginner. I was a “senior developer” in 2008 working at the same company for nine years with two other “senior developers” who were self taught. I was also spending a non insignificant amount of time doing VB6 six years after it had been abandoned by MS, Perl and didn’t use source control. I also “learned how to be independent”. That was actually a detriment when I first worked at a large company with a team and didn’t have the social skills to get my ideas adopted by the rest of the team, didn’t have the lack of ego to listen to others, and got PIPd for not being a team player.
- austincheney 6y ago> How do you know You know when you are solving a given technical problem. With practice your solutions become more refined with increased performance. > A senior developer could just be someone who outlasted everyone else at a company - that is the definition of an expert beginner. I don’t believe those are the preferred or common definitions. Independence is not related to arrogance.
- scarface74 6y ago> You know when you are solving a given technical problem. With practice your solutions become more refined with increased performance. Whether those are common definitions, someone who lasts a company for years gets to be a “senior developer”. I knew an “architect” who was the first developer at a startup, who had been there for over a decade and as the company grew, he got promoted as newer people cane in. He made every mistake in the book of an “expert beginner”. Writing bespoke unmaintainable ORMs and logging frameworks, and treating a database as a queue, etc. I was optimizing assembly language in middle school by counting clock cycles in the 80s on my 65C02 (ie the 74 in my username). Was I a “senior developer” in 8th grade because I knew how to make my assembly language programs 33% faster by reading a writing from the 1st page of memory and using branch instructions instead of JMP instructions? I was writing inline x86 assembly in the early 2000s when I looked at the decompiled assembly and I knew I could squeeze some performance out of it. You know what I didn’t know because I thought I was so smart and didn’t learn from other people? I didn’t know the ecosystem of my chosen platform so I would know what I shouldn’t write at all and just pull down from Nuget or the package manager of the platform I was using. I didn’t know when I should build versus outsource because it didn’t add business value and wasn’t what gave us an “unfair advantage”. I didn’t know how to mentor junior developers to be a force multiplier. I didn’t know how to make choices that was best for the team or the business. I didn’t know how to talk to end users to solve XYProblems. I didn’t have the social skills to know how to “disagree and commit”. Writing the wrong thing “optimally” is not the definition of a senior developer.