Developer Insights
Join millions of viewers! Our engineers craft human-written articles solving real-world problems weekly. Enjoy fresh technical content and numerous interviews featuring modern web advancements with industry leaders and open-source authors.

Tips for Better Time Management as a Software Engineer
Tips for Better Time Management as a Software Engineer In today's ever-growing software landscape of tools and experience to gain, we can find ourselves lost wanting to do more, yet feeling like we don't have enough hours in the day to accomplish everything we want. This problem is all too common in every level of industry, and as software engineers we can find ourselves racing to finish multiple things yet never actually reaching the finish line with anything. If by chance we do, we're often burnt out and ready for vacation (sometimes after a few days). Sadly, we all can't be Elon Musk, but we can begin to fix our habits and patterns to feel more like a genius. Why Is Time Management Important? As professionals in any fields, it's important that we execute on our work in a consistent way that helps us not only feel *productive*, but also feel like we're helping achieve business goals as well as personal growth goals. Taking an example straight from my own life, I found myself mentally exhausted trying to keep up with everything in my life - my job, personal projects, and my life goals. It seemed like I had so much going on, but my fatal flaw was the fact that keeping myself busy with so much didn't make me feel accomplished. Something had to change. Benefits of Proper Time Management Simply put, there are no downsides to better time management. The act of time management is a great key to our success in whatever we do. While it's as simple as just doing it, focus and consistency are needed to really be successful. Because we live in a world where the speed of business and technology is increasing, being decisive about priorities is even more important. Where we fail is when we try to make snap decisions especially for important tasks that require our full attention. Not only does it take focus and consistency to succeed, but when a person knows what they're doing for the week, day, or hour, they can better focus on tasks and feel better about whatever they're doing. There's a sense of clarity that comes as a result of having a single focus on one thing and executing on it, even if it's not to completion. Helpful Tips for Better Time Management Important Being a master of your time can be a difficult task at first, but with some grit and determination, paving the road to success can become easier. Say you need to meet a deadline for a project with a release in a few days. How can we make our lives easier in a short period of time? 1. Redefine Goals and Expectations The first step is to write down all you tasks including goals, milestones, or whatever you use to describe large bodies of work. This will paint a clear picture of what is and what is *not* a priority. Wins from doing this include: - framing your to-dos to better execute them - freeing your mind from trying to remember why you're doing something - strategizing how to best execute tasks *Pro tip: adding goals and activities you're already currently working on to this list helps make sure nothing is missed.* This doesn't have to be a complicated step with each goal or task being general. In the next section, we'll see how to be effective with this list. 2. Prioritize Goals and Actionable Tasks Now we have a list of things to accomplish and activities already invested in, but we haven't figured out what to perform first. The best way we can prioritize these items is to place value on them. Value can be added to tasks by determing how much of an impact one task can make over the other. We can even timebox them to further increase that value. Ask youself these questions to categorize tasks: 1. Is it urgent and important? 2. Is it important, but not as urgent? 3. Is it urgent, but not important? 4. Is it neither urgent nor important? Remember urgency often has a time limit, and importance can be specific to you or to a group of persons. A couple of examples look like this: 1. Release candidate to deploy to production by 3/1/2021. Urgent because there's a due date, and important because it affects the team and/or business. 2. Technical task to unblock a portion of work. Doesn't have a time limit, but could help unblock yourself or another developer. 3. Make a Plan and Stick to It Lastly, and this may be the hardest part about time management: consistency is another one of those building blocks to success and it's absolutely critical that all of the effort so far does not crash down on us. This one really comes down to knowing how best you work. Whether it's waking up at 4:30 am to get your mind ready for the day or working out to keep your body active, figure out your motivation for the work being done and put it into your schedule. What you gain from doing this is: - a clear visualization of what's being worked on for the day or week - what's up next on your agenda - *when you'll have your breaks to recharge and finish strong* A note on breaks: developers write code, check processes, do code reviews, plan solutions to unique problems, suggest and articulate solutions, and the list goes on. Without scheduled breaks, we'd be on the fast track to burn out before the day's out. Make a plan solid by strategizing about the plan and how you'll *stick to it*. It makes a world of difference to set your work space away from your bedroom, or to work at the office or a coffee shop. Prepare healthy meals ahead of time so you're not skipping meals or eating junk. Workout during the week because your body is a temple, and the mind needs the body like the body needs a fully functioning mind. Tools to Help Structure Your Time As stated before, write things down and block out your time, so you know what you can and can't commit to. Here are a few tools that I use to get me through the day feeling well-accomplished: iCal - makes it easy to import multiple calendars, from one or more email addresses, into a single calendar view. Google Calendar - you won't get the same importing features as iCal, but their interface makes it easy to add shared calendars. If you can find a 3rd-party mail client that offers the same flexibility as iCal, I'd recommend that for the single calendar view. Notion - Notion has changed the way I operate entirely. You can use the free version personally and for work. It just requires that you use one email address per workspace. With Notion, you can: - Take general notes - Keep a work log - Generate to a table of tasks - Set reminders for tasks - Sort tasks into views - Use user-built templates. Some you can buy while others provide instructions on how to make them your own. If Notion isn't the right fit for you, Evernote is another really great tool for assembling thoughts into books, articles, and notes. It also features templates more than Notion does. Conclusion In the earlier example of a deadline for a release candidate, it may feel like there's no time left before that deadline rolls around. That sinking feeling like you're running out of time is the reason you should manage your expectations, priorities, and time. Only good things can come from taking back your time and focusing it. At the end of the day, you can look back and feel a sense of freedom. Be good to future you!...
Mar 8, 2021
6 mins

My Career Roadmap
Every developer has their own unique roadmap. I love hearing these stories as they’re constant reminders that there is no right way. Anyone can become a successful developer as long as they have the passion for it. I’ll be sharing my roadmap in hopes that someone also realizes that there are multiple ways to be part of the programming world. My journey started when I attended a junior college in an effort to complete the prerequisites for a Biochemistry degree. I actually got far enough to start taking Organic Chemistry courses. However, my heart wasn’t in it. I found it boring and dreaded anything related to those science classes. I did find it cool that I could recognize some of the fancy ingredients in a shampoo. It just wasn’t what I connected with. I knew that something had to change. I was on track to transfer to a four year university in less than two years. I was always interested in computers and thought about programming. I still don’t know why I was drawn to that: maybe social media made it look cool? The dilemma was to either continue or take a risk by starting a whole new career. I didn’t want to spend more time at junior college, so I needed to make a hard decision: either continue with Biochemistry or drop it completely to pursue programming, but still transfer within the estimated year. I probably would have chosen to experiment with both at the same time if I had realized this a couple of years prior. However, I ended up changing majors within a week. It was one of the best decisions I have ever made. My first programming class felt a bit scary. The building was run down and cold. The room was cramped. There were only two females (including myself). The course wasn’t hard or discriminating against genders but it probably felt that way due to being completely new to the field and not knowing anyone. It didn’t discourage me from programming. In fact, I still remember typing up my first Hello World program. It was the feeling of writing code that made me realize that I was on the right track. Luckily, the junior college had opened up the new STEM building a year later. This really made the place more welcoming. It was actually pretty cool. There were outlets everywhere! A dream for programmers that we take for granted. One of the courses that I took was Internet Programming. This was a turning point for me. My professor recommended that I participate in the local hackathon that was coming up soon. He suggested forming a team with the two other females in class. I never once thought he was discriminating. I honestly believe that he saw potential in all of us but we were lacking confidence in a male-dominated world. We participated in the hackathon as a female group. It was my first time working with a team and presenting our project to the public. We didn’t win any awards, but it provided some of the confidence that I was lacking. I finally understood that it didn’t matter what gender you are. I found a love of programming and wanted to be one of the best. I ended up getting recruited for a local internship through the hackathon. I was able to learn about realistic expectations when building a project for a client. The lead developer was also very open to teaching a complete newbie. This is where I learned the basics for web development. It was this type of support that helped shape my career. I graduated from junior college with an associates degree in Chemistry and transferred the next semester. The one regret that I do have in my career is the university that I chose. It didn’t have the best resources for the Computer Science students. The classes were boring and most of the professors didn't seem to care. If you weren’t on the game research cohort, you were just another student passing through. During this time, I got a chance to be part of a research team. However, I decided to accept an internship instead. It was another difficult decision as both had great opportunities. I still think that the internship was the best route as it helped me later on. The internship only lasted for the summer. I learned Polymer during this time. The project was my first deployment and it was used by the city. It was also another great confidence booster. I returned to school with the goal to find my first job before graduation. Truthfully, it was very discouraging, even with my internship experiences. Most companies wanted developers with years in programming. They really don’t make it easy for junior developers. I’m almost positive that I placed over 100 applications. When I did get a response, it was a decline. I also attended the career fair that the university organized. That’s where I found the company that gave me a job offer. I started working for them after graduation. This led to web development in the Drupal world for a little over 2 years. It was a small company but provided development growth. I learned the importance of quality assurance and time management. I also acquired the skill to advocate for higher priority tickets. The most important lesson was that a project can only thrive with a unified team and proper documentation. However, the company had a tremendous downsize due to the pandemic. I was once again on the job hunt. Fortunately, the connections I made during the summer internship helped me find a job at This Dot. There was still an interview process, which I passed due to all the career choices that were made. I’m very excited to be here. I’m working with LitElement projects and more structured work environments. It really is a big difference from a very small company. I’m now pursuing the path of being a mentor, a dream that I had since my first internship. I’m working on improving a mentorship program and making sure my mentee has all the support she needs. I barely have a bit over 3 years of work experience. The time went by very quickly and I’m still excited to be programming. I can’t wait to see where my roadmap will be in the next upcoming years. Tweet me your favorite moment in your roadmap!...
Feb 2, 2021
4 mins

The Importance of Finding a Career Mentor
What is a Mentor? > Mentor (noun): an experienced and trusted adviser. > "He was her friend and mentor until his death in 1915." > Similar: adviser, guide, confidant, confidante, counselor, consultant > - Google A mentor is someone who can be approached for advice. Some are informal like parents or friends. Others are more official through work. Regardless of their title, a good mentor is someone who can help you move forward. However, mentors are not for everyone. This is completely fine. There is no right or wrong path when it comes to advancing your career. Keep in mind that mentees have just as much responsibility as a mentor when participating in some form of mentorship. I have had a few mentors since my early years of being a developer. It wasn’t until the last few months that I got assigned a formal mentor. It’s been a great experience for me in both scenarios. There are many highlights that I want to share with you. These are some of the main reasons why I advocate for mentoring programs for career development. 1. Coding Skills Developers thrive by being exposed to all types of coding styles. I especially learn more when someone can review my code and provide feedback on improvements. There’s only so much you can learn from reading code or documentation. My mentors have provided their thoughts on different approaches to coding. One advice that has stuck out to me is the need for comments. Time can be saved by writing useful comments for future development even if you’re the only coder. They’re meant to explain the code versus having to take time to translate the lines into your native language. A mentor’s time is valuable. The less time they need translating, the more time they can provide a good review of your code. I knew that comments were important but it wasn’t until it was emphasized from someone that I respected that their value solidified in my mind. Some mentors are able to let you shadow them during their work day (mentees should also feel comfortable requesting this). If you have this opportunity, take it. You will be getting a first hand experience of how another developer reviews a task and implements it. I recently learned from a mentor that technical design documentation is crucial when preparing to add a major feature. It’s important to centralize the data and propose the best solution for the team along with your reasonings. This is something that was never mentioned in any of my college courses. 2. Work Culture Your mentor will have more experience with the company. Listen carefully to their time there. They can point you in the right direction when it comes to work related issues or concerns. For example, you will want to know how to officially request time off. If the mentor doesn’t know, they should be offering to help. Mentors are also great for connections. You may want to learn a new technology but your mentor may not be familiar with it. They might be able to recommend another developer. Let’s not forget that they have experience working in teams. This is a necessary skill to grasp as soon as possible. There may be times when you work with someone with a personality that doesn’t mingle well with yours. Your mentor may have worked with that same person or someone similar. They can surely provide advice on how to interact with this person. 3. Confidence Boost I can’t tell you enough how much it’s helped me be more confident as a developer when hearing my mentors voice their same concerns. I’m still considered new in the world of developers with almost 3 years of work experience. There are times that I experience imposter syndrome. I couldn’t believe my ears when a senior developer said that he still gets that same feeling. This was coming from a man who is highly respected in our community and has led multiple projects over his entire career. If someone like him feels the same, I honestly shouldn’t worry about it. It’s simply a feeling that everyone experiences. This syndrome doesn’t make me or you any less of a developer. It also helps to hear a mentor say that you’re doing great. It not only makes you feel better hearing it from someone you respect in the field, but it also gives you an insight that you are making good decisions. I was told that my compassion for newer developers is an excellent attribute to have. This was so important for me to hear from a mentor because one of my goals is to become a good mentor. Appraisals are great confidence boosters in any career role. It’s like getting a gold star in elementary school. Moving On Unfortunately, there are some people that are not meant to be mentors. If you happen to find yourself as a mentee in this situation, you need to move on. Find someone who you can safely share your concerns with. This may be the human resources department. They will probably give you suggestions on how to improve the situation before completely removing the mentor. Be open to their suggestions, especially if there is a chance of salvaging. However, there are times that you may have to push back. Don’t let this discourage you, though! This mentor was just not suited for you or maybe they really weren’t ready to be a mentor. This also applies for mentees. Mentors have the right to end the mentorship due to mentee participation. A mentoring relationship succeeds when both parties have their hearts in it, just as any relationship. Final Thoughts Mentors are practically anchors at the end of the day. They’re amazing people that remind us that we can one day be in their shoes: formally or informally. They are there for you! Don’t be afraid to talk to them. Send them a message! Make meetings! Take charge if needed! Mentors signed up to be available to you. It saddens me greatly to hear mentees get discouraged with their careers because their mentors refuse to do the program they signed up for. I recently became an official mentor for the apprenticeship program at This Dot. I want my mentee to feel comfortable talking to me. I truly believe that a mentor should be available and provide feedback and encouragement. Tweet me with your mentorship experiences! Are you in any? Planning to? Scared and need a push?...
Jan 26, 2021
5 mins

Introducing This Dot's PAMstack Services - Process Improvement Consulting for Technology Organizations
During these challenging and uncertain times, many companies are taking additional measures to review their operational processes, and determine how they can act most efficiently, while maintaining concern and focus for their employees. Development team leadership is looking for a way to ensure that their employees remain engaged and productive, while developers demand more clarity and understanding to help them perform despite the anxieties currently impacting every global industry. Now is the time for leadership to develop clear plans of action not only for the remainder of the COVID-19 pandemic, but looking forward as well- to when developers come back to their workplaces, and a sense of relative normalcy returns. To help support teams, eager to audit their operations, and implement more clear and stable processes for leading their teams, This Dot Labs is now proud to offer a new resource through the PAMstack. WHAT IS THE PAMSTACK? In short, the PAMstack (Process, Abstraction, & Mentorship) is a modern framework for creating sustainable development teams. It is not a list of rigid and inflexible rules, nor does it rely on mountains of documentation. Instead, the PAMstack empowers developer teams to streamline their processes, promote workplace inclusion, and better outfit their projects to promote collaboration. Teams do this by auditing their processes to incrementally simplify complicated workflows that rely on personal excellence above teamwork, migrate their technologies to leverage highly documented modern web tools, and create intentional mentorship programs to invest in team longevity. By implementing this customizable program, teams will expect to reduce project and hiring budgets, increase productivity, mitigate workplace stressors, and better diversify their workplaces both demographically, and technologically. WHAT DOES THIS DOT LABS INCLUDE IN ITS PAMSTACK SERVICES? Leaders who are interested in exploring how the PAMstack will transform their developer teams are encouraged to contact hi@thisdotlabs.co to schedule their free 1-hour process audit with one of our expert PAMstack architects. In this session, we will explore how your team can take advantage of the PAMstack, including sample process plans, checklists, and documentation; 1:1 mentorship, team workshops, leadership development, staff augmentation, architectural reviews, and the support of This Dot’s large network of industry leaders. If you are not a team leader, but are interested in learning more about how to implement PAMstack principles in your own processes, we have made many of our resources, and documentation available free on our For Developers page. There, you can access free workflow checklists, review example process documentation, explore leading technologies, and check out tips for introducing mentorship programs to your workplace. To learn more about the PAMstack from one of its lead architects, Rob Ocel, you can listen to this talk, or check out our new website: thepamstack.com! And if you’re ready to begin your journey with the PAMstack, schedule a complimentary process audit today by contacting us at hi@thisdot.co!...
Apr 13, 2020
3 mins
Let's innovate together!
We're ready to be your trusted technical partners in your digital innovation journey.
Whether it's modernization or custom software solutions, our team of experts can guide you through best practices and how to build scalable, performant software that lasts.