I love being a Software Developer, plain and simple. Give me something interesting to do and I'm on it!
Right now I'm particularly interested in Groovy, a language that is "transpiled" into Java, making Java development that much simpler. AngularJS is turning heads and I love working with it. Many people run-away from what seems to be a complex syntax and confusing integration between View and Controller. When you understand core JavaScript and MVC, you embrace Angular. I have worked with Ionic to use the power of Angular and Cordova to create mobile apps. I've just started learning NodeJS too. You can see that the MEAN stack is on my horizon.
Apart from the above Software Developer skills, I have also extensively used: ● Source Control technologies Git and Team Foundation. ● Agile methodologies SCRUM and Kanban, implemented with Jira. ● User Stories, time estimation with Planning Poker - implementing risks, contingency times, team velocity and work pipelines. ● UML: Use Cases, System Diagrams, Activity Diagrams, ERDs using MS Visio and produced comprehensive documentation accordingly. ● Design Patterns - Design by Contract, BDD, TDD with Dependency Injection and Singletons, Factory patterns etc. ● Programming Methodologies - OOP, Prototypal Inheritance and Functional Programming. ● Testing - Unit Tests using Fitnesse, Cucumber, JUnit, Python "unittest" and front-end integration tests with Selenium.
All of the above aid in being a Software Developer that stands out, from collaborating effectively with the team and the client to producing long lasting maintainable code.
I will always learn from taking courses, listening to podcasts, friends, mentors and colleagues and anything that allows me to be a better Software Developer.