The story of a lonely developer. Fear not! You are NOT alone…
I presented at Chicago JS on TypeScript back in June. A beginner who attended later sent me an email asking for advice on getting into development.
If there is one thing that I learned along the way, it’s that others might benefit from knowledge sharing. So rather than simply replying to their email with my thoughts, I figured I’d post them here for others to consume.
As an Technical Evangelist, what advice are you able to provide for beginners becoming full-stack developers?
Becoming a full-stack developer isn’t something that I’d recommend. At least not initially…there are so many different aspects of the stack. You should spend time finding what makes you happy.
- Do you like working closer to the data the application is presenting?
- Do you like thinking about how the data should be presented?
- Do you like solving complex issues and problem solving?
These are just some of the valid considerations one should think about. If you’re happy working on all the things, all the time — then maybe being a full-stack developer is a good fit for you. Although it is rare to encounter a true full-stack developer, they do exist.
I consider myself one, but at any point in the day I could literally be slinging SQL commands, authoring stored-procedures, and then a simple context switch — and I’m writing HTML / CSS. I could be writing TypeScript one second and then next writing a Web API — leveraging expression-based functional C#. The point is that you need to do what makes you happy and preferably something you’re passionate about.
Do you believe it’s beneficial to focus on front-end or back-end, or a blend both?
While I believe that I have already addressed this question, I’ll add on to it. There is actually a lot more out there then just front-end and back-end development. Don’t be fooled by recruiters or even software companies claiming that they need either just a front-end or back-end developer. More often than not they need someone willing to dig-in and willing to solve their problems, someone who is able to provide a true solution. There is usually a lot more to it than just one focused effort.
Focus on your passion, but know that passion isn’t the be-all end-all. Strive to be HUNGRY! You have to possess the ability to want to understand a solution rather than just accepting it as the solution. Strive to be HUMBLE, yet confident! This is often more difficult than you might expect. It is always wise to allow yourself to learn more, because trust me — there is always going to be someone smarter than you…and that is okay.
This realization shouldn’t be intimidating, but rather embraced. Become a social developer.
The Social Developer
In an empty room, where do you sit? Does that differ when the room is partially occupied? Do you avoid sitting next to others — if so why?
Becoming a social developer is something that I would certainly advocate as well — and we can thank Scott Hanselman and Jeremy Clark for their words of wisdom. Immersing yourself in the developer community is a great way to learn from your peers, who have likely experienced many things that you could benefit from. Go out there and get involved!
- Read blogs (better yet, start a blog — share your experiences)
- Contribute to an open-source project (or start your own)
- Ask a question on StackOverflow (better yet, answer a question)
- Attend technical conferences (better yet, speak at them)
- Accept criticism (eventually become a mentor)
- Accept failure — this is how we learn
Recently, I was fortunate enough to speak at Detroit.Code() — and during the speaker dinner I noticed someone eating alone. I felt inclined to offer him a seat at the table I was sitting at.
In this moment I made a true friend in the developer community that has since shared our story. Positivity (like negativity) can be contagious. It can spread through a team or even the entire developer community. You can impact people in a positive way, you just have to be willing to try!
Finally, here is the kind response I received from the individual who asked me to share my thoughts.
This is awesome! I truly appreciate you taking the time to answer my questions and provide valuable resources.
Becoming a social developer is great because my personality is go to an event, sit by myself, and when the event is over I just leave before everyone else. Lately, I’ve been actively looking into meetups and attending a few within the developer community. Now, with the added excitement of networking, it’s something to look forward to because the benefits can be priceless.
The goal is to grow on a daily basis and push outside my comfort zone.
I hope we can keep in touch!