Design Pattern Evangelist Blog

Smart pointers about software design

Maintained by Jim Humelsine | Table of Contents | RSS Feed | Edit on GitHub

WORK IN PROGRESS – Career

TBD


Introduction

TBD

Summary

TBD

References

TBD

Complete Demo Code

Here’s the entire implementation up to this point as one file. Copy and paste it into a Java environment and execute it. If you don’t have Java, try this Online Java Environment. Play with the implementation. Copy and paste the code into Generative AI for analysis and comments.

NOTES

Continuing Education

Your Computer Science degree is not the end of your education.

It is just the beginning of your education. You’ve been studying Computer Science. Your career will be Software Engineering. They are related, but different as I described in You Studied Computer Science. Your Career Will Be Software Engineering.

Things will change from your academic career to your business career. The questions will be broader and less well defined. The answers will be fuzzy. The customer won’t be able to describe what they want, but they’ll know it when they see it. Or more likely, they tell you that what they see isn’t what they wanted. You’re not in it alone. You’re part of a team. Solve problems together. You can look for solutions anywhere.

Use LLMs thoughtfully and strategically to understand the business and technology but verify anything it produces. They hallucinate/confabulate results.

Use LLMs to summarize complex online company documents. Use LLMs to give you an understanding of what some legacy code does. However, do not put any company proprietary content, documentation or code, in a generic LLM, such as ChatGPT. We don’t know how it might absorb that content and redistribute it. Ask your mentor/manager which LLMs you can safely use. Hopefully, your new employer has a company-approved LLM that you can use safely.

Code Reviews Are Part of the Process

In college, you usually submit an assignment, receive a grade, and move on.
In industry, your work will be reviewed by other engineers before it becomes part of the product.

This is normal and healthy.

Code reviews are not criticism of you personally. They are how teams maintain quality, share knowledge, and help engineers learn from one another. Expect feedback, ask questions if something isn’t clear, and view the process as part of your growth as a software engineer.

Learning to Read Existing Code

Most assignments in college involve writing code from scratch. In industry, a large portion of your work will involve reading and understanding code written by other people.

Large codebases can take time to understand. This is normal. Focus on understanding small pieces at first, follow the flow of the code, and ask questions when something doesn’t make sense.

Reading code is an essential engineering skill, and it improves with practice.

The First-Year Learning Curve

It often takes several months before a new developer feels comfortable and productive in a professional codebase.

You are learning the product, the tools, the architecture, the business domain, and the team’s development practices all at the same time. That is a lot to absorb.

Feeling slow or overwhelmed during the first few months is normal. Stay curious, keep asking good questions, and focus on steady progress rather than immediate mastery.

Previous: Acquiring and Onboarding Your First Job

Next: WORK IN PROGRESS – Communication Patterns

Home: Design Pattern Evangelist Blog