DEV Community

loading...

A Candid Look at My First Day as a Developer

Patrick O'Dacre
Enthusiastic Builder at BuildToLearn.io - sharing my adventures w/ Go and Blockchain
・4 min read

It was my first day on the dev team, and I was excited.

Being a "real" developer was something I had wanted for over a year, and now I felt like I had finally made it.

I sat in a large open room with about 12 others. The large floor-to-ceiling windows all around filled the room with Monday-morning sunlight adding to the feeling that I had indeed moved up in the world.

Our team had two QAs, a project manager, and a designer. The rest of us were developers.

Developer... I let the word turn over in my mind and savored it. The satisfaction that I could at last use it to describe myself was deep.

I sat in the middle of all that typing and tried hard to maintain some composure; I couldn't let on just how thrilled I was to be in that room. That just wouldn't be cool.

I sank into that big comfy chair and quietly reflected on all the hard work that had brought me there.

For years I had struggled in self employment. I had worked as an SEO consultant, a WordPress theme tweaker, and even as a general handyman for a local home renovation contractor.

Truthfully, I had very few real skills. At least, not in an area that made me proud of who I was professionally. I was in my mid-30s, and had missed so much time with my family because I just couldn't get it together. For a long time I had felt like a failure as a husband and father.

A Turning Point

Winter 2014 I was laid up at home without work. The cold weather meant a slow period for the contractor that employed me, and the thought of going back to my SEO consulting to pay the bills left my stomach in knots.

I was sick of being unskilled. I was ashamed of not having anything valuable to offer others.

I had always been a bit of a nerd, and though programming seemed pretty far out of reach, I would often wonder out loud if I should go for it. My neighbour was a developer. He worked from home and seemed to enjoy a lot of freedom of time. If only I could do it, too.

It was after one of these musing when my wife finally said, "You know, if you had started learning to code a year ago when you first mentioned it, you'd be pretty good by now."

I couldn't refute the good sense of her words, and right then and there I resolved to finally learn to code.

A New Journey Begins

It was a tough road, but I was blessed enough to meet people that helped me learn.

I invested countless hours working my way through online courses on Egghead, Pluralsight, Treehouse, FreeCodeCamp... I would wake up at 4am to start, and work right up until the evening.

Within 10 months I got my first job as a WordPress developer, and within 6 months my next job as a JavaScript developer with that same company.

I was now sitting in "the dev room."

I basked in the satisfaction that comes with harvesting the fruit of some very long and hard labor.

It was one of the best days of my professional life.

But I wasn't nearly as prepared as I thought.

It wasn't all great that first day, though. That was also the day I experienced my first attack of impostor syndrome.

It was not pleasant.

I wasn't in my comfortable environment, working by myself, on a code base I knew like the back of my hand.

I wasn't working through a PluralSight or Egghead course where I could pause and repeat something I couldn't understand.

Instead, I was looking at a huge application, with a git commit history that made my head spin. I was sitting in on meetings and discussions where I understood only a small fraction of what was being discussed.

Wow, these folks were smart.

Load balancing, sessions, migrations, seeders, cherry picking, rollbacks...

Our team Skype chat was filled with "pushing to dev," "can someone jump on 345?" "366 needs to be a hotfix."

I was in way over my head.

I understood JavaScript objects, prototypal inheritance, css / sass, object oriented programming... but this was a whole new level.

My confidence was thoroughly shaken.

I was humbled.

An Opportunity for Massive Growth

Fortunately, I had others around me to help me navigate the panic.

They were able to impress upon me that my greatest learning was about to begin.

With their encouragement, I managed to scramble my way from inexperienced "junior" developer to confident and valuable contributor to a huge piece of software.

I've come to believe that your most significant growth as a developer will come from working with others in the context of a real business project; courses, tutorials and workshops provide great value, but they lack the full context necessary to foster real expertise. They are very good at getting you familiar with a topic, but you really need to take what you learn and use it in context to make it stick in any meaningful way.

I didn't start to feel like I knew what I was doing until I had invested months of my professional life into hashing out requirements with designers and fellow developers, discussing problems, fixing bugs and responding to changing requirements.

In your learning, there is simply no substitute for taking an idea from napkin sketch to live deployment.

Learning In Context

I'm willing to bet many other budding developers are like myself -- plugging away at online courses, completing to-do apps, learning frameworks, but never really applying that skill in the context of a full project.

Becoming a successful developer involves more than just an understanding of the latest JavaScript frameworks. Qualified developers know how to get things done.

If you'd like to work on a real project where you're free to explore and make many mistakes, please let me know.

Discussion (16)

Collapse
aleksikauppila profile image
Aleksi Kauppila

Interesting story, thanks!

There's no shortcuts here. It's just about putting in the hours and learning while working. If you're working for a good company that allows you to patiently grow good things will come out in time.

I focused on frameworks and tools when i wasn't working yet as a developer. My supervisors however quickly steered me to a direction of just becoming a better programmer in general. That brought in kind of sense of calm for me because i know these skills allow me to learn new languages, tools etc more easily.

Collapse
patrickodacre profile image
Patrick O'Dacre Author

That is excellent advice.

I did the same and focused on the fundamentals.

Consequently, I was able to quickly get up to speed with the Angular / Laravel stack we used.

Having a firm foundation definitely made the work less stressful.

Collapse
azeem115 profile image
Azeem Abbas

You're so lucky to have supervisors who alongside handling the clients and managing the company take the time out to guide their employees. Sadly we don't have such environment here in India.

Collapse
douglaswebdesigns profile image
Paul Douglas

Patrick,

You and I have been in communication for a few years now and I am so happy to read this story a know that my prayers for your future as a "developer" have been answered.

You have come a long way since I first met you and now that you are where you set your goal at, let me ask you, what's next?

Collapse
patrickodacre profile image
Patrick O'Dacre Author

Hey brother!

Good to see you here, and thank you for your kind words :)

It feels like it has been a long road since we both began, eh?

Professionally, the next step is to continue learning the full stack of development and help others navigate the roads I'm travelling.

I've had so much help along the way that it would be very satisfying to help others.

My new project is here - buildtolearn.io

I've already started working on the first app for an aspiring entrepreneur, but if you know of a need for another, please let me know and I'll peg that for project #2.

Collapse
douglaswebdesigns profile image
Paul Douglas

You know what, I would love to talk to you about an app I have in mind for missions. Let's talk about that. Where can I email you at? Message me on Twitter.

Thread Thread
patrickodacre profile image
Patrick O'Dacre Author

Reply sent ;)

Collapse
dreamwithnokz profile image
Nokz

Thank you very much for sharing this story! It is very helpful as I have now a little bit of an idea of what I should expect when I get hired in a company and work with a team of developers. I'm currently a student and just by reading your story, it excites me to be in a dev team also!

Collapse
patrickodacre profile image
Patrick O'Dacre Author

Thank you! Glad you found it helpful.

There's so much I wish I knew before working on a team. I look forward to writing more that I hope will help many others.

Be sure you document your progress here on dev.to. I'd love to read what you have to say.

Thanks for the comment!

Collapse
leob profile image
leob

Very well written, a good and fun read!

It occurred to me that, even before your first day in a professional job, you could obtain some of the experience by collaborating on open source projects. Not 100% the same (the group dynamics are different), but it might give you a feel of "the real thing".

Collapse
patrickodacre profile image
Patrick O'Dacre Author

Thank you, @leob .

That is a good suggestion, and one I would consider more seriously if I had to do it all over again.

Though the dynamic would be a bit different, true, I agree that there is tremendous value in working with a team.

Of course, you have to be with the right team; senior devs would have to communicate in a way that juniors would glean some wisdom, and juniors would have to observe with purpose.

All that said, I THINK I would have been more comfortable had I understood the full stack a little better. If I had a more firm grasp on the full context of an application, I would have had more confidence when interacting with the team.

While OSS may be A road to learning that fuller context, personally, I think it would be faster to just build full apps of my own. I put a lot of hours into studying, so I would feel slowed down if I were forced to follow another's schedule.

Collapse
gene profile image
Gene

It's so inspiring to see self-taught developers around here. Keep it up!

Collapse
yechielk profile image
Yechiel Kalmenson

Thanks for writing this up!

As someone who will be starting his first dev job in 2 weeks, this couldn't come at a better time!

Collapse
patrickodacre profile image
Patrick O'Dacre Author

Glad you liked it. Thank you.

And congrats! Please do a similar write up to let us know how your first day goes. I'd love to read about your experience.

Collapse
azeem115 profile image
Azeem Abbas

Inspirational Pat!

But I would like to know, how did you pass the job interview?

Collapse
patrickodacre profile image
Patrick O'Dacre Author

Thanks, Azzem!

The interview wasn't a problem, really. I had a good grasp of my tools and software development fundamentals at that stage.

What freaked me out on the first day was the exposure to all the other facets of development I hadn't yet experienced -- server admin, API design, working with git on a team with a tool like Beanstalk App.

I was also somewhat comfortable working with designers, but working effectively with product managers and QA was something I had to learn on the job.

In sum, I'm not comfortable until I understand the bigger picture and my particular role within that picture.

Getting an intimate feel for the larger machine of which I was a part took some time. It was humbling because I don't like to look inexperienced, and I wished I had the opportunity to understand the larger picture in a more sandbox-like environment.