Software engineering is one of the most promising professions in the world. The reasons why programmers are in high demand vary, the most important being the unprecedented technological development.
However, becoming a successful software engineer and remaining one is no cakewalk.
This article will discuss the most effective ways of keeping pace with other developers.
1. Sharing with In-House Staff
In a digital era, peer-to-peer learning is one of the most effective and time-saving methods. People of similar age and/or work experience quickly share tips, ideas, and incentives.
Hence, hang out with your teammates and talk about work tasks to stay up to date. The more different clients each of you works with, the better. You can also organize workshops or meet once a month for peer programming. As a team, you gather more experience and knowledge for mutual sharing.
Seek out a Mentor
In the software development world, having a mentor is incredibly valuable. They can help you solve problems, overcome roadblocks, educate, challenge, and keep your spirits high.
But this doesn’t strictly have to be a “mentor-mentee” relationship. What’s more, it can often be beneficial to have more than one mentor. Mentorship can simply be a private list of people you can turn to for questions and dilemmas. Slack channels, Discord servers, Twitter, Facebook groups, local meetups, and your workplace are good places to find proper people for your list.
Or Be a Mentor
Helping a friend or teammate level up can also add to your engineering skills. If you can break a complex idea into simpler bits, understandable to a beginner, you surely have a firm grasp of the material. Sometimes beginners may ask questions that give insights into information associations you hadn’t previously considered.
Also, they’ll eventually learn from other sources something you don’t know that well, allowing you to learn from each other.
2. Mingling with External Engineers Online
In addition to internal collaboration and sharing, developers must keep an eye out for external stimuli. A lot is happening in the tech world, and you can collect valuable data along the way. The development community thrives on easily accessible data.
Unlike courses and formal training sessions (discussed below), online engineers’ communities exchange practical information for free. You can contribute by sharing your experience and knowledge, including your impressions from various projects.
First off, focus on social media.
For instance, Twitter is an easy way to follow industry peers, blogs, magazines, and communities online. They tend to post regularly, and you can create lists of groups for every topic you’re interested in.
Another example is LinkedIn – the Bible of everything social and business. Big shots from the IT industry share valuable content that promotes their services and helps other developers broaden their horizons.
Stack Overflow is a community-based online Q&A platform where developers help one another come up with the best solutions for their technical challenges. It also provides various SaaS features and knowledge-sharing services to support IT individuals and teams in their pursuit for perfect, bug-free code.
Still, Stack Overflow isn’t only for people answering your questions but also an opportunity for you to help others. When browsing one of the current 22M+ (ATOW) questions on Stack Overflow, pick one that interests you and try to provide a new (and improved) solution. You’ll soon be learning new things as you try to help the dev community.
GitHub (and Engaging with Open-Source Projects)
GitHub is even more practice-oriented than Stack Overflow. It’s a comprehensive engineering platform and a code repository for developing, scaling, and providing secure software. It’s also an excellent place to find an open-source project using any language or framework you may be interested in learning. Even if you don’t submit a pull request, there’s a lot of potential for learning.
Additionally, Github Trending is a non-biased and ad-free system where the community has voted on the most popular technologies. It helps you stay updated with the hot topics in the programming languages or frameworks you use, as well as find what new technologies you could be learning.
There’s also GitHub Explore – a feed of trends that you can personalize, filled with repositories, topics, collections, and events. You can subscribe to a daily, weekly, or monthly newsletter.
Quora and Reddit
Among countless digital sources for software engineers, Quora and Reddit are the two real gems of practical tips and actionable solutions. For starters, you can follow relevant programming topics or threads on these two platforms, respectively, and drink from the wells of coding wisdom. Soon, you can start contributing to the platforms by launching new topics or adding relevant content to the existing ones.
To top it all: many software engineers share valuable resources for professional improvement; plus, they often post job offers.
Here are a few subreddits to get you started:
- r/WebDev. This is one of the largest subreddits concerning both frontend and backend technologies. The front page is repopulated with the latest news daily, and the community is always active. This means you can ask questions with an almost guaranteed response.
- r/Frontend. It has been created purely for our HTML & CSS lovers. You can post your work, leaving it open for feedback, or simply admire the peers’ work and gain inspiration. The advantage of having a smaller subreddit is that your questions are more likely to be seen instead of being quickly pushed down amidst the sheer number of posts.
- r/AskProgramming. Well, it’s like the Stack Overflow of Reddit, purely dedicated to answering your questions.
It might sound like a cliché, but this list indeed goes on forever.
3. Boosting Knowledge at Conferences
Conferences bring people at the top of their field together with people eager to learn in one place. Speakers often open the mic for a question-and-answer session after their presentation. These informal sessions are invaluable for clearing up misconceptions or expanding on ideas. You can get an answer to a roadblock you might have come across, in real time. Listen closely to other engineers’ questions, as well, since they may have thought of something you hadn’t considered.
Additionally, meeting people during the breaks or parties is a great way to build your network.
Here are some conferences that are held in Europe:
- Craft Conference in Budapest
- Smashing Conf in Freiburg
- Web Summit in Lisbon
- FODSEM in Brussels
- Code.talks in Hamburg
- React Summit in Amsterdam
If you can’t go to the conferences in person, search for the talks from past years on YouTube or on the official website of each event.
Meeting Like-Minded People at Local Events and Meetups
Local meetups are a great way to connect with people in your city and discuss new tech. Engaging in a local IT community, with people as passionate about coding as you are, will boost your productivity and knowledge. So, check out the meetups or organizations in your area and become an active member of the IT community.
4. Effective Course Management (and Budgeting)
This is the age of online lessons and enrolling in an IT course of any kind has never been easier. Most online education platforms feature their latest courses discussing hot tools, languages, and platforms. Monitoring these will easily outline certain areas worth exploring further.
What’s more, many of them are available for free. There are often special deals in which you can pay a fraction of the price for an advanced programming course.
A fly in the ointment is that software developers sometimes miscalculate their availability. Consequently, companies pay for courses they either don’t complete or don’t need in the first place.
So, while online courses can be a fantastic opportunity for refreshing and expanding your knowledge, choose only the well-structured ones that help you improve your skills. And make sure to finish them. Otherwise, you’ll splurge on your assets and waste time achieving nothing.
Growing professionally as a software engineer means learning a lot. However, this doesn’t have to mean working your (coding) fingers to the bone. If you prepare your mind for lifelong education, you’ll keep expanding your knowledge seamlessly.
Luckily, we’ve never had more educational online media.
Pro Tip: Think about organizing internal training sessions and in-house courses for junior developers, QA engineers, and other entry-level staff. It won’t cost you a lot, and you’ll have something to rely on for the future.
5. Reading (about) Coding for Better Writing
If we understand coding as writing, only in specific programming languages, it’s easy to conclude that there’s no good writing without reading.
In general, software developers who constantly read blogs on coding, systems, and business management, can expect faster business progress and financial benefits. The challenging part is that there are so many blogs on the Web – you need to pick a few and follow them on social media platforms. For example, you can start with Hacker News, Slashdot, DZone (where our very own Radivoje Ostojić is one of the writers), Smash Magazine, or find a tech blogger whose style you like.
Maybe you’ll find David Walsh, Jeff Atwood or Rob Allen interesting. Product Hunt is one handy option for recent releases (especially if you dig into what they’ve launched) – it’s the main differentiation from its competitors.
And let’s not forget one of the most resourceful and inspiring blogs on software engineering out there: the BrightMarbles Blog. 🙂
Whether you want to solve issues at work or stay up to date, blogs can surely help you find what you need.
Pro Tip: As a developer, you may not always have time to browse websites and find good content creators. Therefore, subscribing to newsletters can be valuable because they compile new articles, libraries, podcasts, upcoming events, etc. This can save a lot of your time and help you discover new content creators.
Her Majesty: A Book
Books are the traditional way of learning programming concepts and languages in-depth. While different mediums have become more prevalent over the years, books still have much to offer.
Books are more practical in terms of highlighting, bookmarking, and including your notes than audio or video formats. Importantly, books are way more comprehensive than blogs, for various reasons. For example, articles are often SEO-driven, rather than knowledge-driven. Further, books typically cover the entire subject landscape, and there are no pop-up notifications or ads that might distract you while reading.
However, not every book is great, just as not every blog post is bad.
Here are some cool book recommendations by our own tech pundits:
- Bojan Tomić, COO at BrightMarbles:
Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin
Clean Architecture: A Craftsman’s Guide to Software Structure and Design, by Robert C. Martin
The Software Craftsman (Robert C. Martin Series), by Sandro Mancuso
- Brane Opačić, Tech Officer for the Frontend Team at BrightMarbles:
You Don’t Know JS – Book Series, by Kyle Simpson
- Marko Krstanović, Tech Officer for the Mobile team at BrightMarbles:
Clean Code: A Handbook of Agile Software Craftsmanship, by Robert C. Martin
Soft Skills: The Software Developer’s Life Manual, by John Z. Sonmez
- Emir Osmanoski, Senior Software Engineer at BrightMarbles Macedonia:
Thinking in Systems, by Donella H. Meadows
Team Topologies: Organizing Business and Technology Teams for Fast Flow, by Matthew Skelton and Manuel Pais
The Pragmatic Programmer, by David Thomas and Andrew Hunt
- Luka Kovač, Head of Engineering at UN1QUELY:
Designing Data Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, by Martin Kleppmann
Building Micro-Frontends: Scaling Teams and Projects, Empowering Developers, by Lucca Mezzalira
- Damjan Cvetanović, Information Security Officer at UN1QUELY:
Penetration Testing: A Hands-On Introduction to Hacking, by Georgia Weidman
- Miloš Milić, Delivery and Quality Director at BrightMarbles:
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers, by Ben Horowitz
- Miloš Milošević, Java Web and AEM Engineer at Brightly:
Shopify Theme Customization with Liquid, by Ivan Đorđević (Frontend Engineer at Brightly)
Ask your colleagues for a recommendation, too, or read some evergreen software engineering titles such as Clean Code, The Pragmatic Programmer, Peopleware: Productive Projects and Teams, Patterns of Enterprise Application Architecture, The Algorithm Design Manual, Domain-Driven Design, Continuous Delivery, Refactoring to Patterns, Code Complete, The Gang of Four Design Patterns Simplified, or Test-Driven Development. Yes, the industry evolves incredibly fast, but these books will help you explore your field of work on a much deeper level.
If you need additional recommendations, check out some popular software engineering books on Goodreads.
Ivan Đorđević is our Frontend Engineer at Brightly. He joined forces with Packt Publishing to write a book that would help software developers with Shopify theme customization using Liquid. Among many other practical things, he explained how to build a firm foundation for working on any Shopify team using the Liquid core, how to use JSON to create Shopify modular sections with unique functionalities, and how to make eCommerce stores more dynamic using the Shopify Ajax API. At one moment, Ivan’s book was the 6th best-selling book on Amazon in the Content Management category, and the 19th best-seller in Web Design. We’re proud of his professional and literary achievements!
6. Picking up on Podcasts
If you commute a lot daily, go jogging in the morning, or simply prefer to listen to something while running errands, podcasts are a great way to learn new things along the way (literally) and keep yourself up to speed. You can pay and listen to them as they’re released, or wait until they’re posted on YouTube, Spotify, Deezer, or any other platform.
You can’t see the code or how it’s created, it doesn’t matter. The point of development-focused podcasts is not to be a primary learning medium, but a practical supplement. IT podcasters tend to stay updated with the latest technology news and teach tangential skills. They also keep an eye on new tools, learning resources, and ways of tackling various issues.
The greatest thing about podcasts is that they’re not linear content. While listening, you can skip irrelevant parts and focus on the content important for your software engineering skills.
No matter how you’ll consume podcasts, they’re perfect for keeping up to date as a software engineer.
Here are some interesting podcasts for our niche, relevant in 2022:
- The Changelog. Hosted by software engineers Jerod Santo and Adam Stacoviak since 2012, The Changelog is still one of the most invigorating, mood-boosting, and knowledge-expanding dev podcasts on the Web.
- Developer Tea. Produced and led by Jonathan Cutre (a certified pilot, a software developer, and an entrepreneur), Developer Tea is a short-format, 15-minute podcast aimed at resolving big engineers’ dilemmas in small chunks. If you like Jerry Seinfeld’s “Comedians in Cars Getting Coffee”, this is your cup of tea.
- The Stack Overflow Podcast. With over 400 episodes under their belt, Cassidy Williams, Ben Popper, and Ceora Ford have produced one of the most committed and long-running podcasts for software engineers. They discuss the hottest topics in the IT world while offering interesting viewpoints from distinguished software engineers, managers, and entrepreneurs.
- Syntax. Web developers Scott Tolinski (a break dancer who runs a YouTube channel “LevelUpTuts”) and Wes Bos (creator of fantastic web dev courses) have hosted over 375 podcasts. Each episode features web development tips and tricks concerning HTML, CSS, JS, and more.
- Learn to Code with Me. Laurence Bradford’s podcast features an array of self-taught developers and how they transitioned from a previous job into computer science. The episodes cover a wide range of topics, from finding freelance clients to choosing the right equipment.
There are many more IT and Web3 podcasts like Modern Web, The Big Web Show, The Web Ahead, HTTP 203, Sitepoint Podcast, Herding Code, and plenty more. Some podcast experts probably cover your favorite tech stack in-depth, so just browse your favorite podcast app, and you’ll find it.
Breaking News: We’re happy to announce that BrightMarbles will launch a podcast soon. We’re planning to host renowned software engineers, as well as our own experts, to debunk the myths of the IT industry, and additionally educate our already tech-savvy audience.
7. Following Tech Influencers
Many tech leaders keep a prominent online presence. Some hang out on Twitter, others on LinkedIn. Some are bloggers, and others are on Quora, Stack Overflow, or other online boards, forums, or networks.
Finding the people you admire who educate and keep pushing content (openly sharing know-how and recent experience) is an incredible way to understand what happens within their corresponding communities.
A good example is Wes Bos (mentioned above). He shares exciting things about web development (and not only!) on his Twitter. And he also interacts a lot with his community.
8. Changing Projects
As every new position brings something different, changing positions is a legit way of staying up to date and developing as a software engineer.
Changing projects is much more effective than changing companies. Moving between different enterprises too often might not look good on your CV. Finding the right balance between consistency, curiosity, and reliability is necessary.
So, if you feel stuck with your current project or knowledge, first ask to change position at your current company. Joining another team or working with a new client might be more innovative and refreshing than moving to another company.
At BrightMarbles, we’re more than flexible in terms of changing projects and positions within the company. Our workers’ satisfaction and professional development lie at the core of everything we do.
9. Learning a New Programming Language
Once you’ve mastered your first language, learning a new one is an excellent way to stay on top of ever-changing technologies. It’s like adding more arrows to your development quiver, equipping you with you more tools to get the job done, and enabling you to execute increasingly complex ideas. Knowing a couple of programming languages will definitely make you a stronger software engineer.
The Final Word
This is the golden age for software engineers. IT companies are thriving, offering competitive salaries and extraordinary perks, and the future looks bright for all such experts. To be more precise: not for all, but only for the ones who keep learning new things and stay up to date with all the relevant innovations. Those that don’t follow suit usually fall behind.
It all comes down to consuming handpicked materials that’ll help you grow professionally instead of scattering your energy on every new trend on the horizon.
The more in-depth knowledge you gather, the more valuable you’ll be for your company.
Our two cents: select a limited number of YouTube channels, TikTok accounts, or Twitter influencers relevant to your specific software niche, trending-wise. The same applies to books, podcasts, and other resources that keep you safe from IT obsolescence.
The tips above will help you stay competitive in the labor market and ready for new challenges in the world of software engineering.