How to Survive Your First Week as a Software Engineer was originally published on Springboard.
So you’ve landed your first role as a software engineer—congrats! Now that you’ve signed your employment agreement and gone through any onboarding, you’re ready to dive into your first week on the job.
Use this handy guide to help you navigate your new role with confidence and purpose.
Get in the loop—and stay in it
After your commute—even if it’s just from your bed to your desk—and the desired form of caffeine, get ready to begin your first day (and every day) by checking emails, getting caught up on the news, and going through various communication and management platforms.
You’ll likely be using Slack, which is a secure channel-based messaging platform used to connect all software tools and services through integrations. (If you’re working at a bigger company, you’ll likely use Microsoft Teams instead).
Another popular project management tool is ClickUp, a cloud-based collaboration tool that includes communication tools, task assignments, and statuses, and alerts curated especially for developers. These platforms are used to keep track of various tasks and projects and keep you in the loop with the rest of your team.
Set up your browser and operating system
Before any serious development can begin, a crucial first step is setting up your computer. To make sure your first work week runs smoothly, remember to install multiple web browsers. You should have both Google Chrome and Mozilla Firefox browsers and choose one of them as your default. You will most likely use your main browser for development and web browsing and use the backup browser for accessing private accounts safely. Further, it’s better to keep one or two optional browsers ready for urgent use and cross-browser testing purposes (especially if you are a front-end developer).
Depending on your particular role, you’ll also want to choose an appropriate OS. This is the operating system that will run on your computer and is in charge of software and hardware, and managing your computer’s memory. Your OS also gives you the ability to communicate with your computer and pull data, information, and analytics. Expect to adjust to a pre-set OS system when you join a new team. For example, game developers will use Windows 10, while developers who work on heavy compilations and app building will choose macOS or a Linux distro to ensure efficient file read and write speeds. For UI, UX, and graphics, macOS and Windows10 outperform Linux distros.
Your first IDE: what you need to know
At the beginning of your first week, you should also set up your integrated development environment (IDE), which you’ll use to streamline the web development process. The IDE you set up will include text editors, compilers that will make your code readable, debuggers to test for errors, syntax highlighters to make your code easier to visualize, and more. In your first week, you’ll work to get yourself comfortable with any keyboard shortcuts and debugging options to save your time. You’ll also get to personalize your theme, fonts, and colors in the IDE.
The IDE you’ll end up working in will most likely be based on the technology stacks used by your new teams, such as Jetbrains IDE suite, VS Code, Eclipse, and Atom.
Make sure you come prepared with questions for your teammates. Here are a few good examples:
- What programming language and framework does your team work with, and which debugging tools should I be familiar with (in-browser and otherwise)?
- How does your team leverage version control across teams—or do you use another tool?
- Which SQL database do you use, and should I come prepped with my own IDE or is yours used across the team?
- What should I expect to encounter beyond my OS: do you use separate virtual environments, web APIs, or have team-specific HTTP protocols?
You might be wondering why the IDE is so crucial to get right from the start. It’s important to remember that your development environment will be insular, meaning you won’t actually see how your individual code interacts with the rest of the system. Your IDE entirely exists to be a sandbox for you and your team to try out new features and improvements. None of the data will carry over, so this is the optimal time and place for conducting code reviews: catching bugs in the development environment stage will save you tons of time in later environments.
How to choose the right IDE for you
Now that you’re familiar with the general framework and cadence of the path to production, let’s dive into some of the nuances. While the development environment you’ll find yourself walking into in your first job as a software engineer will depend foremost on your language and operating system, we’ve put together a few of the most common ones to give you a taste of what you might expect.
When using Java, you’ll need to install JDK (Java Development Kit) and JRE (Java Runtime Environment) on your machine. There are multiple IDEs available: the traditional system is called Eclipse, and newer engineers lean toward using IntelliJ.
Once in a while, you’ll encounter NetBeans, although this one is not as common. Nearly all of your development will happen within these IDEs—they’ll even have plugins for build systems like Maven, Gradle, and annotation processors like Lombok. If you’re writing Android code, you’ll likely use the native Android studio, which is based on IntelliJ.
Developing for iOS leaves you with fewer options in terms of choice. Unless you want to use React Native to build a web app-turned-mobile-app, you will have to have a Mac device and use XCode—Apple’s proprietary IDE. The two main languages used for iOS development are Objective C and Swift, the latter of which is simpler, though less versatile. Having an iOS device on-hand to test your changes will give you significant peace of mind when testing for bugs.
First-week-on-the-job hacks for coders
Now that the tech stuff is out of the way, here are a few tips and tricks to make sure your first week goes as smoothly as possible—and sets you up for success later on.
- Find a mentor. Finding a mentor right away is a major key to success. This way, you can get firsthand knowledge of various team expectations and details. It can be very helpful to get a copy of your mentor’s GIT and IRB configurations and customize it to your own liking.
- Get coding. When it comes time to start your own coding, it helps to work on some tests for existing events to help you understand how each code library works. Reviewing and merging pull requests is a great way to learn: you can review the request, make notes about what you didn’t understand, and then ask questions.
- Be social. There are tons of public resources out there that can help you along the way. Seek out encouragement from forums, bloggers, and websites. Attend tech meetups and conventions to build your skillset and find friends and mentors in your field. The tech industry is community-based, and there are thousands of people giving out advice, sharing code, and sharing their stories.
- Take notes. During the first week, you will be bombarded with important information via orientations, tours, and company history. It’s easy to feel bogged down from information overload, and helpful facts may not be absorbed. To make yourself stand out by knowing company facts and to avoid anything slipping through the cracks, carry around a notebook and a pen to jot down what you need to know.
At the beginning of the workweek, you can expect a teamwide planning meeting where a small group of people that are working on a particular project will come together to go over any progress that has been made, discuss goals and strategies, and plan out the work for the upcoming cycle. Use this as a time to introduce yourself, meet your coworkers, and get a feel for the company culture.
By the middle of the week, there will be a few stand-up meetings. These will be short, recurring meetings of less than seven people to give status updates on projects, make sure the schedule is on track, and unblock people who are stuck. This will be a great time to put out any first week fires, ask any questions, and form relationships with your team.
A retrospective meeting—where the project group reflects on a specific period of work—will occur towards the end of the week. In these meetings, you will discuss what went well and what could have been done better. Make sure you are asking questions, thanking your coworkers for any help or advice given during week one, and figuring out where you fit in best on the team.
If you’re working at a startup, you should expect to wear a lot of hats as a software engineer. You will be involved in not only software engineering, but marketing, IT infrastructure, and more. Expect to have a lot of responsibility, which means having a large impact.
Most likely, you are on a very small team of developers, if not the only one—which means your code will be going into production. Startups are at the forefront of new tech, so you can expect a lot of change and adjusting all the time. Your environment will be highly dynamic, and your role will be extremely visible.
Starting at a big company, you will have less freedom—but more structure. For the most part, you’re not going to be able to write as much code as you would think. You’re a part of a large group, so meetings, calls, and collaborative projects will be a big portion of your day. Big companies come with red tape and politics, but they also have a lot of room for growth, provide more security, and give you the opportunity to work on huge, well-known projects that make an impact.
Keep calm, cool, and collected while you code
Your first few days will be full of onboarding events, infrastructure overviews, discussing code and company culture with mentors, and sitting in on meetings and tasks where you can learn more about the company. This applies whether you’re a full-time software engineer or in a part-time role.
By the end of the week, once everything is prepared and organized, the time finally comes where you get to begin writing code. Expect commits and code reviews, changes, and even more commits.
Here are a few additional tidbits to keep you on the road to success:
- Never assume anything. Despite how much experience you may have, you will never know everything. Be open to learning and constructive criticism, and don’t hesitate to ask questions.
- When an error is found, check your code. Do not be overconfident and refuse to check, because many times it will be in your code. This is a common rookie mistake, and very easy to avoid.
- Focus on your learning rate, not your reputation. When faced with a decision, always keep the long run top of mind. Your first week is when you’re expected to make mistakes, so make them. Don’t avoid challenges, because they will eventually come up again, and you should be prepared for the next one.
At the end of your first week, you’ll be exhausted, but it’s nothing you can’t handle. Be ready to take in a lot of information and do your homework on new systems and new code. Do not get overly stressed, as a bit of overwhelm is completely normal.
Just ask questions as they come up and don’t hesitate in asking for help. Focus on building relationships with your coworkers to help ease any stress and understand your expected timeline.
And remember—everyone feels like they know nothing in their first week, but before you know it, new skills and frameworks will become second nature. Everyone at your company has experienced their first week, so they’ll be more than happy to guide you through it all.
For more information about software engineering careers, job guides, and salary information, check out Springboard’s comprehensive guide to becoming a software engineer.
The post How to Survive Your First Week as a Software Engineer appeared first on Springboard Blog.