For instance, I would like to learn a new technology, or consolidate one (for instance Node.js) that I know, but I can't because I cannot install Node.js, ore reach npm to install packages.
How can I use the time that I have available during work? What would you do?
Books are not a good idea because I don't think it would seems good to bring a book and study it at my desk
EDIT: I work in Banking and I cannot bring anything with me (such as my personal laptop). This means I am constricted to the use of my work PC. Something like repl could work, but for instance, that is not reachable for me
Your team lead might not have realised that the workload is becoming sporadic.
Speak to them, explain the situation, and ask if there are other smaller tasks you could use to fill in the gaps.
If it "wouldn't seem good to bring a book to study at my desk", then it's probably not a good idea to do effectively the same thing on the computer either.
You should go to your supervisor and tell them you either need more work, or would like to establish formal career growth goals.
If your supervisor is not receptive to this, it's time to start looking for another job.
The above assumes you're in a professional role. If you're a teller/clerk and there just aren't customers, I'm not sure - the bank very well may want you sitting idle and available for the next customer. Of course, if that's true, you probably need to look for a new job because they're over-staffed.
2. make use of Instapaper. save a bunch of articles to read into Instapaper the previous night, come to work and read them via Instapaper.
It will give you an IDE and a VM to build projects, and a big community to share/get inspired by. It's sort of like MySpace for web apps.
I learned Clojure at my last job when I had downtime. I was restricted from downloading Clojure dependencies which was a pain, so I either used mobile hotspot, or I used repl.it which has about every relevant language in the last 40 years. Many of them come with a web framework to make a web app (which they also host for you for free)
Here are some random suggestions:
- Solve algorithmic problems on Codewars or HackerRank
- Build an app on Python Anywhere (cloud9.io was a more convenient and versatile remote coding sandbox, but its UX has become much worse after they were acquired by AWS)
- Try to answer some questions on Stack Overflow
- Take a coding course on Codecademy
- Take a ML (or any other) course on Coursera
- Take a language course on Duolingo (you won't be able to do speaking exercises, but you'll still be able to learn)
- Write for your blog (on any platform that you can access - starting a site on your own domain is a good option because it will most likely not be blocked by your filters)
Some of these sites can be blocked on your machine, so choose what is available.
You could also become really, really good at using a text editor, it becomes a bit of a game and it's going to be useful for as long as you are planning to type.
I also work in a bank, and started spending some of my idle time preparing to organise meetups, invite external speakers, and find ideas that would contribute to tech for everybody. Things like pushing for the start of a tech blog for example. This usually requires finding the right people, know how to convince, and other things you won't get blocked on, while staying on the tech side. Or even spend time writing one pagers on how your company could become more efficient.
Just another perspective. Not everything you can learn has to do with your computer. you could also spend more time with some of your business pips for example and learn more from their processes.
If you really just want to iterate fast and write code all day, maybe your current environment is not the best for you :).
Define "clean" as you will for your work context.
Make good use of the time. Talk to your manager about things you could be doing that would improve the codebase you work on and enable you to learn new things. Better yet, make some suggestions.
As in your bank, proxy was very restrictive, a lot of the web wasn't reachable, but with my laptop when I had free time between projects or issues I could use them for something interesting, and management/security was OK with that.
Seems like hell, just get out of there if you can and have the chance to. In the meantime try to ask for other tasks, or try to refactor some code, there's always room for improvement somewhere, and it's better than looking at the clock for hours a day.
Good luck!
Pretty sure there is a codepen like site for nodejs too. Find it, build something.
These constitute a rabbit hole of extremely interesting documentation. They will help you improve as a developer, and more importantly broaden your horizons beyond what you ever thought was possible. Enjoy!
EDIT: One of my quants did such a great job with Jupiter notebook and anaconda that it is now added to the official list of softwares that we can request for installation.
You could learn some new tech/patterns on there including NodeJS (https://repl.it/languages/nodejs)
That said, you can go to LeetCode (or just email yourself screenshots of the problems) and then work on the solutions in Notepad++. Email those solutions to yourself and then, when you get home, you can submit those solutions for credit.
Alternative: use a RPi with your monitor/mouse/keyboard.