The Roadmap to Becoming a Web Developer (updated)
Update: Kamran's 2018 roadmap made in Balsamiq is out! We've updated the post accordingly.
If you follow web development at all, there's a good chance that you saw Kamran Ahmed's roadmap to becoming a web developer in 2018. It's a giant mind map / flow chart describing all the technologies used today to build the web, broken down into front-end, back-end, and devops.
If the font and style look familiar, they should! He created it using Balsamiq, a tool he says he "can't live without."
We reached out to him to find out more and ask him what he sees coming in 2018 and beyond!
Q&A with Kamran Ahmed
What industry do you work in, and what is your title or job description?
I have been working in IT as a full-stack software engineer. Over the years, I have worked in healthcare, education, ERP and travel domains. Currently, I work as a Software Engineering Lead at Tajawal where, apart from development, I have to wear many different hats, including planning and providing architectural blueprints, technical leadership, etc. Apart from my day job, whenever I get some time, I invest it in doing side-projects for fun and profit.
What kinds of things are you excited about in your industry?
I never get bored. There is always something new to learn, something new to explore, some ideas to work on. I believe that we, as developers, are the most privileged people professionally, where you can change the course of something from the comfort of your bedroom.
What suggestions do you have for someone looking to succeed in your role or industry?
Be passionate - you will always be able to get by with an average skillset in this industry, but to rise to the next level you have to have a fire inside. Never be afraid to take on challenges and to go an extra mile to get things done. Always keep learning, always keep making stuff. Start working on that project that you have always been thinking about; the effort that you put in today is going to define what you become in the future.
Why and how do you use Balsamiq?
It wouldn't be wrong if I say that Balsamiq is one of those applications that I can't live without. I have tried several different mockup tools, but ever since I moved to Balsamiq, I never looked back. I use Balsamiq everyday and in about everything; whether it is a mind map to explain some complex idea, some mockups that I have to make for my work at the office or a side project, some architectural diagram that I have to share with my colleagues, an infographic for a blog post, etc.
I believe that a diagram is the best way to explain something and I found Balsamiq to be the best at just that. It is fast, highly usable from the UX perspective, has tons of options that allow it to be used for much more than just a mockup tool.
Do you have any feature ideas or suggestions for how we can improve our product(s)?
Balsamiq is doing what it is meant to do in the best way. However I do have a few things that I would love to see implemented:
- I would love that if there was a way that I could connect two components with an arrow and whenever I move one of the components the arrow keeps moving with it.
- It would be great if we could export the presentation mode as an executable or e.g. a webpage that could be sent to a customer which he could interact with without having to install balsamiq.
- More shortcuts. (Editor's note: The full list of shortcuts is here.)
What are the most important technologies for a new developer to learn right now? And, conversely, which technologies are being phased out?
No doubt, the tech world is changing rapidly. The things that seemed settled for ages are changing now and it can baffle anyone entering the tech industry.
I believe it is not that scary if you tread carefully. Presuming you have computer science knowledge, my advice would be to blindly put your bets on the web. I believe the web is the future and is powering everything, whether it is mobile or desktop.
For the phasing out, I don't think there is anything that just snaps out of existence. It takes around at least 5 to 10 years for something to completely disappear; however you can start to see the signs. If you ask me about my personal opinion, I wouldn't recommend anyone to go with native mobile application development; there is more and more of a shift towards web applications and applications built with the web technologies.
Besides the technologies, what are the most important things for a developer to know in order to be successful? What are some important skills they might not learn in school?
Programmers are a dime a dozen; learn how to market yourself and try to set yourself apart by your work. If you are just entering into the tech scene, be prepared for the long haul. Development is not something that you just knuckle down in a few months and be settled for your life; it is a never ending battle, you have to be prepared to keep learning and never settle. The key is to be passionate about it, let your love for learning and building things not diminish even when you are frustrated or confused.
The more you stretch yourself, the better you will become. You will find lots of people doing interesting stuff; use it to your advantage, be envious of them. Do not be a know-it-all person; learn to take criticism. People are not what you think they are, the world is not what you think it is. While working in this industry you will meet lots of people and you will learn lots of stuff apart from the technical skills. One important thing that you will learn along the way is to not believe what you hear. Industry is full of self-centered jerks and complainers — more often than not, what you will hear is just loads of crap and nothing else.
You seem very motivated. What inspires you?
In the current state of affairs, where the world is moving too fast, if you go slow there is an acute possibility that you will be left behind. I always ask myself, is this the best I can do? Is this how I want to see myself in the future? The drive to be better is what inspires me.
What sources (websites, twitter, etc.) do you use to keep up with trends in developer technologies?
Are you planning to update your roadmap for 2018? Any ideas about how it will change?
Thank you, Kamran! You are an inspiration.
Do you have a story to share about the awesome things you do with Balsamiq? Send an email to firstname.lastname@example.org with your stories or blog posts!