From: Craig Maloney Date: Fri, 7 Dec 2018 14:09:35 +0000 (-0500) Subject: Finished editing appendix A X-Git-Tag: 0.5.0^2 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=8f49e087f0dd5b95664ec56ecb02e566904eba76;p=themediocreprogrammer.git Finished editing appendix A --- diff --git a/appendixa.md b/appendixa.md index 3aa47f3..47e2108 100644 --- a/appendixa.md +++ b/appendixa.md @@ -6,26 +6,22 @@ Throughout my career I've straddled the divide between system administration and One of the companies I worked at decided to migrate a Perl system over to a Java-based environment. They looked at the skills of the existing development team and decided they needed to outsource the project to another company. This was a common trend in the early 2000s for reasons that are outside of the scope of this book. This gave me my first taste as a team leader. I know a lot of programmers migrate over into managerial roles but at the time I didn't feel I had fully explored my programming potential. I sat down on several occasions and tried to learn Java but it never clicked for me. Java web development always felt more cumbersome than Perl CGI scripts that I created. It also didn't help that we were shipping `.war` files into a Tomcat system, which seemed like they were comprised of a lot of configuration metadata and very little code. This is what I was referring to when I spoke about being OK with giving up on learning something --- sometimes what we try to learn is more of a chore. Having something that is a chore isn't going to provide a good learning experience. -### FIXME (Add PyWeek link?) - -It was around this time that I began learning Python on my own using Pygame. I took the plunge by entering my first Pyweek competition. Pyweek is a week-long competition where folks build an entire game from scratch in one week. It was a challenge but was also one of the most rewarding experiences I've had in programming. I build a game called "Busy Busy Bugs" that was playable during a time when I really didn't know what I was doing. In many ways I was learning to swim by throwing myself into the proverbial deep end. I wasn't in any danger but the desire to get something done at the end of a week drove me in ways I didn't think was possible. +It was around this time that I began learning Python on my own using Pygame. I took the plunge by entering my first [Pyweek](http://pyweek.org) competition. Pyweek is a week-long competition where folks build an entire game from scratch in one week. It was a challenge but was also one of the most rewarding experiences I've had in programming. I build a game called "Busy Busy Bugs" that was playable during a time when I really didn't know what I was doing. In many ways I was learning to swim by throwing myself into the proverbial deep end. I wasn't in any danger but the desire to get something done at the end of a week drove me in ways I didn't think was possible. As the technical lead position wore on I found myself wanting to do something else. I interviewed at several places and was hired at Sourceforge as a member of the Systems Operations Group. Sourceforge was an amazing experience for me. I dreamed of working for an Open Source company, and few Open Source companies were as well-regarded as Sourceforge and Slashdot were in the Open Source community. But my insecurities and "impostor syndrome" kicked in. Would I be able to cut it? Would they hire me only to realize they'd made a mistake and I wasn't as good as I claimed to be? I was friends with and had gone to school with several of the people who worked at Sourceforge / Slashdot, so I wondered about their motivations for hiring me. Was my getting hired an elaborate prank, or was I hired because several folks in the company knew me? All of these thoughts ran through my head while I worked there. It didn't help that my position was primarily system administration at a level that I was inexperienced at. There was also a programming component to the position, but I constantly felt like I was in way over my head. I lived in constant fear that I was going to be found out and that the job that I wanted would no longer be available to me. Granted I learned a lot and had very supportive and kind management at Sourceforge but I lived in dread whenever my manager would check in on me because I feared that the conversation would only highlight that I wasn't really supposed to be there. I'd love to say that it had a happy ending and that my fears were unfounded, but sadly I was let go from that position due to budgetary constraints. I'm grateful for the opportunities I had there, the friends I made, and the experiences I had but I'd be lying if the layoff didn't come with a mixture of sadness and relief. Sadness that I might never have a cool job like that again, and relief that I could put away those impostor syndrome feelings for the time being. In many ways I grew from the experience of working at Sourceforge and learned a lot about myself and my capabilities while working there, but it was also the position where I felt my impostor syndrome at its fullest. -### FIXME - -Later on I got a position doing Python programming as a full-time employee. This position allowed me to really strengthen my craft as a Python developer. I created a lot of interesting projects there and kept on learning more about Python. It helped me to recuperate and strengthen my skills. The folks there were very supportive, and kind. There were times where it got stressful but overall it was a positive experience. +Later on I was hired for a full-time position doing Python programming. This position allowed me to strengthen my craft as a Python developer. I created many interesting projects there and kept learning more about Python. It helped me to recuperate and broaden my skills. The folks at this position were very supportive and kind. There were times where it got stressful (all jobs seem have stress) but overall it was a positive experience. Sadly I was also laid off from that position (money sucks, y'know?). -I started my job search in earnest and went to a bunch of interviews. While everyone seemed impressed with my skills and my career I fell into one of two categories: either I wasn't a good fit for the position, or I didn't have enough skills in areas they were looking for. I found myself taking timed coding tests that seemed like they were testing if I got stressed easily rather than my coding skills. I sat in coding sessions with shadowy figures that barked out commands and requirements while I tried my best to follow them. I did math puzzles and logic problems. Promising leads turned into rejection letters, and desperation set in as I faced the real prospect that I would have to give up programming if I wanted to make a living. Visions of heading back to the beginning of my career filled me with dread. It seemed like nobody wanted to take a chance on me anymore and I couldn't compete with so many fresh faces who hadn't made the mistakes from my career. +I started my job search in earnest and went to a bunch of interviews. While everyone in the interviews seemed impressed with my skills and my career I fell into one of two categories: either I wasn't a good fit for the position, or I didn't have enough skills in areas they were looking for. I found myself taking timed-coding-tests that felt like they were testing whether I got stressed easily rather than any coding skills I might have. I sat in coding sessions with shadowy figures that barked out commands and requirements while I tried my best to follow them. I did math puzzles and logic problems (which is horrifying if you're not good at either math or logic problems). Promising leads turned into rejection letters (assuming I heard back at all), and desperation set in as I faced the real prospect that I would have to give up programming if I wanted to make a living. Visions of heading back to the beginnings of my career filled me with dread. It seemed like nobody wanted to take a chance on me anymore and I couldn't compete with so many new programmers who hadn't made the mistakes from my career. I registered themediocreprogrammer.com during this period. If I was going to be a fuck-up then I might as well own it. -Fortunately I've had a community of friends and fellow programmers to help support me. My current position is contracting with one of these friends to help him with programming tasks. That position came about from showing up to a programming conference every year (PyOhio). Throughout my struggles I've been fortunate to have a community there to help me. This is why I think communities are so great - they give us a network of folks that we might not otherwise have. +Fortunately I've had a community of friends and fellow programmers to help support me. My current position is contracting with one of these friends to help him with programming tasks. That position came about from showing up to a programming conference every year (PyOhio). Throughout my struggles I've been fortunate to have a community there to help me. This is why I think communities are so great --- they give us a network of folks that we might not otherwise have, and help us through our triumphs and our struggles. -I'm a collection of all of these experiences. They all make me who I am. Sometimes I wonder if I could have done some of these things different, but that's a futile exercise. The best I can hope to do is learn from them and move on. Each day I work to improve and strengthen myself. Each day I make new mistakes, but that's part of the learning process. +I'm a collection of all of these experiences. They all make me who I am. Sometimes I wonder if I should have taken a different path or done something different but that's a futile exercise. The best I can do with these experiences is learn from them and move on. Each day I work to improve and better myself. Each day I make new mistakes, but that's all part of the learning process. My journey continues.