DEV Community

Cover image for Standout as a Junior Engineer: Work slower to grow faster
Jake Page for Glasskube

Posted on

Standout as a Junior Engineer: Work slower to grow faster

I recently finished one of the most important books I think I’ll read this year. Slow productivity: The Lost Art of Accomplishment Without Burnout by Cal Newport is a short but value-dense read that unpacks what it is to be productive in the knowledge work economy. The book coalesces around three main directives to unlock quality work without burning out.
By “doing less“, “working at a more natural pace“, and “obsessing over quality“ the author argues that our best work is yet to be done. Another key concept explored in the book is what Mr. Newport calls “pseudo-productivity”, the faulty heuristic that has emerged as a way to measure the productivity of knowledge workers and how detrimental it actually is to produce the work that actually matters.

book-cover

As a computer scientist himself and general topic book author, famous for books like Digital Minimalism and the NYT bestseller Deep Work, the author speaks to a broad audience, knowledge workers of any industry and seniority. What I would like to do in this blog post is to apply some of the primary ideas from the book and apply them specifically to engineers starting out in their careers.

As a relative newcomer to the field of Kubernetes and Cloud engineering myself, I have found a lot of success applying many of Cal’s ideas around productivity and it would be a shame for other Junior engineers to miss out on the ideas which I believe can really help propel their careers. Below I will explain some of the most important ideas applicable to Junior developers and also add a comprehensive list of actionable tips at the end.

⚠️ Disclaimer

1- Even though I’m writing this with Junior Engineers in mind, most of the ideas and general tips I’ll provide are applicable to most roles and seniority.
2- I work remotely and understand that some of these ideas might not be as applicable if you are working in an office setting. I will do my best to adapt advice for in-office settings when applicable.


Before I forget, let me thank Glasskube for allowing me to take the time to create content just like this. If this is the first time you've heard of us, we are working to build the next generation Package Manager for Kubernetes.

If you'd like to support us on this mission we would appreciate it if you could
⭐️ Star Glasskube on GitHub 🙏

thanks for the support

Quality work and Pseudo-productivity

How can you judge what you can’t measure? As an engineer, how do you know if you are doing a good job? How do you know if you are an effective team member or if your work has a real impact on the overall business? If you were a farmer or a factory worker, it would be much easier to measure your productivity. However, in knowledge work, defining “productivity” is much harder to pin down.

Now, since everyone is just a DM or Slack message away, a heuristic that has emerged to measure our impact is pseudo-productivity. This encompasses all the work that revolves around the actual work we are here to do. We appear productive when we are answering emails, responding to DMs, spending time in meetings, and checking metrics. We often feel compelled to perform these tasks, especially when we spend a lot of time working on something that doesn’t have an obvious output just yet.

busy

Pseudo-productivity is performative and gets in the way of the “real work”.

What is “real work“ anyway? This will change for every engineer of course but a question that might help you in case you are in need of a definition applicable to you.

Try to think of yourself in the future, what work will you be most proud of having produced? Are you going to remember all of the emails you got back to and all the meetings you attended? Probably not, what is going to matter to you is the quality work you were able to produce in the time your weren’t doing all of the other tasks.

One of the three ideas in the book is to “Obsess over quality“. If you are a Junior Engineer I would try to internalize this point above all others because it’s the kind of work you can lean on to progress through your career and it’s also the only kind of work you are going to care about when you retire. There are two things that might get in the way of producing quality work. The first is all of the pseudo productivity tasks you have to do and the second is your ability to focus.

Distraction is the silent killer

Every individual has their own strengths and weaknesses. Unfortunately, no matter how your unique constellation of qualities and skills makes you stand out, it won't matter unless you can produce cognitive effort for sustained periods of time. Our ability to focus has been greatly diminished by the rise of smartphones and algorithmically enhanced apps and services cleverly engineered to capture our attention.

distracted

When was the last time you were able to sit down to read a book for more than 15 minutes without picking up your phone? If you don’t mind me asking, when was the last time you went to the bathroom all on you lonesome, no phones in sight?

The issue of seeking entertainments or relief from boredom from moment to moment is bad for a long list of reasons that many have articulated much better then I could. So I will only focus on one.

As an up and coming knolwedge worker you will be valuable for your capacity to focus over non trivial streches of time to produce solutions, services, projects etc. You will need to adapt and learn new skills as times goes by and there is no way to do so unless you protect your capacity to focus.

In many remote and engineering settings, distractions can come from anywhere. On the professional side, you have to consider how many tools and platforms send notifications your way. How long are your meetings? Do you have your camera on and a second screen only you can see?

On the personal side, it’s important to know your triggers. Does Reddit have a particularly strong pull on you, or maybe it’s YouTube? The danger is that most sources of distraction can be justified as helpful for your work. You might hear justifications like, "Where would I be without YouTube University?" or "How could I keep up to date without being on Reddit or X?"

One of the most important messages I want to convey is that you simply cannot produce quality work if you are distracted. Avoiding distraction is easier said than done, especially when pseudo-productivity (with all its distracting pings and notification bells) is the way your output is measured.

What are knowledge workers paid for?

The second idea of Slow Productivity says to “Work at a more natural pace“. To come to this conclusion, in the book, Mr Newport goes back in time and tries to understand how the Knowledge workers of the past (Writers, Scientists, philosophers) approached productivity. What he found is that we nowadays we consider Marie Curie and Jane Austin among others to be incredibly productive individuals having contributed hugely impactful and valuable bodies of work. But if we look at any particular year in the lives of these important figures we can see that they weren’t particularly busy.

Marie Curie was known to take long vacations interrupting important experiments that would eventually lead to a Nobel prize because it was how she organized her life with her family.
What I would like for you to consider, applying the idea of productivity to your life is the idea that you career will be long, and there will be ups and downs. Moments of intense work and others of relative inaction. You have to embrace them all the same because productivity in engineering requires that you actually understand what you are doing, the context around it, and the reasons why a specific approach is taken over another.

Here is an anecdote Cal Newport mentions in his podcast whcih I find fitting. At dissertation conferences for Masters and PhD students, Cal noticed speakers emphasizing "getting your writing hours in" with phrases like "Did you get your writing in today?". When it was his turn, he challenged this by asking, "Forget about the writing, are you getting your thinking hours in?". Often, we confuse busy work with our real job: creating value with our brains

Thinking and understanding are the non-negotiable prerequisites to adding value and growing in your career, and they take time.

programmers-thinking

Take the following example,

Imagine you join a team as a newly minted Cloud Engineer and learn how to deploy apps using ArgoCD with a GitOps approach. The team lead shows you that ArgoCD monitors a target Git branch, ensuring the Kubernetes cluster's state matches it. You become an expert at managing this setup, rolling back deployments effortlessly by pointing to a previous branch state. But what happens when you join another team that uses Git tags instead of branches, or Flux instead of ArgoCD, or a completely different approach to Continuous Delivery? Without understanding the high-level concepts, mechanisms, and reasons behind them, you won't be an effective team member.

Don’t be mistaken and think that you are there to simply maintain systems that have been created by others. You are paid to understand, think, adapt, learn, and improve. If you protect your capacity to focus, your capacity to learn will be intact. Keep on learning and you will always be valuable. Actually enjoy what you are learning? Then you are unstoppable.

Rethink your week

To take full control of your career, understand how you want to grow, and get closer to producing quality work you'll be proud of decades from now, you need to prioritize the projects or "buckets" you dedicate your time to.

Often, we unknowingly focus on too many projects at once. We might be learning a new coding language while we start a new side project, writing a blog post here and there, all while handling the tasks that pop up on our works kanban board during the week. This approach needs to stop. You have to take a step back, identify the projects you want to prioritize and work on one, or at most, two at a time.

plan-the-week

Not every job is flexible enough to let you work on what you want when you want to. However, if you have a clear idea of your professional priorities, you can align your tasks with these priorities and request them when they arise. As a junior, and even at higher levels, you'll have to do tasks you might not enjoy. But you can at least try to reduce the time spent on those tasks to focus on the work you want to excel at.

Use Case:

Suppose you have to balance two types of tasks: internal developer support (which you don't enjoy) and implementing a new infrastructure provisioning platform using Account Factory for Terraform (which excites you). You can plan uninterrupted blocks of time to work on your desired tasks and bundle the support-related tasks into other time blocks. Multitasking and sharing mental bandwidth between both tasks will reduce the quality of each.

A useful strategy that Mr. Newport talks about is having a visual and ordered task board separated by the “holding tank“ which is planned work organized in order but that isn’t being worked on yet, the “Active” swim lane, which is what you are actually working on and the “Done” column, you are probably already using one. Apart from using the board to contain the tasks you have, make sure the tasks represent in real-time the order in which you will execute the tasks and the current tasks you are working on.

Make sure that anybody who asks you for new ad-hoc tasks during the week, make sure to communicate where in the task pool the tasks land and how long it will take to get to it. If an incoming task has to be pushed to the front on the line, make sure that you communicate to any potential stakeholders the delay this might incur to other tasks on the list.

Trello-board

Your manager is your ally

You might feel guilty about approaching your manager with “selfish“ task preferences but you shouldn’t. It’s helpful to put yourself in the shoes of a manager, team lead or boss. If you are on their team, almost always the boss wants one thing from you.

A manager simply wants you reduce the amount of stress they themselves have to carry. A manager simply wants to have the confidence to that if you are tasked with something, that you are going to be able to take care of it.

A good manager will greatly appreciate a team member making a concerted effort to work in a systematic, communicative way that values quality over pseudo productivity. If you can communicate effectively to your manager the tasks you have on your plate, and the order in which you are going to deliver them, they can now rest assured that it will be done. It is then up to you to organize your day to make sure you deliver and preserve the confidence your manager has in you.

boss

Some ideas to bring up with your manager:

  • Communicate goals and projects during 1:1 meetings.
  • Align these goals with your company’s yearly career progression assesments.
  • Take a look at the triage task channel before the triage meeting to see which tasks you will volunteer for.
  • Request additional resources to assist you in creating quality work.
  • Align on communication and time expantancy for replies if working remotely.

Actionable tips

Use time blocking, not to-do lists

Todo lists haven't ever fully worked for me, depending on how I'm feeling or how long I perceive a task might take, I often end up picking and choosing tasks, which leads to dragging out the ones I'm less excited about doing and pushing tasks endlessly from one day to the next.

Time blocking, on the other hand, adds the missing structure lacking in to-do lists. By planning exactly when you will do deep work, communicate with others, and rest, you’ll be surprised at the amount of quality time you have each day. Time blocking allows you to plan your week or day once, decide on your plan of action, and move through your day in a much more intentional way.

A good rule of thumb is to book more time than you think you’ll need to complete a task. We tend to underestimate how long tasks will take. If a task runs longer than expected, cross out the upcoming tasks and amend the schedule accordingly.

If you have a series of small tasks, bundle them and execute them in a designated time block. If you know you need to collaborate with others on a topic, block the time you will dedicate to communication and try your best to get it all done within that designated time. This way, you can then turn off notifications and reduce distractions when working on projects that require deep focus.

Mr. Newport is a big proponent of time blocking and even has a time block planner you can buy to track four months' worth of work. Of course, you don’t need it to start time blocking yourself, but having a dedicated journal for this purpose can be handy. The journal also comes with more in-depth guides on how to make the most of this method of organizing work.

time-blocker

An added layer I like to incorporate into my time planner is pairing it with an online Pomodoro timer. I match each time-blocked segment to a Pomodoro of the same duration. During a Pomodoro session, no distractions are allowed. Only the task designated in the planner can be worked on during that time.

Reduce meetings

For most of us, we don’t have the freedom to pick and choose when we have meetings. However, we can propose meeting-free days at least once a week. We can advocate for being more mindful of everyone's time if we see that meetings routinely go over the allotted time. Pushing to prepare for meetings is another way to influence the length of the meetings we are involved in.

Most people are equally underwhelmed by meetings and will appreciate their reduction, as long as the quality of the work and collaboration doesn’t suffer.

Status updates, notification blocking, and phone restriction

Most IM platforms like Slack, Discord, and even your desktop and mobile devices, have status modes. Use these status modes to communicate to others whether you are available for synchronous interaction or if you are in a deep work session.

The added benefit is that these status modes also block or modify notification settings, reducing or even eliminating ping noises and pop-ups altogether. The cost of breaking deep focus time is high, so don’t feel bad for not being 100% available for real-time interactions all the time.

discord-screenshot

If you are still unsure about applying such strict restrictions, consider the findings is this study published in Nature magazine, which found that the simple presence of mobile devices reduces basal attentional performance.

Track personal metrics

It’s hard to know if you are living up to your potential or if you are improving in the ways you care about unless you track some personal key metrics.

These are the metrics I find useful to track are:

  • Exercise (did I exercise that day not).
  • Deep hours worked.
  • Healthy eating.
  • Did I do the shutdown routine or not.

personal-metrics

Have a shutdown ritual

Cognitive capacity is a limited resource. Like our physical body, it needs time to recover and replenish, especially after productive workdays full of deep focus. You might feel tempted, due to notifications or out of habit, to look at your emails, check certain KPIs, or follow up on an open thread or a pesky task you weren’t able to fully complete.

With a shutdown routine, you can have tasks that allow you to appraise the work done during the day. If there are any open threads or tasks you need to carry over to the next day, the shutdown routine is the time to address them. Some possible shutdown routine tasks might be:

  • Check emails.
  • Check notifications.
  • Update tickets.
  • Communicate with teammates.
  • Reviewing and noting any incomplete tasks.
  • Add tasks or ideas to consider tomorrow.
  • Check KPIs, and metrics for the last time.
  • Update personal metrics.

Schedule time for undistracted thinking

This has probably been one of the most difficult tips for me to apply personally, as I often justify constant podcast and audiobook consumption under the guise of "being informed" or simply "curious." The fact is, with so much interesting and relevant content out there, we run the risk of constantly consuming information. This practice can be counterproductive to maintaining a high capacity to focus. If you're constantly consuming content, there is less time to actually process what you're taking in.

For me, scheduling undistracted thinking time has meant changing these behaviors:

  • Cooking my lunch without listening to anything
  • Doing grocery shopping a few times a week without earphones
  • No speakers booming while in the shower
  • No phones in the bathroom, for that matter

Don't get me wrong, there is a time and place for consuming quality content. I will never stop listening to podcasts or audiobooks, but I will be much more attentive to allowing my brain uninterrupted time to just think.

ChatGPT is really good at explaining things

We all know how incredibly influenced we are by the people around us. Hopefully, you'll have the experience of working with highly talented and experienced senior engineers in your career and learn from them. Consider ChatGPT a senior engineer who is always sitting right next to you, ready to help you understand the issue at hand.

Notice that I recommend treating ChatGPT as a senior teammate and not as a personal assistant. You wouldn’t ask a senior team member to do the work for you, instead, you would ask for explanations if you lack understanding of certain topics.

Of course, be aware that the current state of the art in LLMs still tends to hallucinate, so you shouldn't take its output to the bank. However, using LLMs as tools to work through complex concepts and gain a deeper understanding is a cheat code older generations could only dream of.

Conclusion

If I were a young junior engineer starting my career now, I would probably feel unsettled by the many conflicting signals out there. Will AI take my job? How can I stand out among so many other talented up-and-comers? How can I keep my skills sharp and relevant? If you have these anxiety-filled thoughts, it's okay. It's entirely valid to feel unsure, and believe me, you are not alone in second-guessing your career decisions.

Nobody knows what the tech field will look like in ten years, five years, or even one year from now. Since we can't control the future, focus on what you can control. Inspired by Cal Newport's principles, the closest antidote to uncertainty is self-investment.

You are your biggest asset. Your capacity to produce quality work will keep you relevant in the workplace. Quality work requires understanding that cognitive effort is finite. It isn't done in a rush, and distractions sap your ability to focus. Bad cognitive habits can completely throw you off your stride.

Take a step back, inhale deeply, and envision a long, evolving career. Remember that no single day is especially important. Work at a pace that prioritizes understanding and constructive thinking over simply completing tasks. The systems you put in place and the priorities you choose to protect will lay the foundation for a career you will look back on with pride.


Help us make more content like this!

At Glasskube we're putting a lot of effort into content just like this, as well as building the next generation package manager for Kubernetes.

If you get value from the work we do, we'd appreciate it if you could
⭐️ Star Glasskube on GitHub 🙏

star-on-github

Top comments (20)

Collapse
 
z2lai profile image
z2lai • Edited

Love that meme about typing vs thinking. Best article on dev.to ive read this year. There probably is a direct correlation between how much you type vs think and how good at programming you become as you progress from coding monkey to senior developer.

I've probably progressed backwards in the first three years of my career. Being given multiple projects to work on simultaneously and doing quick shallow work to meet deadlines, learning nothing and eventually burning out to the point where my productivity and ability to learn is screwed by my terrible health. Now im taking it slow, very slow, and I'm starting to be more productive than I ever was and finally producing work that I'm proud of, in between the bad days of brain fog I still get every week.

Collapse
 
ebenofere profile image
Eben Ofere

This is the best article I've read in a while. Thank you.

Collapse
 
jakepage91 profile image
Jake Page

Thanks a million for the feedback Eben!

Collapse
 
karadza profile image
Juraj

Shutdown rituals are underrated.
Great post!

Collapse
 
jakepage91 profile image
Jake Page

They sure are! Thanks Juraj

Collapse
 
manuelibidun profile image
Manuel Ibidun

Pairing time blocking with pomodoro has worked really well for me. And by the way, the tips are equally useful for senior level developers too

Collapse
 
jakepage91 profile image
Jake Page

Happy to hear that Manuel! Thanks

Collapse
 
manuelibidun profile image
Manuel Ibidun

Amazing post! Thank you for summarizing the book so well 👏🏽👏🏽👏🏽

Collapse
 
notyourcoder profile image
Not-yourCoder

Don't mind me but i read this while i
I was in toilet. Great one.

Collapse
 
akuoko_konadu profile image
Konadu Akwasi Akuoko

Thanks, much needed advice in the age of distractions

Collapse
 
jakepage91 profile image
Jake Page

Cheers Konadu

Collapse
 
mitchiemt11 profile image
Mitchell Mutandah

Great article. Very helpful information!

Collapse
 
mcondon profile image
Micah Condon

so much helpful information here! Adopting even a couple of these habits will make a difference in your day to day experience at work and your long term career trajectory

Collapse
 
jakepage91 profile image
Jake Page

Huge thanks Micah!

Collapse
 
_ndeyefatoudiop profile image
Ndeye Fatou Diop

Such an amazing post 😌

Totally agree with you!

Collapse
 
jakepage91 profile image
Jake Page

Huge thanks Ndeye!

Collapse
 
vincanger profile image
vincanger

yeah this is solid advice. good reminder to reconsider how I work.

Collapse
 
gatere profile image
Elvis Gatere Kinyanjui

So good!!!

Thanks Jake!

Collapse
 
andradesampaio profile image
Andrade Sampaio

Congratulations for the post.

Collapse
 
jakepage91 profile image
Jake Page

Valeu mesmo Andrade