Skip to main content

Command Palette

Search for a command to run...

Overcoming Day 1 Challenges in My Web Development + DevOps Journey

Published
2 min read
H

I am a software engineer with a strong background in competitive programming and backend focused development.

I graduated in IT from Army Institute of Technology, Pune (2025) and currently work at NxtWave, where I build and review technical content around data structures, algorithms, and problem solving.

My recent work is focused on smart contract and protocol development using Solidity and Foundry. I enjoy building systems where correctness, security, and clear invariants matter such as token vesting, staking mechanisms, and upgradeable protocols.

Earlier, I spent several years in competitive programming (Codeforces Expert, 5★ CodeChef), which shaped how I approach problem solving, edge cases, and testing.

On this blog, I write about the design and implementation of smart contracts, testing strategies, and engineering tradeoffs I encounter while building Web3 protocols.

Day 1: Building the Basics

Today, I focused on a few core areas that form the backbone of both web development and DevOps. Here's a quick rundown of what I covered:
1. HTML: The Structure of the Web

2. CSS: Adding Style to the Structure

3. JavaScript: Bringing Interactivity to Life

4. Linux & Bash: The DevOps Toolbox

Here’s a look at the key challenges I faced and how I overcame them.

Challenge 1: CSS Layout Confusion

While working on a basic webpage, I struggled with getting the layout right. My elements were all over the place, and no matter how much I adjusted the margins and padding, things just wouldn't align properly.

Solution:

I realized the issue was my lack of understanding of the CSS box model. After a bit of research, I found out how the box-sizing property affects element dimensions. Setting box-sizing: border-box; made everything fit together much better. Also, using flexbox instead of relying solely on margins and padding gave me more control over the layout.

Challenge 2: JavaScript Asynchronous Hell

JavaScript promises and callbacks were another tough spot. While trying to fetch data and display it dynamically, I found myself stuck in a mess of nested callbacks, making the code hard to read and maintain.

Solution:

I decided to dive into async/await, which significantly simplified my code. By converting my callback-based approach to an async function, I was able to manage asynchronous tasks in a more readable and maintainable way. The code became cleaner, and debugging got easier.

Challenge 3: Bash Terminal Permissions

While working on Linux, I faced issues with file permissions in the bash terminal. Some scripts refused to execute, throwing permission denied errors.

Solution:

I learned about file permissions and how to use the chmod command to modify them. By setting the correct permissions with chmod +x, I was able to execute my scripts without any issues. This experience highlighted the importance of understanding and managing file permissions in a Linux environment.

Conclusion

Day 1 of my Web Development and DevOps journey was packed with learning and problem-solving. The challenges I faced not only taught me valuable lessons but also boosted my confidence in tackling new problems. As I continue this journey, I’m excited to see what new challenges lie ahead and how I’ll overcome them.

If you're facing similar challenges or have insights to share, let's connect and discuss!

More from this blog

Untitled Publication

17 posts