Ask HN: How can I prepare for my new job as a software developer?
21–30 of 45 posts
Re: Ask HN: How can I prepare for my new job as a software developer?
#22Also, if you have the contact info of any developer/lead you'll be working with, reach out to them and ask what you can get a jump start familiarizing yourself with. I've had interns do this and it definitely made a noticeable difference. I mostly told them to get familiar with the stack and gave them quality free resources (while stressing it was voluntary). They didn't come in an expert or anything, but it did seem to help their heads from spinning too much during the first day/week.
Re: Ask HN: How can I prepare for my new job as a software developer?
#23It is always the expectation of those charged with the task of training or managing you that early-on you will start slow and be an impediment to the company. If you can figure out a way to violate that expectation, e.g. produce something meaningful in your first 1-2 weeks, you will have made a good impression that will last for a while. Build on that impression.
Re: Ask HN: How can I prepare for my new job as a software developer?
#24Bring a notebook and a timer. Understand what your immediate report's expectations of you are and then set up a schedule for yourself to help yourself meet those expectations. I'm assuming that since it sounds like you're new/junior hire, the expectations, at least initially, will be low. Use this time to create a rhythm for yourself on a hour-to-hour, day-to-day, week-to-week basis so that you yourself can see your progress and understand what you're doing.
Nothing is more discouraging than being pumped for a job, putting in a lot of hours, but not really realizing where the time has gone (which was my experience initially) with very little positive results to show for.
Re: Ask HN: How can I prepare for my new job as a software developer?
#25Learn design patterns, approaches to getting requirements, and how to read/create diagrams.
Learn how to write unit tests.
Learn source control tools and how to use them. If it's a command line, know how to do this from the command line.
Learn best practices for your language and get really good at your editor/IDE. (For instance, I use VIM with syntastic and pylint to check PEP8 compliance).
Learn to type quickly and accurately. This helps with everything.
If you've done those, enjoy your Summer! It's the last one you'll ever have :).
Some other things that would be fun:
- Set up a Docker image
- Write a REST API server in Python on a Linux OS
- Build in authentication, authorization, documentation
- Have Docker build and run your REST API server
- Set up a load balancer container to distribute load between multiple Docker containers
- Set up a shared cache like Redis or Memcache with containers
- Set up a MySQL Database
- Write unit tests for API
- Have Docker container automatically build, test, and deploy when you check in code
That will bring up a lot of questions of how you design things and how everything is tied together. Maybe you will just be working on a small part of this, but then you might know why things are done a certain way or how to do them better. That's where you can make a difference and distinguish yourself. You can bring a fresh perspective. Don't take anything for granted. Ask questions when they need to be asked. Learn how things can be improved.
Re: Ask HN: How can I prepare for my new job as a software developer?
#26Re: Ask HN: How can I prepare for my new job as a software developer?
#27Learn the stack they use, play with it, make sure you understand it. Also, find out what version control system they use and get comfortable using it - source control's vital stuff when working in a team and something that you may well have not really used so far in CS.
Thanks, sound advice! I have already some experience with most of the tools they use but I was wondering if I should focus more on doing, e.g., programming challenges on sites like Top Coder or complete tutorial after tutorial about the stack. They use git by the way and I have been using it for a while now.
Re: Ask HN: How can I prepare for my new job as a software developer?
#28Learning their stack is good advice. You'll impress folks if you can hit the ground running. Another area that I'd recommend is start to learn the business domain. If your company builds accounting software - start to learn some basic accounting principles. If your company builds healthcare insurance software, start to learn about the relationships between healthcare providers, insurance providers, health plans, etc.…
Thank you for the advice. The company doesn't focus on any particular domain but handles many different projects.
Re: Ask HN: How can I prepare for my new job as a software developer?
#29Re: Ask HN: How can I prepare for my new job as a software developer?
#30If you're working on a large system and haven't worked with one, you're going to end up lost a lot. Debugging a complex web app is very different than debugging an algorithm.
Here is a blog post that discusses the topic and links to four books on the topic. David Agans' _Debugging_ ended up helping me quite a bit.
A second point I'd make is to learn the idea of refactoring as a systematic process. Early on, I wanted to refactor everything, but didn't know how to refactor safely and methodically. Martin Fowler's refactoring book is not exciting, but it gets the message across that refactoring is not just "changing stuff to make it better" but a process.