In October 2018, I published my first article on the Angular In Depth blog. I’m currently preparing my 7ᵗʰ and 8ᵗʰ Angular In Depth articles. At the same time, I’m working on my first Angular conference talk for the ngVikings and Angular In Depth conferences based on a couple of my articles and a lot of inspiration and assistance from the Angular inDepth expert panel.
Let me tell you a story about how my Angular journey began and how I started my career. I’ll explain how Angular inDepth continues to help me excel and reach my goals. Finally, I’ll tell you why you should join me in attending the Angular In Depth conference in Kiev, Ukraine this year.
In August 2017, I used Angular for a few days at work for the very first time. Then in May 2018, I began development on a proprietary framework and UI component library with a plugin-based architecture using Angular and Angular Material. The first version was released after half a year’s development.
Leveling up my Angular skills
In the half year between my first encounter with Angular and the time I started developing the proprietary framework, I spent a lot of time learning about Angular. At that point in time, Angular version 4 was the current version and only the second major release (version 2 was the first release and version 3 was skipped except for the Angular Router).
I read the Angular.io documentation, listened to podcasts, read blogs and watched videos from conference talks and other presentations. Even though I was experienced with AngularJS and a range of other front-end frameworks and libraries, there were many new technologies and concepts to learn.
The community was just starting to get a grasp on Angular since there were a lot of last-minute changes before the first release of Angular in September 2016. Only six months later, version 4 was released and included a lot of important changes. It was difficult to keep up.
My first encounter with Angular inDepth
It seems like fate that Max Koretskyi had recently started writing and publishing Angular articles. But not just any articles: expert-level, in-depth articles about Angular.
I had no idea who this Angular wizard was, but I was thankful that Max went beyond what other people were doing at that time and shared his knowledge with the community, for free. To this day, Max’ very first Angular articles are the go-to material on advanced Angular concepts.
Work hard, play hard
Max and I are similar in that we are extremely passionate about what we do. We take on challenges 100% or not at all. Max has been known to spend between 80 and 100 hours a week on software development, professionally and for personal projects.
If you don’t live for something, you will die for nothing.
— My motto, tatooed on my leg
I’m the same way. In 2013, I graduated with a bachelor’s degree in Computer Science. My original intention was to get a master’s degree in Software Engineering. However, shortly before I started studying, my wife got pregnant with twins. Today, our daughters are 8 years old.
After 3 years of studying, working and struggling in a collapsed economy with expensive accommodations, two toddlers and a low income, I decided it was time to end my studies and start working full-time for a living. I was very happy with what my education taught me and I’d have loved to continue my studies for another 2 years. Naturally, this was a tough decision.
I promised myself that I’d instead keep studying on my own. I quickly discovered a passion for web development. While my fellow students were overly excited about mobile apps at the time, luckily I still saw a future in web technologies.
My first (Lead) Developer job
The university taught me nothing about web development. I joined a company and was put in charge of developing a full replacement for their core software product and the services and infrastructure surrounding it.
I ended up making a clean cut between the back-end and the front-end using the PHP-based MVC framework Laravel to build RESTful web APIs as well as schemas and migrations for the database. Durandal, Knockout, CoffeeScript, Bootstrap, LESS, RequireJS, and Mimosa were the technologies we used to develop a single-page application with a responsive layout. This was almost bleeding edge in 2013. Definitely bleeding edge for a small company in Denmark.
Like Max, I spent countless hours working and studying to learn everything I needed to know to make this happen.
This was 5 years ago. Ever since, I’ve kept my promise and continued my self-study of web-based software development.
Attending and speaking at Angular meetups
In April 2016, I was working with Knockout and AngularJS and I started attending one of only two Angular meetup groups in Denmark, namely ngAarhus which has since evolved into AarhusJS.
After I took a new job and started using Angular, I was asked by one of the organizers, Morten Kirsten, whom is now a good friend of mine, whether I’d like to present a talk at one of the meetup sessions.
This was at the time when I was—with the help of Angular In Depth—leveling up my Angular skills and digging into advanced Angular concepts. Naturally, I was happy to contribute back to the Angular community even though I didn’t have a clue about which topic I’d like to discuss.
Like I mentioned earlier in this article, some time went by before I started working full time on the proprietary framework at my workplace. So I didn’t yet have hands-on knowledge to share about any the concepts used in that project.
Robert “Uncle Bob” Martin had just published his book “Clean Architecture: A Craftsman’s Guide to Software Structure and Design”. I had already applied Clean Architecture to a C# web API project. Robert Martin’s book doesn’t go into implementation details at all so it was very much a learning by doing experience.
I started wondering how I could apply Clean Architecture to Angular projects. It seemed that the architecture was conceptualised primarily for request-response scenarios.
The Clean Architecture concepts didn’t translate as easily to client-side projects (even applying them to server-side projects wasn’t a straightforward task).
Adding to that, I quickly realised that before I could even start discussing an overall software architecture for Angular projects, I had to find a way to make a proper separation of concerns since it wasn’t obvious from any material I had seen.
In my spare time, I spent around 50 hours researching, experimenting and preparing the slides for the “Model-View-Presenter with Angular” talk. I combined existing Angular patterns and techniques with decades old ideas and concepts into a Model-View-Presenter variant for Angular. I presented the talk “Model-View-Presenter with Angular” at the ngAarhus meetup in May 2018.
I was a nervous wreck. To my great relief the talk was very well received. It felt a lot worse than it actually was. I presented a slightly improved version at the ngCopenhagen meetup in November 2018.
Joining Angular inDepth
Shortly after giving my Model-View-Presenter talk for the first time, I reached out to Max and asked him whether he would be interested in an article series based on the talk.
I was ecstatic when Max expressed interest in my work. During the following 6 weeks, I spent another 50 hours of my spare time preparing a draft for the first 2 articles of the series.
It took a few more months and I ended up spending an additional 100 hours on the first few articles. A lot of the original material was actually removed to keep the articles from becoming way too big (I saved it for a rainy day).
Max is an excellent editor and gave me good guidance on writing my first tech articles. We published the first article, “Model-View-Presenter with Angular”, in October 2018. Within a month, three more had followed.
Applying for Conference Talks
In December 2018, I was inspired by conference talks on the upcoming Angular Ivy rewrite. I started writing two articles on the topic and at the same time submitted papers for a couple of Angular conferences.
At this point, Max invited me to the secret society of Angular In Depth experts. Since then, I’ve had the pleasure of having my material reviewed and discussing technical concepts and issues with my Angular In Depth colleagues.
I managed to write two articles about upcoming opportunities that Ivy brings to the table, the most noteworthy article being “Angular revisited: Tree-shakable components and optional NgModules”.
The Angular In Depth conference
This brings us to the present day. Max — being the kind of man that he is — started preparing an Angular conference almost entirely on his own. He’s taking the essence of the Angular In Depth blog and community and putting all of that positive energy and motivation into an in-depth Angular event.
The conference is hosted in Kiev, Ukraine — Max’ hometown. On the 15th of June 2019, I will be part of this talented group of Angular experts speaking at the Angular In Depth conference:
- Alex Okrushko
- Lars Gyrup Brink Nielsen
- Max Koretskyi
- Manfred Steyer
- Michael Hladky
- Nikita Poltoratsky
- Wassim Chegham
The unique thing about the Angular In Depth conference is that all the talks are on an in-depth, technically advanced level.
Besides the talks, we will host a speakers’ corner where each of us will join discussions on advanced concepts, taking questions from attendees for a least a full hour.
There’s nothing like being in a room of people driven by the same goal of self-improvement.
— Max Koretskyi
I hope that you will join my Angular inDepth colleagues and me on June 15th 2019. We do this for the community. We love personal feedback from readers like you. I would be happy to discuss any Angular concepts, especially questions or comments about the articles I’ve published on the Angular inDepth blog.
If you are anything like Max, our Angular inDepth colleagues, and me who share an absolutely burning passion for Angular and its community, come to Kiev and be part of an in-depth Angular day full of like-minded peers.