Junior Developer Advice

I was recently asked about what I thought about code bootcamps, and I’m not sure that I trust bootcamps…I would much rather see this from a junior candidate:

• A well designed website that describes you, your background as well as any iOS projects that you’ve worked on

• Think of an idea for an iOS app and create a project for it.

• The project doesn’t have to be anything special, but does need to have a professional polish to it. Use a professional prototyping tool like Figma/Sketch/AdobeXd to document your designs. Use a professional graphics program like Illustrator/Inkscape to create images.

• Provide some documentation of how you designed & developed the project over time. This could be mutiple pages or a series of blog posts

• The documentation should cover both User Experience & UI and should highlight any user experience design decisions that were made

• The documentation should also describe any architectural decisions that were made.

• Every project doesn’t go exactly as planned so describe in detail any technical challenges that you faced and what steps you took to address them.

• The project should be under Git source control. I want to see the commits as well as the commit messages.

I would suggest investing some time to perform these steps and see how it goes before investing time & money into a bootcamp. Software Development isn’t for everybody, if you get discouraged and find that you hate solving problems, you should probably find another field because like 90% of a developers’ time is finding and fixing things that go wrong. If someone sent me a link to their project page, setup as I described above, I could determine…

• Can they complete a project? If you couldn’t perform all of the steps I described above then maybe this isn’t for them.

• Do they think about how the application will be used?

• Are they comfortable with modern design software?

• Can they communicate? Do they need to work on grammar / spelling?

• What does their code look like? Is it a mess, or is it clean? Is the code of fair complexity or is it just a few files of mostly boiler plate code?

• What do their github commit messages look like? Too much information or not enough?

• What big technical/architectural hurdles did they encounter? Did they address them, or just let them remain unresolved? Did they understand the issues before doing research on a solution to the issues? How did they perform research? Did they use stackoverflow, a slack channel, Apple documentation, etc.