It’s been a month since I became a full time software developer at Amdaris and I thought it might be fun to write down some things I’ve learned during this exciting 30 days. This might be useful for people that are in the same position I was during my last year: having some dev knowledge, but finding it difficult to make a bold steps towards a full time developer role. My insights won’t be deeply technical right now and I will definitely avoid very specific .NET topics.
I didn’t know what to expect at the beginning, but for now every single minute was worth this change, because I really had a lot to learn. My first big challenge was getting fully familiar wit Git, branches, commits, pull requests, user stories and so on. These concepts were not necessarily new to me, but I really didn’t know exactly how they are put in practice during day to day activities. Discovering how developers collaborate using specific tools was so great, that I started to work with repositories also for my “personal” projects, since I can clone a specific repository to whichever machine I am working at a specific moment and I can continue to work even if I’m not always on the same computer. If you’re wondering, I am using Visual Studio Team Services to do that.
Another very important thing I’ve learned is that software development is not only about code that works. It’s about beautiful code, that’s easy to maintain and understandable by whoever might take a first look at it. One of my senior colleagues is always saying that the code you write is your signature and therefore it’s meant to make you look good, not bad. Sure, code that works is a first step towards a functional product, but it’s not the last step. You should always look for ways to make your code more beautiful, not repeating code chunks, following clear architectural patterns and so on. In fact, right now I spend more time making some working code look better than masking it work.
A third and final thing I would like to mention as a key insight is having always my eyes opened when it comes to learning new things. Even if I am a .NET developer, I’ve spent some consistent time working on front end development with Angular 4. I had some experience with Angular 1, but I realized that starting with version 2, Angular is a total different framework that I like a lot. Developers nowadays need to be full stack! That’s why I think that aspiring developers should have both a back end programming language and a front end framework in their toolbox.